yigarashiのブログ

学んだことや考えていることを書きます

安定して成果を出せるエンジニアへの近道

ソフトウェアエンジニアとして安定した成果を出したいと思っている人は多いでしょう。妥当な方針を危なげなく定め、素早く的確に実装し、滞りなく仕事を片付けていきたいものです。しかし、いつでもそのように成果を出せるようになるのは簡単ではありません…

プロダクト開発チームの分断に立ち向かう

先日のRSGT2023で以下の発表がありました。「自分がそれほどプロダクト開発に興味がないことに気づく」は自分自身にも心当たりがありますし、プロダクト開発チームのリアルを言語化した発表だと思いました。この発表では、そうした言語化を受けてどうするの…

エンジニアを増員するロジックについて考える

ソフトウェア開発で、より早くより多く価値を届けたいと考えた時、エンジニアの増員は有力な選択肢です。もちろん、人月の神話などで語られるように、人を増やしただけ線形に生産力が向上するというシンプルな世界ではありません。それでも多くの現場でエン…

EMキャリアを切り拓く「最強の現場リーダー」という働き方

このエントリはEngineering Manager Advent Calendar 202213日目の記事です。 まえがき このエントリは、以下のPodcastで話した内容を掘り下げて整理したものです。Podcastの方では本エントリで触れていないチームの具体的な様子等についても話しているので…

スクラムチームを3年リードして得た学びと目線

この記事ははてなエンジニア Advent Calendar 20227日目の記事です。 昨日は id:utgwkk さんでした。 さて、今日はスクラムの話です。スクラムの導入とリードは自分のキャリアにおける重要な仕事のひとつで、気づけば3年ほどスクラムと取っ組み合ってきまし…

段取りとマイクロマネジメントとスクラム

仕事ができるエンジニアはだいたい段取りがうまい。達成したいゴールがあるときに、AとBとCをやる必要があって、Bはわからないことが多いから先にやろうとか、AとCは並行してできるからCを誰かにお願いしようとか、とにかく目標を達成するための道のりをうま…

プロダクトの非機能的な改善の工数をどう確保するか

プロダクトの非機能的な改善をビジネスの中でどのように進めるかは、多くのチームが頭を悩ませる課題であると思います。本記事では私が最近考えていることをまとめてみようと思います。主に自社プロダクトの継続開発を想定した議論をします。 前提 まず非機…

User Agent文字列を使ったブラウザ判定の事例 2022年版

やむを得ず、User Agent文字列を使って特定のブラウザ向けにJavaScriptの処理を分岐する必要が生まれてしまったので、調査・検討のログを記事にまとめます。 基本的にはバッドプラクティスである ユーザーエージェント文字列を用いたブラウザーの判定 - HTTP…

Four Keysがなぜ重要なのか - 開発チームのパフォーマンスを改善する方法について

ソフトウェアエンジニアとして働き始めて以来、ずっとソフトウェアデリバリーのパフォーマンスに興味を持って、さまざまな改善活動をしてきた。当初はスクラムを中心としたプロセスの改善に注力したが、最近はチームの成熟に伴って技術的なプラクティスに興…

スキルマップに採用する予定の技術も書いてみている

スキルマップとは スキルマップは、チームで使っている技術を各メンバーがどのくらい習得しているかを集計したものです。スプレッドシートで表を書いてメンテナンスしているチームが多いのではないかと思います。このアクティビティのメリットは以下のような…

「職能横断チーム」の実践におけるアンチパターンと対策

近年のアジャイルムーブメントにおいて「職能横断チーム」は当たり前の概念になっています。ユーザーに価値を届けるのに必要なあらゆる機能をチームが備え自律的にコントロールすることで、リードタイムを短縮するとともに、イノベーションが起こりやすい環…

チームのベロシティを上げる vs. 安定させる

タイトルの議論はよく見られるもので、スクラムコーチの間ですら(一見すると)意見が分かれることがあるようです。自分は「安定させる」派だったのですが、CSPO研修を受講したチームのPOが「上げる」派のコーチングを受けてきて、改めてチームとしてどうい…

チームが重要な目標にリソースを使えているか可視化する

リソースを集中させるのは難しい プロダクト作りにおいては、一番効果が高いところにリソースを集中しリードタイムを縮めるのが良いとされています。スクラムをやっているなら、ただひとつのプロダクトゴールが掲げられていて、そのためのプロダクトバックロ…

がんばりすぎないふりかえりのススメ

がんばりすぎてふりかえりを嫌いになった 自分たちのやりかたを検査して改善するふりかえり。巷には様々な思想やフレークワークが出回っています。チームからうまく情報を引き出したり、教訓に昇華したり、SMARTなアクションを設定することも大事です。そう…

高すぎる認知負荷が生むサービスの袋小路とエンジニアリングマネージャーの役割

最近流行りの「チームトポロジー」では、フローが改善するようにチームの認知負荷をコントロールすることが述べられています。そのためには組織とアーキテクチャをうまく変化させていく必要があり、いくつか主要な考え方やパターンが紹介されています。詳し…

「エラスティックリーダーシップ」でソフトウェア開発をうまくリードする方法を考える

僕にはリーダーシップがわからない。しかし無策で取り組むべきでないことだけはわかる。 ということで、自分の周囲で共通言語としてよく参照されている「エラスティックリーダーシップ」を読むことにした。自分は新米リーダーとして困りをたくさん抱えている…

テックリードとしてシステムの未来を示して品質の期待を合わせる

最近チームのテックリードを拝命して、テクノロジーマネジメント領域もリードすることになりました。興味の中心は開発プロセスやデリバリーで、エンジニアリングはまだまだひよっこなので苦労の日々が続いています。この記事では新米テックリードとしての取…

Scrapboxの献立リストから食べるものを自動で決める

今日は豚の味噌漬けを食べた。コロナ禍に入ってから食事のほとんどを自炊でまかなっている。週に2回スーパーに買い出しに行くのだが、そんなに長居したいご時世でもないので、買い出し前夜に献立を計画して何を買うかメモするようにしている。 しかしこの計…

上司とのシンクロ率を高める

最近、指揮系統ツリーの真ん中くらいでリーダーシップを発揮することが増えてきました。つまり自分に上司も部下もいるという状態です(業界的には上司、部下という雰囲気ではないですが便宜上)。そこでうまくやる方法を色々と考えているのですが、そのひと…

計画は総量を増やす! - プロジェクト進行と計画の量のイメージ

※本記事では継続開発をしているスクラムチームがまとまった機能をリリースする状況を想像してください。関係者は多くとも10人程度で、期間は3ヶ月程度のシンプルなものです。 プロジェクトのフェーズごとに適切な計画の量をイメージして共有できると上手くい…

エンジニアの異動は推奨すべきなのか? - 組織の成長について考える

最近エンジニアの異動について軽く議論することがありました。自分はチームの安定性の側面からやや否定的な立場だったのですが、その議論で刺激を受けて周辺領域も含めて考え直したところ、組織の成長という軸で色々な知識がつながって面白かったのでまとめ…

「Measure What Matters」を読んで思うOKR導入の困難さ

ここ半年でメンティーを2名持ち、1on1によるメンタリングと評価プロセスの一部を担っています。その過程で、目標設定や評価をもっと良くしたいと思うようになりました。せっかく時間を使うなら、成長を支援する、パフォーマンスを引き出す、上位の目標を意識…

「チームトポロジー」を読んで組織とシステムを設計するための知見を得た

チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計を読みました。チームの形やインタラクション、担当プロダクトの認知負荷について悩んでいたので、何かまとまった知識をインプットしたいと思って手に取りました。内容は期待以上で、組…

毎日メンティーと一緒にコードを読むと良いことがたくさんある

最近、毎朝30分メンティーと一緒にコードを読む活動を始めました。早朝に集まって稽古をつける感じが道場っぽいと思って「コードリーディング道場」と名付けました。 やり方 会話して画面共有できる環境に集まる メンティーに調査したい内容を決めてもらう …

webextension-polyfill-tsの型定義の自動生成がバグっていたので直した

Fix type generation for WebExtensionManifest.commands by yigarashi-9 · Pull Request #66 · Lusito/webextension-polyfill-ts 珍しくOSS活動をしたので簡単に報告記事を書く。 問題 最近ブラウザ拡張をよく触っている。同僚がmanifest.jsonをTypeScript…

AWS ECSのログを無難に見られるようになるための覚え書き

自分が関わっているサービスが徐々にECSに移転している。CloudWatchログのコンソールやチームのドキュメントにあるawslogsコマンドをなんとなく使ってログを見ていたものの、不必要なログが混ざったりして困ることがあった。テクノロジー面のモチベーション…

はじめてのエンジニア1on1メンター

ピープルマネジメントの文脈でエンジニア同士のメンタリング制度を設置しているIT企業は多いと思います。自分が勤める会社も例に漏れず、1on1によるメンタリング制度があります。エンジニアリングマネージャーを目指す若者の戦略 - yigarashiのブログ でも整…

エンジニアリングマネージャーを目指す若者の戦略

企業でWebアプリケーションエンジニアとして働き始めて2年と4ヶ月ほど経ちました。様々な仕事を経て、自分が向いていることや楽しく感じることが徐々に明らかになり、数年後になりたい像がぼんやりと浮かび上がってきました。そして、その将来像が世間的には…

チームが大きくなったらふりかえりをどうしたらよいのか

どうしたら良いんでしょうね。大きくなったら、というのは15〜20人くらいを想定しています。絶賛困っているので論点を整理するために考えていることを書き出してみます。 何に困っているか 素朴に1グループで会話すると発話できる人が減る 話題のスコープが…

なぜ俺たちはタスクを分割するのか

開発のプラクティスとして大きいタスクを小さく分割するというのがある。しかしよく考えると何が嬉しいかを的確に説明するのが難しいプラクティスだと思う。現在進行形でチームに広めようとしてうまく言葉が出なくて困っている。なぜ俺たちはタスクを分割す…