サーバサイドエンジニア
ZOZOTOWNリニューアルで目指す「こだわり尽くす開発現場」
「こだわりのものづくり」に共感
ZOZOTOWNをモダンに作り直す
現在は「ZOZOTOWNリニューアル」を担当しています。現行システムの魅力は活かしつつ、この環境をより柔軟性が高く使いやすいシステム構成へ変えていくことが私の仕事です。エンジニアの募集サイトでは「マイクロサービス」という言葉が独り歩きしていましたが、個人的には「Elastic」なシステムにする、というのがキーワードになると考えています。機能追加についてもサーバーの増設についてもより柔軟に行えるようにし、よりユーザーに価値を届けやすくするのが最大の目的です。
クラウドサービスの力を借りるというのも当然大事なポイントになってきます。リソースの確保を柔軟にでき、API を介して自動的に様々な処理が行えるという恩恵を最大化するために、各種のOSS のツール群を駆使して、サービスの状況に応じて機械が様々な処理をセルフサーブできるようにしたいと思っています。具体的にはTerraformやAnsibleを用いたインフラ構築の自動化や、Dockerオーケストレーションツールを用いたデプロイの効率化とリソースの最適配置など、モダンなSaaS群とも組み合わせて柔軟なシステムを作りあげたいと思っています。
プログラムの開発では、マイクロサービス時代に親和性の高いJavaとSpringFrameworkの組み合わせを採用します。Javaというと一般的には古臭いイメージもありますが、Java8から構文もモダンになりましたし、Spring5からはReactive Streamsや Server Side Kotlin との連携もしやすくなり、未来を見据えた開発に適しているかな、と。私が過去に経験した大規模トラフィックを捌くサービスの開発でも比較的Javaの採用が多く、その事も踏まえパフォーマンスと開発効率のバランスがよい落とし所だと思っています。JavaVM上ではScalaもKotlinも動作しますし、多様な手段を用いて適材適所に開発ができるのも良い点です。
リニューアルを成功させてユーザーに大きな価値を届ける
リニューアルに向けた技術選定はチーム内で議論を重ね方向性が定まり、実運用を想定した検証、開発に必要なツール群の整備もほぼ終わりました。開発体制も整い、これからは用意した道具を用いて本格的にシステムを作っていく段階です。道具を揃えて終わりではなく、良いものづくりには上限が無いので、私含め開発者たちが実際にものを作っていくなかで引き続き創意工夫をし、これまで以上に良いサービスづくりができるよう日々努力していきます。リリース前はなんだかんだいって大変だとは思いますが、自分たちの手でイニシアティブを取って開発できるので楽しみの方が大きいです。
リニューアルをすることで、ユーザーの皆様に「あれ、ZOZOTOWN使いやすくなったよね」と思っていただくことが我々としては一番の成功です。それに加え、もっと多くのITエンジニアの人たちにこの会社の魅力を知ってもらえると嬉しいなと思っています。残念なことに、私含め男性エンジニアにはZOZOTOWNの知名度はまだそれほど高くはないのですが、当社にはZOZOTOWNはもちろん他にも魅力的な機能・サービスがたくさんありますし、今後生み出す新しい価値をより多くの人たちに使っていただき、この会社で働くことの魅力もあわせて伝わっていくと良いなと思っています。