はじめに

以前 Mujin にいたとき、すでに中堅エンジニアへ昇進していました。その後、友人と起業しましたが、失敗したため、今は再びエンジニアとして働いています。そして幸運にも、L4 の自動運転トラック企業である T2, Inc に就職できました [1]

前のシリーズ「新米エンジニア修行中」の「新米(しんまい)」に対応して、ひと通りの鍛錬を経た今は、すでに独り立ちし、会社の「中堅(ちゅうけん)」メンバーになれました。

私はこれまで、個人の経験を記録することは多くの人の助けになると信じてきました。前のシリーズは、学生や新人に初級エンジニアの姿を知ってもらうことが目的でした。これからは「中堅エンジニア奮闘中」シリーズとして、中堅からシニアに至るまでの道のりを記録していきます [2]。初級から中級のエンジニアにとって、少しでも役に立てばと思います。

T2 で働き始めてから、すでに 8 か月になります。「中堅エンジニア」として、会社で影響力を発揮していることを実感できるようになりました。私はさまざまなチームと密に連携し、自分が提案するプロジェクトの影響範囲は会社全体に及び、チームリーダーの仕事も分担しています。仕事の影響範囲は、初級・中級エンジニアの水準を大きく超えています。会社の「中堅」戦力として、経営層からも大きな裁量と十分な発言力を与えられています。会社は私たちの専門性を信頼し、大半の仕事を成し遂げるために私たちを頼りにしているからです。どの会社でも、中堅・シニアエンジニアは主力です。

T2 の同僚たち
(T2 の同僚たちと私)

開発スピード

数年の経験を積み、AI の支援も加わったことで、独立して効率よく開発することはすっかり得意になりました。「汎用的な規格に適合する自動運転シミュレーション地図システムを開発する」「多角形のブーリアン演算機能を開発する」といった、境界がすでに明確に定義された問題であれば、中堅エンジニアでも非常に効率よく完成させられます。AI の支援によって、効率は過去の 3〜5 倍に達することさえあります。

中堅エンジニアとして、独立したプロジェクトであれば私たちは十分にうまく進められます。たとえば、T2 に入社して間もないころ、ここには QA プラットフォームがないことに気づきました。最も重要なテストはすべて統合エンジニアが手作業で実施しており、効率が悪いだけでなく、QA をスケールさせることもできませんでした。そこで私は 1〜2 か月かけて分析と提案を行い、上司の許可を得た後、2 週間で MVP を作りました。およそ 1 か月後には全社利用に向けて展開を始め、上司も QA プラットフォームの重要性を理解したため、より多くのリソースを得て、新たな開発人員も加わり始めました。

しかし、より範囲が広く、技術的に難しく、より多くの人員とリソースが関わり、会社の事業と密接に関係するプロジェクトになると、中堅エンジニアは力不足を感じます。たとえば「新しい E2E シミュレーションシステム一式を開発する」といった仕事では、全体を把握し、多人数の協働を統率する能力はまだ十分ではありません。シニアエンジニア、あるいはスタッフエンジニアのリードが必要です。

収益指標

初級エンジニアは通常、自分が作るものが収益を生むかどうかをあまり気にする必要がありません。一方では担当範囲が小さく、他方では主に学習段階であり、ほとんどの場合は受動的にタスクを受け取るからです。しかし中堅エンジニアは、タスクが会社の利益にかなうか、事業に役立つかを考え始める必要があります。お金の多い場所や、お金を稼げる場所には、より多くの機会もあります。言い換えれば、「収益指標」を見ることを学び、できる限り「お金」に近づくことです。

T2 に入社した後、私は新しいシミュレーションチームに配属されました。誰もそのチームが何をすべきか分からなかったため、私は多くの時間を調査とヒアリングに費やし、取り組めるテーマを見つけようとしました。スタートアップの新しいチームには、取り組めるテーマがあまりにも多く、そのほとんどは興味深いものです。しかし最終的に私は、会社に直接利益をもたらすことができ、参入障壁も低いテーマ、すなわち QA テストプラットフォームから始めることを選びました。成果も非常に明確でした。新しいプロジェクトはわずか 1〜2 か月で注目を集め始め、ますます多くのリソースを得ました。反対に、私自身も非常に興味深いと感じていた別のテーマ、完全なエンドツーエンドシミュレーションは、難易度が高く、収益との直接的な関係もなかったため(自動運転企業にとっては非常に直感に反しますが)、挑戦するには向いていませんでした。抵抗も大きく、リソースも取りにくかったのです。

より多くのお金を使うプロジェクトは、通常より重要でもあります。そのプロジェクトが実際には必ずしも会社に利益をもたらすとは限らなくても、資金のある場所はたいてい悪い状況にはなりません。ですから、お金を使うチームやプロジェクトに行く方法を考えるか、自分のチームやプロジェクトを会社がお金を使う対象にする方法を考えるべきです。

影響力

初級のころは、小さな機能や小さなシステムを作ることがほとんどで、システムの一つの端点にすぎず、影響力は非常に小さいものです。中堅エンジニアになると、開発し責任を持つプロジェクトの規模が大きくなり、より多くの異なるチームと協働する必要も出てきます。さまざまなサブシステムをつなぐ、システム内のノードになり始めるのです。何かを作り出すと、徐々に影響力が増し、それぞれのつながりの重みも高まります。つながりの数と重みがある程度まで大きくなると、非常に重要なハブになります。

T2 で QA テストプラットフォームを作って数か月後、会社ではすでに多くの人が使い始め、私にさらに多くの要望を持ちかけるようになりました。会社の異なるシステムや機能が少しずつ私のプラットフォームと統合され、私は技術本部全体に直接報告する機会さえ得ました。

影響力には複利効果があります。数人があなたのプロダクトを良いと思えば、口コミが積み重なってさらに多くの人が使うようになります。自然と協働のためにあなたを訪ねる人が現れ、好循環が生まれます。QA プラットフォームを最初にリリースしたときは、私は一人ひとりに試してみてほしいと頼まなければなりませんでした。今ではみんなが自発的に使い、私がオフィスに入るたびに、機能をどう拡張すべきかを話しに来る人までいます。毎日異なる部署とやり取りし、自分の影響力がますます大きくなっていることを感じられるこの過程は、非常に達成感があります。

学習と成長

T2 はスタートアップとして、確かにかなり混沌としています。それが、私が当初高い給与で採用された理由でもあるのだと思います。入社してわずか半年の間に、私は一度チームを替わり、チームリーダーは二度替わりました。加えて、経営層は絶えず変動し、組織も継続的に再編されているため、しばしば途方に暮れます。しかし、これはスタートアップでは避けられないことなのかもしれません。組織が変わるたびに再び適応しなければならず、チームリーダーが替わるたびに関係を築き直さなければなりません。人のいるところには世間があります。その世間のルールを理解し、一人ひとりの振る舞いや心理を見抜くことは、私にまだ不足していることです。

同時に、AI 時代は中堅・シニアエンジニアがどうあるべきかを再定義しています。AI があれば必ず効率が上がり、成果も必ず良くなると思われがちですが、実際はそうとは限りません。AI は単なる道具です。AI によって問題解決のスピードは速くなりますが、本当に難しいのは問題を発見すること、さらに言えば価値ある問題を発見することです。先を見通す判断力は、AI 時代においても重要な能力です。プロジェクトの価値と会社の利益を評価すること、人と人とのつながりを築くこと、顧客のニーズを理解することなど、人間の真の中核的な価値も AI には置き換えられません。こうした能力は、今でも一歩一歩、ゆっくり積み重ねていく必要があります。

@philhchen の「Career advice in the age of AI 」をおすすめします。

スタートアップにいるか、AI が激変する時代にいるかにかかわらず、私たちは学び、成長し、機会を探し続けなければなりません。会社では真剣に仕事をし、新しい機会を観察します。仕事が終われば、オープンソースのプログラムを書いて AI 開発の能力を鍛えています。学歴が高くなり、年齢を重ねるほど、私はより謙虚になり、自分の小ささを感じるようになりました。時代の大きな流れの中で、私にできるのは努力して成長し続けることだけです。いつの日か本当に立派な人物になれることを願っています。


  1. 具体的な就職活動の流れについては、以前の記事「2025年秋、日本と台湾での中堅ソフトウェアエンジニア就職活動の経験」で詳しく説明しています。 ↩︎

  2. 会社ごとに職位は異なるため、ここでの中堅は Google の L4 に相当し、シニアは Google の L5 に相当します。したがって、中堅エンジニアは広く L4 から L5 程度のエンジニアを指します。 ↩︎