シニアエンジニアというものへの解像度を上げたくて読んでみた。スタッフエンジニアのタイプと、役割についてなんとなく理解。リーダー・マネジメント論のエンジニア版という感じ。
以下、気になったとこだけメモ
スタッフエンジニアの典型的な4つのタイプ
テックリード
- 最も一般的
- タスクの着手と遂行において、1つのチームまたは複数のチームを率いる
- 複雑なタスクを見通し、チームをその解決に導き、その際の障壁を取り除く能力を持つ
- 多くの人にとって、スタッフエンジニアとして最初に経験する
アーキテクト
- 企業内の特定の技術分野(APIデザイン、フロントエンドスタック、ストレージ戦略、クラウドインフラストラクチャ、etc)を成功に導く責任を負う
- 複雑で、かつ会社の成功にとって中心的な分野にアーキテクトの存在が求められる
- コードベースに深く携わらせる会社もあれば、アーキテクトはコードを必要がないと明言する会社もある
ソルバー
- 会社が重要と認め、かつ明確な解決策が欠けているか、もしくは実行する際のリスクが極めて高いと考えられる問題に取り組む
- ほかのスタッフレベルの役割は組織とのすり合わせに多くの労力を割くが、ソルバーは組織が優先事項と認めた問題にかかわるため上層部の説得などを行う必要はない。
- 最小単位はチームでなく個人とみなす企業で多く見られる
- そういった会社では、テックリードよりソルバーの方が多い
右腕
- 上級の組織リーダーではあるが、直接的には経営的責任を負わない人物
- リーダーの会議に同席し、彼らの抱える大きな問題を取り除くことによって、リーダーの影響力を拡大させる
- ビジネス・技術・人・文化・プロセスなど、純粋に技術だけの問題は少ない
- 数百人規模の会社にいる
- 火事場に飛び込み、アプローチを修正し、チームに実行を委ね、次の火事場へと直行する
- 常に本当に重要な問題に関われる喜び
- 問題が解決される場面には立ち会えない
スタッフとしての役割
重要なことに力を注ぐ
エンジニアリング戦略を立てる
技術品質を管理する
権威と歩調を合わせる
リードするには従うことも必要
- 最優先事項を常に意識する。
- 「ここでやることが、6ヶ月後の自分に大きな意味を持つだろうか?」と自問してみる。答えがNoならその機会はフォロー側に回るとよい
絶対に間違えない方法を学ぶ
- 上級のテクニカルリーダーになるには、技術とアーキテクチャに関して深い洞察をえなければならない
- 上級のテクニカルリーダーとして活動するには、技術という宗教に対して実用主義的な立場を貫き、全てを知ることはできないと深く認識し、自分自身に対して懐疑的であり続ける必要がある
他人のスペース(余地)を設ける
ネットワークを築く
- 個人的な人間関係のつながりが、キャリアを救いキャリアを作る
- 量より質