入社後即挫折、一人きりで取り組んだ技術基盤の改善
後藤:入社当時、ピクスタではマイクロサービスの切り出しを進めていて、まずはその仕事に関わりました。当時、マイクロサービス化は流行でしたし、それに携わっているという満足感もありました。
ただ、このプロジェクトに、非常に時間がかかってしまい、結果的にストップすることが決まってしまいました。入ってすぐにやることがなくなったのもショックだったのですが、自分の憧れていたリードエンジニアも時期を同じくして退職してしまい、いきなり挫折を味わいます。
星:そんな経緯で、後藤については、社内の誰にも管理されていなかった時期というのがしばらくあったんです。
後藤:僕としては、放置されているのが特に苦ではなかったので(笑)、自分なりに「今やっておいたほうがいいと思うこと」をやろうと考え、Railsのバージョンアップや、テストのスピードアップのような作業に粛々と1人で取り組んでいました。
和田:実は、この時に後藤さんがやったような基盤や開発環境の更新、改善といった作業は、新機能開発と比べると後回しにされがちな部分なんですよね。「重要度は高いけれど、緊急度は低い」部分で、こうしたところに「技術的負債」が溜まっていきがちなんです。突発的な事情で手が空いた後藤さんが、その部分に取り組んだというのは、偶然ではあるけれども、その後のピクスタにとっては良かったのではないかと思います。
その作業と並行して、フロント側の改革にも取り組まれたのですよね。2015年近辺には、Reactによってビュー記述のパラダイムが変わったり、ECMAScript 2015がリリースされて、それまで注目されていたCoffeeScriptのような代替言語の勢いが衰えたりと、技術面で大きな潮目の変化がありました。2019年現在のフロントエンドで主流となっている、さまざまな技術基盤が姿を現したのが、ちょうどそのころでした。
後藤:そうですね。当時の悩みの一つは、ピクスタがこれまで投資してきた技術というのが、ことごとく、その技術変化の波によって、レガシー化していくものだったんですね。個人としての技術的な興味もあって、フロントの基盤についてもモダナイズを進めていこうとしたのですが、しばらくやってみて、バックエンドとフロントエンドの両方を1人で手がけるのは無理だと感じ始めます。
和田:改善にもチームで当たるべきだと判断したんですね。えてして、技術的にできる人は、そのあたりを全部1人で抱え込みがちになるようにも思うのですが、どうやってそのステップに進んだのでしょう。
後藤:これについても「たまたま」なのですが、当時の星の采配に乗ったという感じです。僕がリーダーとして動ける新しいチームを、社内に作ろうと考えてくれていました。
星:当時の私は、ピクスタの開発チームについて、後藤と私のツートップ体制にするべきだと考え始めていました。ただ、その時点では組織として、後藤を置けるポジションがなかったんです。であれば、後藤がリーダーのチームを新たに作ろうと。しかし、後藤自身に何らかの実績がなければ、経営陣の説得は難しい。そこで後藤の実績作りも兼ねて、あるお膳立てをしました。
後藤:それが、社内の全エンジニアで取り組んだ「エンドツーエンド(E2E)テスト合宿」でした。
当時の開発チームには、和田さんに手伝っていただいたこともあり、開発にあたってユニットテストを書く文化はすでに根付いていました。ただ、Railsのアップグレードを手がけたことで、大規模リリース前の動作確認に、まだ手作業による工程が多く残っていて、膨大な手間が掛かることを再認識しました。Railsのアップグレードは今後も必要ですし、その頃には、今よりもさらにサービスの種類や規模は大きくなっているはずです。
その状況を星と共有したところ、一度、新機能開発をストップして、テストを拡充するための仕組みを集中して作るための合宿をやろうと言われ、そのプロジェクトリーダーを僕が務めました。
和田:ちなみに、新機能開発を止めていた期間というのはどれくらいだったのでしょうか。
後藤:2週間です。その間、全エンジニアを投入するという計画については、星が積み上げてきた経営陣からの「信頼」の貯金がなければ、実現は難しかったと思います。
星:うまくいけば、私も後藤も新たな信頼を得て、新たなチームを作れるわけですが、失敗すれば、2人だけではなく、会社全体にも影響が出かねないという意味で、大きな賭けではありました。
星直史(ほし・なおし)氏
ピクスタ プラットフォーム推進本部 開発部 部長。2010年に新卒入社したSIerで、C#、Javaを学んだ後、2012年にピクスタに入社。「PIXTA」の改善、改修に従事。その後、2016年に開発リーダー、2017年にマネージャーを経て、2018年1月より開発部長に就任。現在、総勢約30名の開発メンバーを束ねる。