「もう一度、現場へ」40代プリンシパルエンジニアが開発の第一線にこだわる理由

2025年4月10日

竹添 直樹

トレジャーデータ勤務、プリンシパルソフトウェアエンジニア。新卒で零細SES企業に就職し様々な現場を渡り歩いたのち、趣味として行っていたOSS活動をきっかけに某大手SIerの子会社に転職、OSSを活用した研究開発プロジェクトからアジャイル受託開発、大手ユーザ企業での内製支援など9年ほど務めたのちSI業界を離れ、Webサービス企業でCTO直属チームとして新規サービス立ち上げ、技術広報等に従事したのち現職。イングランドプレミアリーグのアーセナルを応援しています。
X: @takezoen
GitHub: https://github.com/takezoe
ブログ:「たけぞう瀕死ブログ」

トレジャーデータでソフトウェアエンジニアとして勤務している竹添と申します。

新卒で今は無き横浜のとある零細IT企業でキャリアをスタートしてから早20年以上経ちますが、紆余曲折ありつつも40歳を越えてもどうにかソフトウェアエンジニアとして働き続けています。

私は父親の影響もあり子供の頃からプログラミングをしていました。もともとモノづくりが好きで、コンピューターひとつあれば全てを自分でつくり上げることのできるソフトウェアに強く魅力を感じていましたので、ソフトウェアエンジニアとして就職したのも自然な流れでした。当初はずっとエンジニアとしてコードを書き続けていくということになんの疑問も持っていなかったのですが、20年の中ではその道から離れそうになったことも何度かありました。

今回はなぜソフトウェアエンジニアの道から離れてしまいそうになったのか、そしてどうやって戻ってきたのかについてお話しさせていただきたいと思います。

ソフトウェアエンジニアとして働き続けることは難しい?

キャリアの前半10年ほどはSI業界で過ごしました。当時のSI業界でキャリアップしようとすると、プロジェクトマネジメントに回らざるを得ないケースが多く、私自身も30歳を迎えるころには開発には関わりつつも、受託開発プロジェクトのマネジメントが主な業務になりつつありました。

自分でチームをマネジメントするようになったことで裁量も一気に大きくなりました。1人のエンジニアとしてだけでなくチームとして開発プロセス全体を改善しながらプロジェクトを回す経験ができ、これはこれで面白みを感じていました。

一方、このままではソフトウェアエンジニアとして働き続けるのは難しそうだと感じるようになったのも事実です。

受託開発は基本的に人月商売なので、売上を増やすにはプロジェクト規模を拡大せざるを得ず、そうなるとキャリアとしてもマネジメントにシフトしていくことは避けては通ることできませんでした。30代半ばにして、これが初めて今後の自分のキャリアの方向性について考えたタイミングでした(その後、大手SIerでもスペシャリスト向けのキャリアパスが整備されているという話も聞くようになりました。現在はSIerでのキャリア選択の幅も広がっているのかもしれません)。

その後も思い通りにはいかなかったキャリアチェンジ

それならば人月商売ではなく、開発したソフトウェア自体を自社サービスとして提供している企業ならば年齢を重ねてもソフトウェアエンジニアとして働けるのではと思い、自社サービス企業に移りました。

ただ、ここでも、色々な理由で時の経過とともに現場の開発からは離れることになり、ソフトウェアエンジニアとして第一線に立てていないという不安感が消えることはありませんでした。

理由の1つは、会社の成長が速すぎて、自分のフェーズと会社のフェーズをあわせることがなかなか難しかったということもあるかもしれません。

「ソフトウェアエンジニアとして働き続けたい」との思いでキャリアを選択した結果、一度ならず二度までも壁にぶつかってしまったこと、そして当時40歳を迎えようとしていたことから、このまま開発から離れた道を歩むべきなのか?それとももう一度ソフトウェアエンジニアとしてチャレンジできるのか?という2つの選択肢について真剣に考えるようになりました。

迫りくるソフトウェアエンジニアとしての「タイムリミット」

結論、私が選んだのは「もう一度ソフトウェアエンジニアとしてチャレンジすること」でした。

まず考えたのは40歳という年齢です。

私が20~30代の頃、まことしやかに唱えられていた「エンジニア35歳定年説」は、当時すでに過去のものになりつつあり「ソフトウェアエンジニアに定年はない」と言われるようになってはいました。また、ソフトウェア企業においては「マネジメントとスペシャリストは別の専門領域であり、それぞれにキャリアパスを用意する」という考え方が国内でも広まりつつありました。

一方で、自分には2つの専門領域を両立したり行き来したりするのはかなり難しそうだと感じました。私の観測範囲内や実感(当時、すでに現場の一線から離れた状態が数年続いていました)としても、数年ソフトウェアエンジニアリングの現場を離れてしまうと、もう一度第一線に戻るのはかなりのエネルギーが必要そうだと感じていました。

特にシニアのエンジニアとして転職する際は、即戦力であることが求められますので、その分ハードルも上がります。ソフトウェアエンジニアとして新たな専門領域にチャレンジするのであれば、40歳という年齢はそろそろタイムリミットかもしれないと思いました。当時所属していた自社サービス企業は順調に成長を続けており、この先を見届けたいという気持ちもないわけではなかったのですが、「ここであと数年待つと手遅れになってしまうのでは?」という焦燥感があったのです。

そして、30代後半頃になると若手のメンバーと一緒に働く機会も増えてきていました。自分の若かった頃と比べると明らかに優秀なメンバーが多く、このままソフトウェアエンジニアを続けていても生き残れないのではと感じることもありました。

再チャレンジの舞台に求めた3つの要素

次のチャレンジがうまくいかなければ、年齢を重ねた上での再チャレンジはさらに難しくなることが予想されます。そのため、次のチャレンジをソフトウェアエンジニアを続けられるかどうかを見極めるためのチャレンジにしようと考え、まずはどのような職場であればソフトウェアエンジニアとして長く働き続けることができそうかということをじっくり考えてみました。

以下が、当時の自分が次の職場に求める要素として考えた3つの要素です。

  1. 1. 技術でビジネスに貢献できる環境であること
  2. 2. 適切な規模、フェーズの組織であること
  3. 3. グローバルな環境であること

1. 技術でビジネスに貢献できる環境であること

ソフトウェアエンジニアとして働き続けるのであれば、技術でビジネスの課題を解決できる環境であることが重要だと考えました。

そうでなければ、企業が経験を積んだソフトウェアエンジニアにキャリアパスを提供し続けるメリットがありませんし、むしろソフトウェアエンジニア自身も飽きてしまうのではないでしょうか。私自身、技術的にはアプリケーション領域よりもミドルウェア、特に大規模分散処理の領域に興味があり、自分の経験も活かしやすいと考えていたので、そういった技術がきちんとビジネスに貢献できる環境を探しました。

2. 適切な規模、フェーズの組織であること

これまでの経験から、ソフトウェアエンジニアとして働くために組織的な課題がボトルネックになるような大きな組織は避けたいと考えていました。一方で、小規模といってもあまりに若すぎる立ち上げ期の組織の場合、技術面以外での課題が問題になることが多く、腰を据えてソフトウェアエンジニアリングに取り組むことが難しいということも経験していました。

自分と会社のフェーズをあわせることの大切さは身に染みていたため、大企業は避けつつも、ビジネスが軌道に乗っており、ある程度成熟したエンジニアリング組織を持つ企業が望ましいと考えました。

3. グローバルな環境であること

今後のキャリアを考えた時にもうひとつ考えていたのは、グローバル環境でソフトウェアエンジニアとして働いてみたいということでした。

SI業界→自社サービス企業と見てきたことで、日本国内でのソフトウェアエンジニアとしてのキャリアの将来性に疑問を感じていたこともありました。グローバルな環境で経験を積むことで、この先ソフトウェアエンジニアを続けるにしろ、どこかでキャリアチェンジするにしろ、その先の可能性が広がるのではという期待がありました。

ソフトウェアエンジニアとしての再スタート

ちょうどこのようなことを考えていたときに、数年前に技術カンファレンスでお話しさせていただいた旧知のトレジャーデータ社員の方からタイミングよくお声がけいただき面接を受けることになりました。大規模なデータを扱う分散システムに取り組むことができ、グローバルな環境でソフトウェアエンジニアとして働くことができるトレジャーデータはまさに私が希望していた環境だと感じました。

面接の際には、当時のCTOにもソフトウェアエンジニアを続けようかどうか迷った上での応募であることを正直に相談した記憶があります。採用の合否だけを考えれば不利な発言だったかもしれませんが、自分としても(おおげさに言えば)今後のキャリアを賭けたチャレンジでしたし、次の職場ではソフトウェアエンジニアとしてできるだけ長く働きたいと考えていましたので、ここで取り繕っても仕方ないとの考えからでした。

結果、英語での面接に苦戦しながらもなんとか内定を得て、ソフトウェアエンジニアとして3度目のチャレンジに挑むことになったのです。

次回予告:「ビジネス貢献」「組織規模」「グローバル」3拍子そろった環境で見据えた将来

トレジャーデータ入社後はオープンソースの分散クエリエンジンTrinoを扱うチームに所属し、現在に至るまでソフトウェアエンジニアとして働いています。

ミドルウェアの開発・運用というのはシステムの基盤に近く、安定性や信頼性の求められる領域ですので、SI時代の経験を含め、私のこれまでの経験をビジネスに活かしやすいという点は入社前に予想した通りだったと思います。

技術的に学ぶことも多く、入社して6年以上経ちますがいまだに学習の日々です。ビジネスの拡大に伴い扱うデータ量やワークロードも日々増え続けているため、常に新しい課題が出てきます。Trino自体もオープンソースコミュニティで活発に開発されていることから進化が速く、またデータ領域は新しい技術トピックも次々と出てくるので飽きることがありません。つまり、トレジャーデータのエンジニアリング組織は私にとって理想的な規模やフェーズでした。

働き方に関していえば、トレジャーデータのエンジニアリング組織はグローバル体制です。世界各地のチームメンバーとのやり取りは、オンラインでの非同期コミュニケーションが基本です。当時の私はそのようなスタイルで勤務した経験がなく、最初は戸惑いましたし、特に海外の上司やメンバーとは言語だけでなく考え方の違いからコミュニケーションに難しさを感じることもありましたが、時間をかけて対話を重ねることで意思疎通を図ってきました。これも多様性のあるグローバル環境で働くことでしか得られない貴重な経験だと感じていますし、面倒がらずに私とのコミュニケーションに付き合ってくれる上司や同僚にも感謝の念が絶えません。

なにより、入社から6年働き続けているということは、私にとってトレジャーデータがソフトウェアエンジニアとして働くのに良い環境だったということだと思います。ですが、ひとところで長く過ごす中で、当然環境も自分の役割も変化していますし、新たな悩みも生じてきます。次回はそういった変化、そして経験を積んだエンジニアが果たすことのできる役割について考えてみたいと思います。

関連記事

人気記事

  • コピーしました

RSS
RSS