2017年、ZOZOTOWNをより多くのお客様に使っていただけるサービスにするべく、ZOZOTOWNのリプレイスプロジェクトが始まりました。VBScriptからJavaへ、モダンアーキテクチャへの移行に向けて、新しい技術スタックに習熟していくこと、そして強いSREを育てることを目的に、ZOZOとカサレアルは総勢72名のエンジニアに対してJavaエンジニア育成研修を開催しました。

Javaエンジニア育成研修 担当者

技術本部
本部長
瀬尾 直利さん
基幹システム本部
本部長
山本 瞬さん

成長し続けるZOZOTOWNを、より安定的・効率的な運営に

こうして成長していくZOZOTOWNには、それを支えるエンジニアの成長が欠かせません。リプレイスプロジェクトに携わるメンバーが増えていくのは必然で、すると当然「全員が新しい技術スタックに習熟していく必要があると思いました」と技術本部長である瀬尾さんは振り返ります。

リプレイスプロジェクトの一環として、従来使用してきた開発言語をVBScriptからJavaに移行するにあたり、ZOZOはカサレアルでJavaとSpring Bootに関するトレーニングを実施することに決めました。

今回、カサレアルはZOZOにインタビューを行い、カサレアルに研修を依頼しようと思ったきっかけ、研修の成果、今後の展望についてお話をうかがいました。

まずはカサレアルに研修を依頼されたきっかけを教えてください!

はい。ZOZOでは2017年から進めているZOZOTOWNのリプレイスプロジェクトについて、モダンアーキテクチャへのリプレイスをしているところです。リプレイス以前の言語はVBScriptで、新しいシステムはJavaになるのですが、まだJavaを触っていないメンバーもいます。でも、最終的には全員が新しい技術スタックに習熟していく必要があると思っているので、その土台作りのために今回研修をお願いして、トレーニングを開催することになりました。

瀬尾さん

「リプレイスプロジェクトの土台づくりが必要だったのも研修をお願いした理由ではあったんですが、もうひとつ理由があります」と、瀬尾さんは続けます。

アプリケーション開発側もそうなんですけど、インフラエンジニア側もコードの読み書きができた方が強いSREになるというのが私の持論としてありまして。そういう、強いSREを育成するというのも目標のひとつにありました。だから今回、SREにもトレーニングを受けてもらいました。

リプレイスプロジェクトを通じて、より安定的かつ効率的な運営を実現して、ZOZOTOWNをより多くのお客様に使っていただけるサービスにしていきたいという目的で、今回研修をお願いしました。

瀬尾さん

新しいシステムを開発する言語として、Javaを選定した理由にはどんなものがあったのでしょうか?

瀬尾さん

教育と開発の両立へ。エンジニアがカサレアルを推薦

かくして、カサレアルに研修を委託することになったZOZOですが、それ以前には内製での研修実施を考えていただけでなく、実際にマンツーマンでの教育を実施していたといいます。

社内でJavaを使っているメンバーが、他のメンバーを教育するために自作した教育用コンテンツが既にありましたし、それを使って開発業務のかたわらで育成することもやってはいました。ただ、ペアプロで問題を解いたり、質問を受けたらそれに答えたりといった、マンツーマンでの教育コンテンツになっていたので、多人数を対象にしたものではありませんでした。それからメンバーからも、「教えることが結構負担になってしまっていて、開発業務もあるので困っています」という相談があったので、外部に頼むことにしました。

瀬尾さん

確かに開発もやりながら、教育もしようとすると負担は大きくなりますよね。ちなみに、カサレアル以外の会社も探されたのでしょうか?

はい。カサレアルさん以外の会社も探したりもしたんですが、JJUG CCC(※)でカサレアルさんの講演を見ていた社内のエンジニアから推薦があったのと、実は私自身も新卒入社したときのJava研修がカサレアルさんだったので。そのときの教育コンテンツよかったなっていう憶えがあって・・・

瀬尾さん

え!?

瀬尾さんの新人研修、カサレアルだったんですか!?

はい(笑)。それで今回、カサレアルさんから実際に提案してもらって、「いいよね!」となったので、そのまますんなりと依頼する流れになりました。

瀬尾さん

嬉しいご縁ですね!瀬尾さんを育てたのはカサレアルなんですと自慢したいですね〜

ZOZOのエンジニアと新システムに合わせたカリキュラム

カサレアルはJavaの研修には強みを持っており、エントリーレベルから応用レベルまで12コースを揃えています(2022年2月現在)。その中からZOZOが選んだのは『Javaプログラミング基礎』と『基礎からのSpring BootによるWebアプリケーション開発(※)』の2コースでした。

▼Javaエンジニア育成研修
実施期間:2021年8月23日〜11月12日(5日間×4回の計20日間)
受講者総数:72名(18名×4回)

毎月1-2回のペースで下記2コース5日間を定期的に開催(ZOZO繁忙期を除く)。
受講者は業務都合にあわせて、いずれかの開催回で受講。

1. Javaプログラミング基礎(3日間)
実際の業務システムに対応できるよう、オブジェクト指向を活用した実装手法だけではなく、クラスライブラリやデータベースアクセスの基礎など、 開発現場で利用頻度の高い機能についても学習。
2. 基礎からのSpringBootによるWebアプリケーション開発(3日間)
Spring初学者の方を対象として、基本的なWebアプリケーション開発方法を講義 + 演習で学習。

今回の受講者は、VBScriptでの開発経験があるアプリケーションエンジニアとSREのエンジニアです。SREのエンジニアは開発がメインではないものの、自動化スクリプトの作成などには慣れており、基本的なプログラミングの概念は理解していました。「一方で、オブジェクト指向の概念はおさえておいた方がよさそうと思いました。」と瀬尾さんは言います。

オブジェクト指向の概念はおさえておいた方がよさそうというのは、どういう理由からだったのでしょうか?

SREのエンジニアの中には、スクリプトなどは書きますが、オブジェクト指向でがっつり書くということはしてこなかったメンバーがいます。また、ZOZOTOWNを作り始めた17年くらい前にはそれが流行っていなかったというのもありますが、社内のVBScriptのコードもオブジェクト指向で作るものにはなっていませんでした。でも、これから新しくシステムを作る場合、オブジェクト指向は基礎になるので、これはおさえておいた方がいいと思いました。

それから、Javaで書いているAPIサーバ、HTTP APIサーバをSpring Bootで作成していたことと、既に始まっているリプレイスにみんなが入ることを考えると、Spring Bootのコースも必須だと思って『基礎からのSpring BootによるWebアプリケーション開発』を選択しました。日程としてもこの2コースで5日間になるので、今回はこの2つでいこうと。

瀬尾さん

受講者の声、責任者の判断にも柔軟に対応

今回は受講者72名に対し、開催を複数回に分けて少人数制にし、かつコロナ禍の状況を鑑みてオンラインで実施しました。研修実施前・実施中・実施後の様子について、受講対象部門の責任者であり、自らも受講者だった山本さんにお話をうかがいました。

まずは研修を受講する環境のセットアップがありましたね。受講者のみなさん自身でご準備いただきましたが、PCはWindowsだったり、Macだったり、OSもBig Surだったり、Catalinaだったり、それぞれで異なる環境をお持ちでした。随時、オンラインチャットシステムで講師がフォローしておりましたが、大きなトラブルなどはなかったですか?

特になかったですね。研修が始まってからも必要なツールがインストールできないとかで詰まっている人はいましたが、サブ講師の方が裏側でフォローしてくれていました。誰も取り残されることなくスムーズに進行できたかなと、非常に感謝しています!

山本さん

ZOZOの事務局のみなさんにもフォローいただけたおかげです!

4回の開催に分けた研修の運用についてはどうでしたか?

こちらも大きな問題や課題は出なかったと思っています。運用上、72名なら4回くらいに分けるのが限度とは思っているのですが、それでも業務の都合で講義中に抜けなきゃいけない人がいましたね。戻ってきたときに質問しづらいこともあるので、より少人数でやれるともっとよかったかもしれないとは思います。ただ、中座した人たちでも理解が追いつかなかったとかはありませんでしたね。

山本さん

なるほど、確かに途中で抜けてしまうと、戻ってきたときに質問しにくいと感じるかもしれないですね。今回は1回あたり18名程度の開催にしましたが、もっと少人数にしてもいいかもしれないですね!

研修の準備、運用は問題なく整えられ、いよいよトレーニングが開始されました。講師はリプレイス計画に合わせて、通常のコンテンツにはないトピックも適宜含めながら講義を進めました。第1回開催の終了後にはZOZOとカサレアルで振り返りを行い、受講者からのアンケート結果を一緒に確認しました。

<第1回開催の受講者アンケートより抜粋>
とても満足。書籍などで取り組むよりも5日間の研修で理解できた
Javaの基礎とSpring Bootの日数が逆だとよかった。進み方がSpring Bootの方が駆け足になっていた気がする
講師の方々の丁寧な解説があったおかげで、環境依存のトラブルなどで立ち止まること無く完走することが出来ました
演習が作業になってしまっていた感がありました(よく分かってなくてもできてしまう)。
初めて触る技術だと、よくわからないところがあっても質問の言語化が難しい

本研修の効果を最大化するため、上記のようなアンケート結果も踏まえて、カリキュラムの重み付けを調整しました。

ZOZOではSpring BootでマイクロサービスAPIを作ってはいるんですけど、WebサービスをそのままSpring Bootで作ることはしておらず、HTMLの生成までは不要でした。アンケート結果も「駆け足で、ついていくのが大変」という結果が多かったので、それも踏まえてWebの部分を薄めに、その他の部分を厚めにしていただきました。正直、カリキュラム変更してもらえるとは思ってなかったので、こういうふうに臨機応変に対応してもらえるっていうのもカサレアルさんの強みなのかなと、感嘆いたしました!

瀬尾さん

カサレアルにとって、受講者や事務局のみなさまからの直接のフィードバックはとても大切です。第1回開催は講師のサービス精神がやや多すぎたようですが、すぐに改善できるのもカサレアルの大きな強みです!

72名で受講した効果:ひとりでつまずく時間を減らす

山本さんは、「最初はこの短い期間でカリキュラムをすべて理解できるのか不安でしたが、大部分を理解することができ、一定の成果が得られました。」と振り返ります。リプレイスプロジェクトが進行しているとはいえ、開発の大部分をVBScriptで経験してきた受講者の中には、Javaを触るのも初めてというメンバーがほとんどだったと言います。マンツーマンでの内製教育にもトライしたことのあるZOZOですが、総勢72名で外部研修を受講することには、どんな効果があったのでしょうか。

受講したメンバー全体で「Javaってこういう言語だよね」という共通理解が得られたのは成果でしたね。Javaの開発をスタートするときに、一、二歩進んだ状態に持ち上げられましたし、”自分だけが知らない”という状態が少なくなりました。隣のメンバーにも相談しやすくなったので、ひとりでつまずいて止まってしまう時間を少なくできました。

山本さん

みんなで一緒に外部研修を受ける大きな効果ですね!

今回の研修では「オブジェクト指向」もひとつのキーワードになっていましたが、それについてはいかがですか?

オブジェクト指向やクラスの概念は、ZOZOの基幹システム開発の標準としてまだしっかり定着していないので、今回の研修を受講したことで、VBScriptで開発するにしても、活きる部分があったんじゃないかと思います!

山本さん
<第2回開催以降の受講者アンケートより>
非常に丁寧で、ペースも無理がなかった。資料やサンプルコードも充実していてよかったです
JavaやSpring Bootに関して体系的に学べた。裏側の仕組みなど、検索して勉強するだけだと学びにくい内容まで、教えていただけた
10年振りにJavaをやったのですが、基本構文はとくに変わらず少し安心しました。Spring Bootあたりから少しずつ理解が難しくなったのでそこが悔しいです。私はSRE所属ではありますが、Javaアプリ開発の知見を得られたのでとても良かったです
今まではPythonのみでの開発でしたが、Java研修を通して改めてプログラミング自体の考え方、基礎を学べました。Javaでできることも理解できたと思います。

「ファッションを“買う”ならZOZO」から、「ファッションの“こと”ならZOZO」へ

最後に、ZOZOとしての今後の展望をお話いただきました。

ZOZOは代表取締役社長に澤田が就任して、新しく経営戦略:「MORE FASHION × FASHION TECH」を掲げました。この経営戦略に基づいて、「ファッションを“買う”ならZOZO」から、「ファッションの“こと”ならZOZO」を目指して、ファッションとテクノロジーを掛け合わせたさまざまな取り組みを進めています。ファッションアイテムを買うだけじゃなくて、ファッションに関する要望とかソリューションを探すときにZOZOTOWNが頭に浮かぶような存在になりたい。その目指す姿を実現するために、BizDevOps(※)が開発組織となる体制を作りたいと思っています。3つのセクションが連携してひとつのゴールに向かえるように、BizDevOpsを実現できるための下地として、株式会社ZOZOテクノロジーズと株式会社ZOZOの会社統合がありました。今後はBizとDevがより密接に連携して、さらにスムーズに開発を進められるような体制を作って、知識も高めて、全社一丸となって進めていきたいです!

瀬尾さん

※BizDevOps…BizDevOps(ビズデブオプス)は開発部門と運用部門を密に連携するDevOpsにビジネス部門を加えた3者で協力してIT推進を行う事を指す(Wikipedia BizDevOpsより)

担当講師が感じたエンジニアの成長

講師 石井

瀬尾さんが最初に入社されたのは、私どもが新入社員研修を行った会社だったのですね。私どもの新入社員研修を受けた方が、世の中の第一線で活躍されているのは、とても嬉しい限りです。

研修は、受講者のパートごとの理解度やアンケート結果を踏まえ、顧客研修担当者様との振り返りでカリキュラム内容に強弱をつけるポイントを確認しつつ、実施いたしました。

研修前半のJavaプログラミング基礎パートを実施中、受講者さんから、「実は以前独学でJavaを学ぼうとしたのですが、オブジェクト指向やクラスの概念で挫折してしまいました。今回、イチからわかりやすく教えていただけてJavaへの苦手意識がなくなりました。」というフィードバックをいただきました。業務でプログラミング言語を使うことはほとんどない方々もいましたが、皆さんしっかりJavaの基礎を身に着けることができました。

また、後半のSpring Bootのパートに関しても、「独学では難解で手が出せなかったが、とても効率よく理解を深めることができた。」とのお声もいただきました。

サンプルコードや、実際に演習で作成したプログラムの挙動を確認しながら、Spring BootでWeb APIを開発する基本をしっかり理解いただけました。

実施後のアンケート結果からも、皆さんに満足いただけたようで、何よりです。

今後も、お客様に寄り添い、研修で達成したい目的に合致する研修を提供していきたいと思います。

顧客プロフィール

株式会社ZOZO

設立:1998年5月21日

資本金:1,359,903千円

売上高:147,402百万円(2020年度)

営業利益:44,144百万円(2020年度)

従業員数:1,381名※グループ全体(2021年12月末時点)