タグ

ブックマーク / yigarashi.hatenablog.com (6)

  • エンジニアを増員するロジックについて考える - yigarashiのブログ

    ソフトウェア開発で、より早くより多く価値を届けたいと考えた時、エンジニアの増員は有力な選択肢です。もちろん、人月の神話などで語られるように、人を増やしただけ線形に生産力が向上するというシンプルな世界ではありません。それでも多くの現場でエンジニアの増員が行われます。自分のチームでも、とりあえずエンジニアを増員すれば、いくつかの問題が解決してくれるような気もします。雑談ベースでメンターなどにこういう話を出してみるわけですが、改めて「なぜエンジニアを増員したいのか」と問われると、これが意外と広がりのある議論であることがわかってきました。記事では、エンジニアを増員するロジックについて、自分が思考を広げられた範囲で書いてみます。 作り切りの場合は明快 まずエンジニア増員のロジックを素朴に立てられるのは作り切りの場合です。ある程度の規模のものを丸々作り切らないといけないケースです。締め切りがあること

    エンジニアを増員するロジックについて考える - yigarashiのブログ
  • User Agent文字列を使ったブラウザ判定の事例 2022年版 - yigarashiのブログ

    やむを得ず、User Agent文字列を使って特定のブラウザ向けにJavaScriptの処理を分岐する必要が生まれてしまったので、調査・検討のログを記事にまとめます。 基的にはバッドプラクティスである ユーザーエージェント文字列を用いたブラウザーの判定 - HTTP | MDN まずはMDNがドキュメントを公開しているので読みましょう。要点は以下です。 基的にUser Agent文字列に基づいて処理を出し分けるのはバッドプラクティス 多くのケースではUser Agent文字列を使うよりも良い手段がある 例えば特定の機能の実装状況に基づく分岐を行いたければそれを直接検出する それでもやむを得ない場合、User Agent文字列からブラウザ名、レンダリングエンジン、バージョン、OS、端末といった情報を取得することができる ただし各ブラウザのUser Agent文字列は嘘をついていることもあ

    User Agent文字列を使ったブラウザ判定の事例 2022年版 - yigarashiのブログ
  • 「職能横断チーム」の実践におけるアンチパターンと対策 - yigarashiのブログ

    近年のアジャイルムーブメントにおいて「職能横断チーム」は当たり前の概念になっています。ユーザーに価値を届けるのに必要なあらゆる機能をチームが備え自律的にコントロールすることで、リードタイムを短縮するとともに、イノベーションが起こりやすい環境を作ることができます。しかしながら、7〜8人を超える大きめの集団になってくると、開発の効率を著しく下げるアンチパターンを踏んでしまうことがあります。 「職能横断チーム」の実践におけるアンチパターン そのアンチパターンとは「いつも全員一緒」です。バックエンドエンジニアだろうとアプリエンジニアだろうと、デザイナーだろうとプランナーだろうと関係なくとにかく全員です。サイロ化のカウンターとしての「職能横断チーム」に囚われ過ぎてしまって、チーム内に部分集合を作ることを極端に避けてしまっている状態です。その結果、10人もいる会を開いて細かい相談で時間が伸びたり、そも

    「職能横断チーム」の実践におけるアンチパターンと対策 - yigarashiのブログ
    mizdra
    mizdra 2022/05/18
    チームが大きくなった時に「いつも全員一緒」というアンチパターンから抜け出すために意識するべきことについて。極端であることを認識する、大本の目的に立ち戻って考えるの大事ですよね。良い記事。
  • エンジニアリングマネージャーを目指す若者の戦略 - yigarashiのブログ

    企業でWebアプリケーションエンジニアとして働き始めて2年と4ヶ月ほど経ちました。様々な仕事を経て、自分が向いていることや楽しく感じることが徐々に明らかになり、数年後になりたい像がぼんやりと浮かび上がってきました。そして、その将来像が世間的には「エンジニアリングマネージャー」(以降EM)と呼ばれていることもわかってきました。この記事では、EMについて自分が周囲から受け取った知識を整理するとともに、そこに向けてどんな戦略を取ろうとしているかをまとめてみます。マネージャーというとネガティブなイメージも拭えませんが、EMは年を重ねて吸い込まれるものではなく、積極的に取りに行くに値する面白いポジションであると思います。この記事を読んでEMに魅力を感じる同世代の仲間が増えると嬉しく思います。 EMについての理解 エンジニアリングマネージャーという職務についてのオーバービューは、広木大地さんによるエン

    エンジニアリングマネージャーを目指す若者の戦略 - yigarashiのブログ
    mizdra
    mizdra 2022/02/06
  • 【React】カスタムフックでstatefulなコンポーネントを整理する - yigarashiのブログ

    こんにちは。最近は仕事React を書き始めました。数年前に React を触った時は class component をせっせと書いた覚えがあるのですが、最近は functional component と react hooks を組み合わせて書くこともできるようです。react hooks の概要は公式ドキュメント等を読んでもらうことにして、記事では、自作のカスタムフックで stateful なコンポーネントを整理する一例を紹介し、それによって享受できるメリットを少し深掘りしたいと思います。 整理する前のコード まずは僕が最初にお試しで書いた TypeScript のコードをお見せします。インターネットに転がっている例をつぎはぎして、見よう見まねで書いた投稿フォームです。コード中の useQuery は、apollo client のフックで、与えられた GraphQL クエリ

    【React】カスタムフックでstatefulなコンポーネントを整理する - yigarashiのブログ
  • Apollo ClientのInMemoryCacheとMutationに関する調査・考察 - yigarashiのブログ

    記事は はてなエンジニアAdvent Calendar 2019 3日目のエントリーです。 はじめに Apollo Client (執筆時 v2.6.4)は、Apollo プラットフォームが提供する JavaScript で実装された GraphQL クライアントです。Apollo Client には InMemoryCache (執筆時 v1.6.3)という強力なキャッシュ機構が用意されており、クエリの結果をキャッシュすることができます。このキャッシュ機構は、多くの場面で API サーバーとの通信回数を削減しパフォーマンスの向上に貢献します。しかし、Mutation によるオブジェクトの作成・更新・削除を行う際には、Apollo Client を使う側がその変更をキャッシュに反映するよう意識する必要があります。例えば、オブジェクトAを含むリストがキャッシュされていたとして、オブジェクト

    Apollo ClientのInMemoryCacheとMutationに関する調査・考察 - yigarashiのブログ
    mizdra
    mizdra 2021/01/04
    Apollo ClientのInMemoryCacheの仕組みとキャッシュの更新方法について。様々なキャッシュの更新方法をどう使い分けていくかといった判断の基準について解説されている。悩みがちなので助かる。
  • 1