MNTSQ Techブログ

リーガルテック・カンパニー「MNTSQ(モンテスキュー)」のTechブログです。

デリバリーを担保するリードエンジニア

MNTSQ Tech Blog TOP > 記事一覧 > デリバリーを担保するリードエンジニア

こんにちは。

「すべての合意をフェアにする」MNTSQの森山です。 この度、MNTSQでリードエンジニアを務めることになりました。

リードエンジニアは、チームの出力を最大化するためにあらゆる角度からデリバリーを支えます。責任を持つのは「コードの品質」だけではなく、「チームとして成果を出すこと」です。そのために必要な技術的・組織的な取り組みをリードしていきます。

エンジニアの役割は、会社やチームによって定義が少しずつ異なります。そこで今回は、MNTSQにおけるリードエンジニアとは何かを、自分自身の整理も兼ねて言語化してみました。

なぜリードエンジニアという役割が生まれたのか?

これまで弊社には「リードエンジニア」という役割は存在しませんでした。

近年、AIの進化によって開発の生産性を高める新しい手段が次々と生まれています。やりたいこと、試したいことが増える一方で、単にエンジニアの人数を増やすだけでは期待通りに成果が伸びないという課題も見えてきました。エンジニアの人数が正しくデリバリーに寄与するためにはデリバリーにフォーカスする役割が必要だという考えからリードエンジニアという役割が新たに設けられました。

いままでは、テックリードが技術的な意思決定とともにデリバリーの責任も担い、負担が大きい状態にありました。今後は、テックリードアーキテクチャレベルで技術的な責務を担い、リードエンジニアがデリバリーの責務を担います。そうすることでテックリードはより技術的な意思決定にフォーカスできるようになります。

リードエンジニアは担当領域のデリバリー及びテックリードと相談の上でそれに伴う技術的な意思決定の責務を負います。相談は担当領域の難易度やリードエンジニア自身のスキルによって範囲が変わります。テックリードはリードエンジニアの責任範囲を適宜広げていくことも役割の一つであり、リードエンジニアはその範囲を広げることを目標とします。こうしてリードエンジニアを軸とした組織拡大が、より大きな成果につながることを目指しています。

またリードエンジニアは若手ソフトウェアエンジニアが次のステップへ進むためのキャリアの登竜門としても位置づけられています。内部登用も積極的に推進し、エンジニアが成長し続けられる環境を整えるという狙いもあります。

役割の具体像

例えば以下のような役割を担います。

  • アーキテクチャ・技術の選定やエスカレーション
  • 内部品質の担保
  • 開発フローの整備
  • リソースの割り当て
  • 技術タスクのコスト・納期の言語化・共有
  • …etc

技術的な意思決定については、チーム内で完結できるものはメンバーを巻き込みながら主体的に結論を導きます。一方で、システム全体への影響が大きい判断についてはテックリードエスカレーションし、意思決定に必要な情報を提供します。

また、継続的な開発速度を維持するためには、内部品質への意識も欠かせません。将来的なボトルネックを防ぐことも必要です。例えば「この負債を解消することでA機能の開発コストを○人日削減できる」といった形で、技術的負債の解消に対する費用対効果を明確にしてPdMやデザイナーと共有することも積極的に提案します。

さらに、チーム全体の生産性を長期的な目線で高めるために、誰がどのタスクを担当するとスムーズに開発が進むか等も見極め、チームのリソースを配置します。

姿勢とマインドセット

リードエンジニアとして大切にしたい姿勢やマインドセットについても整理しました。考えていたことを的確に言語化されていたこちらの記事を一部、参考にしています。

❌️ 最も優秀なプレイヤーであるべき
⭕️ 全体を俯瞰し、サポートに徹する

リードエンジニアは、誰よりも優秀で、誰よりも多くのチケットを消化できることが必須ではありません。チーム作業の停滞を招くボトルネックを解消し、将来的なリスクを先回りしてケアすることで、チーム全体の出力を最大化することに責任を持ちます。


❌️ 難しいタスクを自分が担当するべき
⭕️ 難しいタスクもメンバーに任せる

技術調査や重めの機能実装、不確定要素の多いタスクこそメンバーを信頼して任せます。 リードエンジニア自身は、軽微な修正や方針が見えているバグチケットを消化しながら、リソースに余白を残しておきます。その余白を活かして突発的なボトルネックの解消やリスクケアに対応し、チーム全体の出力向上に貢献します。 (もちろん全任せではなく、必要に応じて自らも難しいタスクを担います。)


❌️ コーディングは最小限にして管理に専念する
⭕️ コーディング・レビューも欠かさずやる

技術的なボトルネックやプロセス上の問題を把握するためには、技術スキルとコード理解が不可欠です。またリードエンジニアは組織的にもフラットな立場であるため、権威ではなく影響力をもってリーダーシップを発揮することが求められます。


❌️ チーム内の技術的な決定を一手に引き受ける
⭕️ チームで最善の決定ができるように情報整理、提案する

自らが結論を下して共有するのではなく、メンバーを巻き込みながら意思決定のプロセスを支えます。その過程と結論の双方にチームがオーナーシップを持てるよう導くことが、リードエンジニアの重要な役割です。

まとめ

リードエンジニアは、時に自ら手を動かし、時に協力を仰ぎながら、デリバリーを維持・向上させるために課題を見つけ、解決する存在です。

今後、この役割を担う人数こそが、会社全体のデリバリー速度を左右する重要な役割になると考えています。

ただし、エンジニアだけでの開発を高速化することは容易ではありません。MNTSQでは、デザイナーやPdMなど様々な役割のメンバーと協力しながら、長期的なデリバリーの維持・向上を実現しています。

MNTSQの仕事にご興味を持たれた方は、ぜひ採用情報のページをご覧ください。