エンジニアリーダーが担う3つの役割 | 【アプリボット戦記】最強エンジニアを目指す【しま】

【アプリボット戦記】最強エンジニアを目指す【しま】

サイバーエージェントに入社したエンジニアが最強エンジニアを目指すブログ。
アプリボット所属。

僕が現在所属しているプロジェクトにて、エンジニアリーダーになり早1年半程経った。

 

SGEでは、組織の課題として

エンジニアリーダーが足りていない」

という話が時折上がる。

月1のエンジニア面談をする中で、エンジニアリーダーをやりたいかという話をたまに振るが、やりたいと言う人はそう多くない。

話している中で感じるのが

「そもそもエンジニアリーダーが何をしているのかよく分からない

ことが一因に感じる。

 

僕はエンジニアリーダーを通して大きく成長した実感があるし、是非これからも若手が目指す一つのキャリアパスであって欲しいと思う。

 

そこでエンジニアリーダーについて、実体験として言語化しようと思う。

 

※主に運用プロジェクトにおける話であり、開発中プロジェクトでは一部勝手が変わる部分があるはず。

 

業務ではなく、責任と裁量

まずエンジニアリーダーという職種に、特定の定常業務はない

特定の仕事をする人のことを指す訳ではない。

エンジニアチームのリーダーとして担うべき責任があり、やり方は裁量に任せられている

その責任と裁量がエンジニアリーダーの魅力であり、担っている責任は大きく3つ挙げられる。

 

◾️事業へコミットし、事業を成長させる

職種を語る前に事業を語り、チームの事業成果を最大にすることが一番大きな役割。

エンジニアという職種の枠にとらわれず、事業を伸ばすにあたって必要なことは積極的にやっていく。

そのためには事業の数字はもちろん、チームの状態など、事業・組織全体に気を配ることになる。

単に開発するだけではなく、ゲームとして事業としてこのプロジェクトを大きく伸ばしたいと思う人ほど、意思決定と実行を行えるこの環境は非常にやりがいが感じられると思う。

 

◾️品質の最終責任を持つ

運用開発しているものがシステムある以上、本番での不具合や障害が起きうるし、それは最大の事業リスクの一つである。

 

開発であれ運用であれ、リリース物が万全であることの最終責任をもつ

万が一本番で何か起きたのであれば、自分が絶対に何とかする

 

自分以外のメンバーのアウトプットも含めて、いかに全てのリリース物の品質担保をするかが勝負どころだし、やり方は完全にエンジニアリーダーに任せられている。

上手くいくなら今までのやり方を全部変えてしまってもいい。

 

僕は試行錯誤しながら、最近ようやく任せることと自分がやることのバランスを保てるようになってきた。

チーム全体の品質担保は骨の折れるものではあるが、1人で出来る範囲を越えてチームで成果せることに僕は非常にやりがいを感じている。

 

◾️進む方向を決め、旗を振る

エンジニアチームを率いる以上、チームの戦略で決まった開発/運用スケジュールを遂行するだけでは足りない。

エンジニアチームとして目指すことを決め、チームを巻き込んで遂行することが大事。

 

具体的には、

レイテンシ改善やインフラの構成変更、リファクタリング、自動化など

エンジニア発信だから出来る、チームに必要なことを考えて実現していく

ことを進めていく。

エンジニアリーダーが裁量を持っているから推進出来ることである。

 

僕の経験で言うと、GvGのレイテンシ改善が一番やりがいのある挑戦だった。

待ち行列モデルでの数値検証、排他制御の改修インフラ構成の変更、Auroraの導入&DB統合、リファクタリング

など数多くの施策を3ヶ月程にわたり実行した。

自分に裁量があったからこそやりれたことであり、非常にやりがいがあった。

 

エンジニアリーダーに向いていると思う人

「エンジニアリーダーになるとコードがかけなくなるのではないか」

という話をたまに聞くが、

自分の裁量をもって調整すれば、コードを書く機会は十分ある。

むしろ勝ち取れ。

と思っている。

 

・エンジニアにとらわれず、事業・ゲームを成長させることに関心がある人

・1人で出せる以上の成果をチームで出したい人

・エンジニアとしてやるべきことを決め遂行したい人

には是非エンジニアリーダーを目指してみて欲しいと思う。