Life

エンジニアとしてのキャリア振り返り

導入

こんにちは、Shoya です。

前回の自己紹介記事でも少し触れましたが、私の経歴は楽天、渡米、Meta、Google、帰国、そして現在の Kyndryl と続いています。

「GoogleとMeta、どっちが良かった?」 これは私が最もよく聞かれる質問トップ3に入ります。でも、これに答えるのは「寿司と焼肉、どっちが美味しい?」に答えるくらい難しいのです。

今回は、これらの2社も含めた私のこれまでのキャリアを、それぞれの場所で何を感じ、何を学んできたのか、技術者としての視点で少し深掘りして振り返ってみたいと思います。

修士時代:右手に研究、左手に運用

技術者人生を語る上で欠かせないのが、修士時代です。大学院というよりは、所属していた研究室の環境に、エンジニアとしての骨格を作ってもらいました。 そこはインターネットそのものを研究対象としつつ、「右手に研究、左手に運用」をモットーとする少し変わった(スパルタな)研究室でした。ネットワーク構築はもちろん、サーバ運用やソフトウェア開発まで、幅広い分野で「ハンズオンの修行」を積むことができました。

特に思い出深いのは、インターネット研究会のイベントに向けて、DNS や DHCP 等のソフトウェアを、RFC を読みながら 3 週間程度で実装し、イベントネットワークで使用するという無茶苦茶な試みです。 当時、設計やスコープ管理、テスト手法なんて言葉を知らなかった私は、若さゆえの過ちか、「実現可能性」よりも「純粋関数型言語のロマン」に酔いしれ、「DNS のキャッシュサーバを Haskell で実装する」という無謀な選択をしてしまいました。締め切り前の戦場で、私は優雅に「モナド」と格闘していました。

結局バグだらけでまともに動かず、イベント途中で泣く泣く BIND に切り替えるという苦い敗北を味わいました。素直に得意な言語で書いていても当時の私の技量だと無理だったと思います。ただ、この手痛い失敗がきっかけでソフトウェア開発にのめり込むことになったので、今となっては掛け替えのない経験でした。

そんなこんなで「左手(運用と実装)」に熱中しすぎて「右手(研究)」がおろそかになり、修士2年次に苦労することになるのですが、、、それはまた別の話。 スパルタ教育には賛否あるでしょうし、私自身ストレスで胃を痛めたこともありましたが、結果的に見れば私のキャリアの土台を築いてくれた場所でした。

楽天:エンジニアとしての基礎

新卒で入社した楽天では、ソフトウェアエンジニアとしての基礎を学びました。 運よく検索チームに配属され、アプリケーション層だけでなく、DB やメッセージキューを用いたシステム設計、CI/CD パイプラインの構築まで幅広く経験できました。

当時の上司には本当にお世話になりました。新人の私のナイーブな(生意気な)意見にも真剣に耳を傾けてくださり、技術的なアドバイスだけでなく、「会社で働くとは」「チームで貢献するとは」といった社会人の基礎を教えていただきました。 また、公用語が英語であり、多国籍なメンバーが在籍する環境は非常に刺激的で、後の渡米生活への予行演習としても最適でした。

Meta:Move Fast and Break Things

そして渡米。シリコンバレーの文化を肌で感じたのが Meta での経験です。 有名な “Move fast and break things”(素早く行動し、破壊せよ)や “Done is better than perfect”(完璧を目指すより終わらせろ)といった標語は、社名が変わった頃に少しマイルドに修正された気もしますが、良くも悪くもこの会社の文化を体現していました。 後に経験する Google が正反対の文化だったこともあり、個人的には Meta の「とりあえず動くものを作ってから考える」文化の方が性に合っていたと感じます。

一番のカルチャーショックは、「オープンソースを組み合わせる」という発想が希薄だったことです。 代わりに、社内には極めて高度に内製されたソフトウェアや、OSS を魔改造したツール群が存在していました。

  • フロントエンド:React / GraphQL
  • バックエンド:Hack(PHP を魔改造した言語)
  • デプロイ:Tupperware(Kubernetes 的な役割)

これらがデフォルトの選択肢となり、チャット、タスク管理、エディタに至るまで内製ツールで統一されていました。そして、それらのインテグレーションが感動するほどシームレスでした。「閉じた世界」ゆえの最適化の極地。外界との接触を断って独自の進化を遂げた「ガラパゴス諸島」のようでしたが、そこに存在するツール群は超便利でした。

また、週に一回、Mark(ザッカーバーグ)がストリーミングで社員に向けて話す場があり、社員はリアクションやコメントを飛ばし、最後には容赦ない質問コーナーがあるという、透明性の高さも衝撃的でした。時には辛辣なコメントも飛び交いますが、それを受け入れる姿勢には、巨大企業のトップとしての哲学を感じました。 もちろん、素晴らしいことばかりではなく、情報統制や評価制度など、一般的な大企業病もしっかり抱えていましたが。

Google:Engineering Excellence

次に Google です。最初に断っておきますが、私が入社したのはレイオフの嵐が吹き荒れる直前でした。なので、平常時の Google と Meta を公平に比較できているとは思いません。

Meta とは全く異なる文化でした。“Engineering Excellence” を至上命題とし、機能開発やリリースは厳格に管理されていました。エンジニアが主体というよりは、PdM や UX デザイナーとの分業体制が確立されており、プロセス重視の印象です。 その割に、内製フロントエンドフレームワークが乱立していたり、コア部分にレガシーシステムが鎮座していたりと、カオスな一面もありました。社内プロセスの重さについて社員がカフェテリアで愚痴り合うのは、よく見る光景でした。

ただ、なぜそうなったのかという背景を知ると、多くの学びがありました。 結局、「リリースの厳格さは、その会社がどうやってお金を稼いでいるかに帰結する」というのが私の結論です。 Meta のサービスが数時間落ちても世界は止まりませんが、Gmail や Google 検索が数時間落ちれば社会インフラとしての影響は計り知れません。この「重み」の違いが、エンジニアリング文化の差として現れているのだと感じました。

福利厚生に関しては、無料のランチやスナックに加えて、卓球台、チェス台、ヨガクラスに料理クラスも提供されていました。やりすぎ感は否めませんが、私はこれらを活用して社内ネットワークを構築した側面もあり、「同じ釜の飯を食う(無料)」効果は絶大です。 Giver と Taker の問題はあるものの、私にとってはオフィスに行くモチベーションになり、結果的に高い生産性に繋がっていたと思います。もっとも、増えたのは生産性だけではなく私の体脂肪もでしたが。 (誤解のないように言っておくと、Meta も同様に素晴らしい福利厚生でした)

Kyndryl Japan:現在地

そして帰国し、現在は Kyndryl Japan の CTO 室で Director として働いています。 主に AI 領域のマーケット開発を技術面から支援しており、社内 AI フレームワークへの貢献に加え、OSS やクラウドベンダーをフル活用した迅速なプロトタイプ作成などを行っています。今ホットな AI 関連も含めて、様々な技術調査と選定をする機会を久しぶりに楽しんでおり、とても充実した日々を送れています。同僚との拡張性に関する議論がたまに恋しくなることもありますが。。。

開発ツールの制限も比較的緩く、裁量を持って自由に動けるので、非常に楽しく仕事をしています。 ゆくゆくは、グローバルチームとの連携を深めつつ、より戦略的な仕事にも関わっていきたいと考えています。

人生はスパゲッティコード

こうして振り返ると、私の人生は GoTo 文と例外処理の嵐です。しかし、どこかで迷子になったり、別の道に迷い込んだりしながらも、なんとなく満足のできる場所にたどり着いているような気がします。

最後に、私の「生存戦略」とも言える信条で締めくくりたいと思います。

機会を認識できるのは努力の賜物。 機会が訪れるのは巡り合わせ。 機会をものにするのは決断力。

ちょっとカッコつけすぎましたね。 今日はここまで。

コメント (0)

まだコメントはありません。最初のコメントを投稿しましょう!

コメントを投稿する