天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

【t_wada & masuidrive CARTA探訪】スタッフエンジニアというキャリアに参加してきた

cartaholdings.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

以下、イベントページから引用です。

「スタッフエンジニア」という言葉を聞いたことがありますか?

欧米の大手テクノロジー企業で広く認知されている役職ですが、日本では聞き馴染みのない方も多いと思います。

そんな中、2023年5月に書籍「スタッフエンジニア-マネジメントを超えるリーダーシップ」が出版され、「スタッフエンジニア」という役職への認知が業界へ認知が広まってきています。 このイベントでは書籍の監修・解説を担当されたmasuidriveさんをお招きしスタッフエンジニアという役職について学びます。

また、モデレータとして、書籍『事業をエンジニアリングする技術者たち―フルサイクル開発者がつくるCARTAの現場』を編集いただいた和田さんを加えて、ITエンジニアでのキャリア論についてこれまでの経験をもとに語っていただきます。

イベント後半では、CARTA HOLDINGSが考えるスタッフエンジニアajiyoshiとのディスカッションを通じて、今後エンジニアとしてどのように生きていくべきなのかを深堀していきます。

会の様子

基調講演

Staff Engineerとは

Staffとは参謀であり、原型として以下の4タイプに分かれるという話がありました。

  • テックリード(チームの技術的なビジョンを決める中心人物。難しいコードを書いたり技術選定も行う。チームの中でスクラムイベントに参加する)
  • アーキテクト(インフラ/DB/APIなど複数のセッションにまたがる複雑で変化し続ける設計を維持する仕組みや調整を行う。メンバーと活動するというよりは経営層などと話をすることも多い)
  • ソルバー(重要かつ複雑な問題を解決する火消し的な役割を担う)
  • 右腕(CTO室的なメンバー。火消しを基本的には行うがソルバーとの違いとしては、CTOの代理として動くことが多いことと技術だけに必ずしもとらわれないことが挙げられる)

また、最近は個人のスキルや知識、経験を活用して目標を達成するICという役割も出てきているということでした。

Staff Engineerになることで、意思決定を任せてもらえたり高い給与がもらえるといったメリットがありますが、会社や既存のStaff Engineerに「認められる」ことが重要なため、簡単になることはできないという話がありました。

Staff Engineerの活動内容
  • 重要なことに力を注ぐ
  • エンジニアリング戦略を立てる
  • 技術品質を監視する
  • 権威と歩調を合わせる
  • リードするには従うことも必要
  • 絶対に間違えない方法を学ぶ
  • スペースを設ける
  • ネットワークを作る
  • 後進を育てる
  • メンタリング

といった内容が挙げられるそうです。
この活動をしていくにあたっては「エゴを捨てる」ということが重要だという話もありました。

Staff Engineerに必要な実力を身につけるためには?

技術が好きだという話や技術力なら負けないという人よりも組織に対して貢献ができるのか?という方がStaff Engineerになる上では重要だという話がありました。

パネルディスカッション1

続いて、幾つかのトークテーマについて増井さんt_wadaさんでパネルディスカッションがありました。以下、テーマごとに内容を記載していきます。

書籍の内容で重点的に読んでほしいこと

増井さんはプロモーションバケットの部分を重点的に読んでほしいということでした。
増井さん的には、日本ではあまり根付いていない部分であるものの、転職活動をしていなくても色々な人にインタビューして履歴書をインクリメンタルにアップデートしていくことはぜひしてみて欲しいということです。

他にも、インポスター症候群の部分も読んでほしいということで、少々前のめりでも良いのでぜひ自分をアピールしてほしいということでした。こうしたインポスター症候群にみんなが悩んでいるという事例が聞けるのも非常に良いと思うというお話でした。

増井さんが監修したきっかけ

20年前に日経Linuxでライターとして活動していたときの編集者の方から声がかかったということでした。

インタビューした人の人選

等身大の人を探すことと、増井さん自身がスタッフエンジニアとして聞いて違和感がない方をインタビューしたということでした。

プロモーションバケットをChatGPTで書くなら?

ChatGPTで書くなら、自身が言いたいことが全て網羅できているかの確認や、伝えたいポイントごとの点数などを出してもらうようなプロンプトを作ると思うということでした。

キャリア問題は技術職ならではと思ったのだが他の業界ではどうなのか?

製造業とかでもある話ですし、技術職が確立する前から海外ではスタッフエンジニアという概念があったというお話がありました。

パネルディスカッション2

続いて、スタッフエンジニアであるajiyoshiさんを中心にパネルディスカッションがされていきました。

こちらもテーマごとに内容を記載していきます。

普段何をしているのか?

一日の半分以上はコーディングしているということで、コーディング以外だと面接やプロモーションバケットのレビュー(技術者評価会議)もしているということでした。

役割としては、本書の中でいうとソルバーにあたると思うということで、具体的な掛け算っぽい仕事だと、ChatGPTのGPT4を社員全員が課金せずとも触れるようにしたという例が挙がっていました。

スタッフエンジニアのキャリアを歩みだしたきっかけ

ずっとコードを書き続けた結果信頼を得ることができたことがきっかけだという話がありました。
ajiyoshiさんは自分が会社にとって必要だと思ったことをどんどんやっていたということです。

スタッフエンジニア育成を社内でサポートするためには?

まず、技術力を最も高くする必要があるというわけではないという前提が話されました。

そのため、技術的なTopクラスや黒帯といった器を用意するのではなく、技術者としてサポートする動きができるようにしていく必要があるそうです。

信頼を得るために意識していること

ajiyoshiさんはJoel on softwareの「下っ端でも何かを成し遂げる方法」にある「射撃しつつ前進」のエッセイに影響を受けているそうで、『ただかけがえのないものになれ』というメッセージを大事にしているということでした。

ただ、これだと回答としてはトートロジーっぽくなるため、本の言葉で伝えるなら「まともな問題を立ててまともに問題を解け」くらいの表現になるということでした。
まともさの指標としては、会社が儲かるか?や技術的に正しいか?が入ってくるそうです。

フリーランスとしてスタッフエンジニアで働くのは難しいのか?

スタッフエンジニアという名前で動くことは厳しいというお話でしたが、技術顧問的な役割なら動きとして近いことはできるのじゃないか?ということでした。

スタッフエンジニアがやる1on1とマネージャーがやる1on1の違いは?

そんなに思いつかないということでしたが、マネージャーだと「チームとして」みたいな話になりがちなことは多くてスタッフエンジニアは「個人として」みたいな話になりがちなのではないか?ということでした。

技術力評価会はどのように導入してくるとよいか?

前提として、社内で絶対的に技術的に信頼されている人がレビュワーとして入る必要があるということでした。

その上で、まずは一度やってみることが重要(ただし難しいとは思う)ということでした。

足し算の仕事と掛け算の仕事の違いは?

掛け算の仕事は、チーム全体の成果を最大化できるような仕事に値すると思うというお話がありました。

なお、こういう「掛け算の仕事」という軸を持つと、マネージャーの仕事と似ているというお話も出ていました。

ICとソルバーの違いは?

部下がいるかいないかはそこまで関係ないということでした。
一番大きな違いとしては、問題ドリブンで上から入っていくのか?という観点やチームの中でどれくらい働くのかが変わってくるというお話でした。

ライフステージが変化した時にスタッフエンジニアになにか働きかけることはあるか?

色々な経験が視点を変えるというものがあるので、ライフステージが変わったことでスタッフエンジニアとしてのスキルが上がることもあるのではないか?というお話が出ていました。

会全体を通した感想

増井さんやt_wadaさんの話ももちろんよかったのですが、実際にスタッフエンジニアとして活躍をされているajiyoshiさんの話が聞けたのがすごくよかったです。

Joel on softwareのエッセイは非常に気になったので、ぜひ読んでみようと思いました。