
神は細部に宿る。ZOZOテクノロジーズの可能性と、エンジニアの成長論
こんにちは、広報の立川です。今回は昨年1月にSREスペシャリストとして入社し、技術力でチームをけん引する、「そのっつ」こと瀬尾にインタビューを行いました。ZOZOテクノロジーズが持つ可能性や、エンジニアの技術力を磨く方法を明かしてくれました。
プロフィール
瀬尾 直利(技術開発本部 SRE部)
国内の大学を卒業後、アメリカのメリーランド大学 大学院に進学しコンピュータービジョンを研究。帰国後、新卒で光学機器メーカーに入社し、組み込みシステムの開発に携わる。2012年に株式会社ディー・エヌ・エーに転職。ゲームプラットフォームのインフラ担当を経て分析基盤部、AIシステム部でリードエンジニアを担当する。2019年1月 株式会社ZOZOテクノロジーズにSREスペシャリストとして入社。現在は技術開発本部 SRE部でリーダーを務める。
ZOZOテクノロジーズには、伸びしろしかない
ー 今日はよろしくお願いします!早速ですが、現在はどのような業務を担当されているのですか?
現在はSRE部でMLOpsチームとZOZOTOWNリプレイスSREチームのリーダーを兼務しています。MLOpsチームは2019年4月に立ち上げた機械学習アプリケーションのインフラを担当しているチームで、もう1つのZOZOTOWNリプレイスSREチームには今年4月にジョインしたばかりですが、ZOZOTOWNのリプレイスプロジェクトを進めているチームになります。
この2チームはまったく違うことをしているチームなので大変な面もありますが、新たにZOZOTOWNリプレイスSREチームに参加することでZOZOTOWNに深く携われるようになりました。
ー これまではZOZOTOWNにはあまり関わりがなかったんですね。
類似アイテム検索など、プロダクトの一機能として関わることはありましたが、ここまでしっかり携わるのは初めてです。これまではZOZOTOWNとは関わりが薄く、あまり見えていなかったところもあったので、これから携われることをとても楽しみにしています。
ー 昨年1月に入社されて約1年半が経ちましたが、ZOZOテクノロジーズについて率直にどう感じていますか?
伸びしろしかない、と感じています。それは社内制度の面、技術的な面の両方で言えることです。社内制度の面に関しては、今もまだ整備中の面はありますが入社した当時よりかなり整ってきていて、例えばリモートワーク制度やフルフレックス制度、病気休暇など、働きやすい環境が整備されてきた印象です。働く環境が整うことはとても大切なことだと感じますね。
ー 技術的な面ではどうでしょうか?
エンジニアリングの面で話をすると、やはりレガシーな部分が多いのでそこは変えていけるかなと思っています。レガシーな面に限らず、新しい技術や機能をガンガン取り入れていくことで、まだまだ伸びるのではないかと。まだまだ伸びるということは伸ばすところがたくさんあるということで、我々ができることもたくさんあるということです。
より快適な開発環境を実現する
ー そのっつさんは社内の開発環境の整備にも力を入れられているイメージがあります。
そうですね。よりよい開発環境を提供するために、会社用GitHubアカウントを全社的に廃止し個人アカウントでGitHubを利用できるように整えました。
個人で会社用と私用の2つの無料GitHubアカウントを持つことはGitHubの規約「非」準拠だったので、それに対応させる必要がありました。しかし、会社用と私用の2つのアカウントがあると、利用シーンに合わせてアカウントを切り替える手間が発生してしまいます。一方で、私用アカウントのみにするとセキュリティの問題が発生する可能性があります。双方の問題をクリアして、現在は私用アカウント1つで問題なく業務でも利用できる仕組となっています。
他にも、コンテナを活用したり、Infrastructure as a Codeでインフラをコード管理したり、というのは一部のチームでは当たり前なんですが、全社には浸透していないといった課題があるので、今後はそうした「便利な当たり前」をしっかり全社に浸透させていけると理想ですね。
ー まだまだ改善の余地があるんですね。
完全に整っていないフェーズだからこそ、できることもたくさんあります。直近だとCTO室と協力して、OSSポリシーとガイドラインを新たに策定しました。弊社には正式なOSSポリシーがなかったため、OSS活動がしにくいという声があったんですよね。そこで、OSS活動を活性化するための下地作りとして、OSSポリシーおよびガイドラインを整備し、OSS活動を職務として認めるため就業規則の改定も行いました。
弊社のOSSポリシーは自由度の高いものになっているので、積極的に活用していければと思っています。今後はOSSを利用するだけではなく、OSSに寄与して業界全体に貢献できると嬉しいですね。
急成長するチームの土台をつくるマネジメントとは
ー 現在2チームのリーダーをされていますが、マネジメントと手を動かす比率はどれくらいで取り組んでいるのですか?
ZOZOTOWNのリプレースSREチームについては、まだ加わったばかりなのでMLOpsチームについてお話すると、8:2ぐらいの割合でベースはマネジメントに比重を置いています。メンバーがお手上げのタスクがあればそれを拾うぐらいで、その他は基本的に任せています。私のチームは若いメンバーが多いので、私がマネジメントすることでメンバーの成長をサポートできればと思い、今の形になりました。
メンバーはみんな成長意欲が高く、キャッチアップのスピードも早い。以前はソースコードのレビュー時には全ての行にコメントを入れることもありましたが、今だとほぼ指摘なしの状態に仕上げてきてくれたりと、目に見える成長を感じています。
ー 急成長ですね…!どのようにしてメンバーの成長を支えているのでしょうか。
レビューをする際にはペアプロをして、どうやって考えて、どう構築していくのかの道筋を示すようにしていました。その中で「こうやって考える時は、この本を読んだら参考になるよ」と伝えたりすることもあります。すると、チームメンバーは学習意欲のある人たちなので伝えた本を読んできてくれて、それが身についてきているという感じです。あくまでも私からはきっかけを与えているだけで、あとはメンバーがついてきてくれた印象ですね。
ー そのっつさんのチームはカンファレンス登壇などでも活躍されているイメージがあります。
チームでも全社的にも外部発表は推奨されていて、私のチームメンバーも去年は平均2ヶ月に1回くらいの頻度でどこかで発表していました。メンバーそれぞれが1人1回以上は必ず登壇しています。
ー それはメンバーが自ら手を挙げてくれる感じなんですか?
その時々ですね。場合によっては「これ頑張ったんだから、せっかくだし行っておいでよ」と背中を押すこともあります。私が話すこともできますが、そうではなく皆に話してもらうことで成長する機会にできればと思っているので。一人ひとりがしっかり貢献しているし、成果を出しているからこそできることですね。
ピンチをチャンスに、原因を突き詰め続けることで技術が磨かれた
ー そのっつさんご自身が、技術を磨き続けているモチベーションは何なのでしょうか。
私は「神は細部に宿る」と思っています。ビジョンだけ持っていても安定したシステムは作れないし、アーキテクチャが良くても中身が崩れていたら安定したものは作れない。そのためにも細部を詰められるような技術力を磨くことがモチベーションになっています。
細部が詰められないと、安定したシステムを作れず夜中に叩き起こされたり、ユーザーにも不安定なサービスを提供してしまう。それにアラートが鳴っても理由が分からなかったり、直し方がわからない状態では、自分自身がすごくモヤモヤするんですよね。そういった問題が発生した時に、自分の技術力で解決できることを目標に技術を磨いている感じです。
細部を突き詰めようとした時にベースに使う技術はOSSなんですが、Linuxのソースコードも読める、Rubyでもその言語自体のソースコードも読めるというスキルがあれば、何か問題が発生した際に解決の糸口を自分1人で探すことができます。自分たちが書いたソースコードではなく、基盤となるLinuxやRubyに原因がある場合も少なくないからです。そこまで突き詰めて原因調査をするようにしていった結果、RubyのOSSコミッターになったりもしました。
ー そのっつさんのように突き詰めようと思うと、学ぶ範囲も広くなりそうですね。
そうですね、学ぶべき範囲はものすごく広いと思います。私はRuby・Ruby on Rails・Linuxといった問題解決に必要な知識は全部手を出してきたので、わりとカバーできたつもりではいるのですが、だいぶ時間はかかりました。もちろん、すべてを把握できているわけではないですが頭の中に地図はできているので、何か問題が起こった際にどこを深掘りすれば良いのかは分かるレベルにはなったかと。
問題が発生した時に、ただ悲観的になるのではなくて、何ならチャンスだ!ぐらいの勢いで取り組めるようになるといいですよね。問題を解決するには、知識が必要になりますし、その知識は確実に自分の中に蓄積されていきますから。
ー トラブルもチャンスだと思って、積極的に取り組むことが成長に繋がると。
通常時に「Rubyの中身を読もう」と思っても、モチベーションがないとなかなか続かないものです。だけど、「やっぱりRuby自体のロジックが分からないと、この問題は解決できないんだな」と感じる事例を多く経験していれば、学習することに躍起になれるんじゃないかと。そういった意味でトラブルにむしろ突っ込んで、問題解決に取り組んでみると自然とスキルが身につく気がします。
大切なのは成長意欲。新たな仲間に期待すること
ー 今後はどのようなことに取り組んでいく予定でしょうか?
所属しているチームそれぞれに展望があって、MLOpsでは新規機能を追加して売上を伸ばしていきたいと思っています。リプレイスではZOZOTOWNの土台を安定化させて品質を高めて、中の人達の開発がしやすい仕組みづくりをしたいですね。やれることはたくさんあるので、積極的に進めていければと思います。
ー 最後に、今後ZOZOテクノロジーズで一緒に働きたい人はどのような人でしょうか。
成長意欲の高い人がいいですね。仮に今はまだスキル不足だったとしても、意欲さえあればついてきてくれると思っています。
私のチームメンバーに限って言うと、最新技術のキャッチアップを続けている人。バックエンドエンジニアが書いたソースコードを読んで、それでも問題解決ができなければライブラリーを読んで、それでも問題解決できなければ、Linuxレイヤーのところまで行って、みたいなことを全員にやってほしいと思っています。なのでインフラエンジニアなんだけど、ちゃんとソースコードも読める人がうれしいですね。
一般的にMLOpsというとMLの知識もインフラの知識もデータエンジニアリングもWebアプリケーションもできる人を求めたくなりますが、いきなりそれを求めるのは難しいので、入社後に学習意欲を持って取り組んでもらえればと思います。
最後に
ZOZOテクノロジーズでは、一緒に働く仲間を募集しています。気になる方は、採用ページをご覧ください。
【お問い合わせ】
広報に関するお問い合わせはこちら