この記事はユアマイスター Advent Calendar 2020 4日目の記事です。
僕はエンジニアチーム内でリーダーという役割を持っています。今回は社員数20名〜50名へ増加していくタイミングにおいて、
「エンジニアリーダーが担う職務にどんなものがあったのか」
を、実体験交えながら言語化してみようかと。今年のインプット、今年のうちにアウトプット!
そもそもエンジニアリーダーについて棚卸ししようと思ったきっかけ
僕、ユアマイスターに入社してからエンジニアリーダーを始めて1.5年くらい経つのですが、当時からずっと
「エンジニアのリーダーって具体的に何をやる役割なのだろう?」
って思っていたのがありまして。自分が今まで培った技術をチーム内に還元したりエンジニア採用やったりするのは勿論そうなのだけど、なんというか、
「何をやったら会社の将来の方向性として確からしいのかが分からない…」
という感触が結構自分をモヤっとさせていて、リーダーという立ち位置について芯を通して言語化しながら周囲に説明するのが非常に難しく感じていたのです。
会社のロードマップと戦略が固まってから状況が好転し始めた
それが解消されるようになったのは、社内でロードマップとプロダクト戦略が固まってからだったかと。ロードマップが固まったことで、自分たちがやるべきことの正当性が明確になったというか。その頃から、
リーダーとしてやるべきことの内容に「確からしさ」が生まれる
ようになり、そこからリーダーとしての職務が明確になってきたのです。
つまるところ、ロードマップありきじゃないとエンジニアリーダーの職務に対して確からしさが生まれないというのが最近得た大きな教訓でした。なんか、今回の記事の中でも一番大事なことを語っている気がするぞ。
エンジニアリーダーの職務候補
では本題に戻りましょう。リストアップするとこんな感じ:
[1] 社内開発フロー面
- 他チームからの開発依頼フロー整備
- 各種開発優先度決め → スケジュール組み立て → 進捗周知
- データ計測のための土台作り
- 障害対応&報告
[2] テクノロジー面
- 技術選定
- コーディング等各種規約策定
- システムアーキテクチャ設計
- チームメンバーの技術力向上のための仕組み作り
- セキュリティ対策
[3] エンジニアリング組織面
- 会社全体の戦略に基づき、 チーム分け/エンジニア採用/次期リーダー育成を執行
- 主体性を発揮しやすい環境作り
- チームメンバーのキャリア設計を一緒に考える
…以上のように、大きく分けると3つの区分があり、それぞれに細分化されたTODOがあるという構成。かなり多岐にわたるため、実際には1人のエンジニアリーダーだけでなくCTOやチームメンバーを巻き込んで分担することが多かったです。ちなみに会社全体の戦略は、リーダーより上のレイヤーの人(CTO等)が中心に組み立てていくイメージ。
社員数20名のエンジニアリーダーの職務
このフェーズではエンジニアチームが5~10人くらいを想定。
運営するサービスとしては必要とされる機能が明確であり、とにかくガンガン機能追加していくために最適化された職務を担いたいので、テクノロジー面に比重を置きつつ、エンジニア組織面にも注力し始める頃合いでした。社員数や他チームの存在自体が少ないため、社内開発フロー整備がまだ重要になってないタイミング。
社員数50名のエンジニアリーダーの職務
このフェーズではエンジニアチームが10~25人くらいを想定。
運営するサービスに必要とされる機能がひととおり揃った頃で、次なる成長を実現するために開発戦略をどうするか決めて計画的に動き出す頃合い。この頃には他チームからの開発依頼も増えてくる & 依頼された開発を作ったとしても必ず成果が出るとは限らなくなるため、社内開発フローの整備が急務になりました。
平行して、テクノロジー面ではサービス規模の拡大に伴ってシステムアーキテクチャの見直しを迫られたり、セキュリティ強化に比重を置かなくてはならない時期にさしかかり、より高度な知識・スキルが必要になっていきます。
エンジニアリング組織面においては、開発戦略に基づいた計画的且つ無駄のない人員配置と採用計画の遂行が必要となりました。次期リーダーの育成に注力し始めるのもこの頃から。
社員数100名のエンジニアリーダーの職務って?
このフェーズではエンジニアチームが20~50人くらいを想定。
僕自身はこれから体験予定ですが、エンジニアリーダーとしての大きな3つの区分自体はそこまで変わらないと思われます。が、エンジニアリーダーという役職自体が分解されて、より専門性の高いリーダーシップを発揮するポジションが準備されていくのではないかと予測。具体的には、
- 社内開発フロー周り:プロダクトをリードする役職
- テクノロジー面:テックリード
- エンジニアリング組織面:エンジニアリングマネージャー
が分担するといった具合かな。
他方で、エンジニアチーム内も専門性で分割することが考えられます。
- フロントエンドチーム
- バックエンドチーム
- SREチーム
という切り口で分けられたり、プロダクト毎にフロントエンド+バックエンドエンジニアがタックを組んで開発に臨んだりとか、そんな未来が待っていそう。このフェーズは実際に体験してからのお楽しみに、、といったところでしょうか。
終わりに…
そんなこんなで、ユアマイスターは現在社員数100名規模の組織に向かって突き進むフェーズに差し掛かっています。いろいろ仕組み考えて実践してフィードバック受けて改善することが沢山できる、ある意味一番楽しいフェーズです。エンジニアとしてリーダーシップを持ちながらキャリアアップに挑戦できる環境がありますので、ご興味ある方は下記からぜひ気軽にご応募くださいませ!