チームの仕事

リードエンジニア(Tech Lead)たちによる大規模サービスのアーキテクチャ刷新

モノタロウのITエンジニアによる特別座談会

  • Mさん
  • Mさん
  • IT基盤グループにて、内製ソフトウェアを開発しやすくするために、コードや実行環境の改良を担当
  • Nさん
  • Nさん
  • IT基盤グループにて、要素技術の調査や開発を担当
  • Kさん
  • Kさん
  • データ基盤グループにて、販促管理システムやBIシステムの運用と開発、新しいデータ分析・処理基盤の構築を担当
  • Yさん
  • Yさん
  • システムインフラグループにて、サービス立ち上げ時のインフラ構築を担当。システム障害発生時の復旧作業や、再発防止のための原因調査も行う

現在力を入れて取り組んでいることについて教えてください

最近は内製ソフトウェアを作りやすくするために、既存プログラムのコード整理に注力しています。
複数のプログラムで重複しているロジックをライブラリ化したり、Webアプリのフレームワークなどを内製のものからOSS(オープンソースソフトウェア)や外部サービスの呼び出しで置き換えたりする作業ですね。
開発者によいソフトウェアを素早く開発してもらう仕組みづくりが目的です。

Mさんと重複する部分もありますが、既存のシステムの要素を置き換えていくための部品の調査・開発に力を入れています。
OSSや外部サービスを実際に使ってみて、それをどう当てはめるとまわりで起きている困りごとを解決できるかを考えて、開発の現場に提案していくのが主な仕事です。
時には現場のチームに混ぜてもらって、新しい道具を持ち込んで具体的な課題を一緒に解決することもあります。つい先日はKさんのところで構築しているデータ処理基盤を利用して、処理時間が問題になっていたバッチの課題を解決しました!

Nさん、お役にたててよかったです!(笑)
最近力を入れているのは新しいデータ分析・処理基盤の構築ですね。モノタロウには大量のデータが存在しているものの、まだまだそのポテンシャルを十分に活用できているとは言えないんです。
販促などのデータにとどまらず、膨大かつ多岐にわたる社内のデータをすべて集約し、高速に分析・処理が可能なデータ基盤を目指し、BigQuery, embulk, digdag, Dataflowなど様々なプロダクトを組み合わせて新しい基盤の構築を進めています。 膨大なデータを高速かつ安定的に処理するという、非常にやりがいのある業務を担当させてもらってます。

私はシステムの構築・運用全般を担当しているのですが、モノタロウはシステム開発だけでなくインフラの構築や運用も内製しているので、運用を通したシステムの改善やチューニングも行っています。
また、クラウド上の新しいサービスの取り入れも積極的に進めています。現在は、モノタロウの主軸サイトであるwww.monotaro.comのインフラを、オンプレミスからAWSに移行するプロジェクトを指揮しています。
今後の会社の成長を支えるにはクラウドサービスを有効活用することが最善と考えてます。当然、単に移行して終わりではありません。まずは滞りなく移行させ、移行後もサービスレベルを落とさないこと、今後の成長にあわせて最適化するのがミッションです。

02 02

今回お集まりの4人の関係性について教えてください

既存コードの整理統合、データ分析基盤の構築やクラウドサービスの活用など、それぞれのポジションで取り組んでいる中身は違いますが、「アーキテクチャを刷新する」というミッションでつながっています。
モノタロウには、アプリケーション、インフラ、外部サービスといった、モノタロウのITシステムを構成する仕組み全体を進化・発展させるための、チームを超えた活動があります。

今回集まったのはその中の技術面のリーダーたち、ということになります。
モノタロウっぽく「サムライたち」と言ってもいいでしょう(笑)。

02

「アーキテクチャを刷新する」というミッションの重要性について教えてください

それはもう、今後の成長を考えるとかなり重要だと思います。

モノタロウの設立は2000年ですが、毎年約20%前後の成長が続いており、ITが会社のエンジンとなって事業を根幹で支えてきたことがこれまでの成長の大きな要因だったと言えます。

そんな中で、いよいよ売上高1,000億円、1,500億円の到達が見えてきました。
一方、世の中のIT技術のトレンドはこの十数年で大きく変化していて、今では短期間でサービスを開発し大きくするための技術や、優れたソフトウェア、サービスがたくさん登場しています。

今後さらに飛躍的な成長をとげるために、設立当時に構築した仕組みの限界を超えて、そういった今のIT技術の上に我々のシステムを移行してシステムの性能と開発のスピードの両方を引き上げる必要があるんです。

そういう意味で、「これからの成長をけん引していくには、これまで以上に優れたエンジンをITで実現しなければ」という使命感があります。

まさにそのとおりですよね。
単に技術面のリーダーだけでなく、実現に向けてミッションを引っ張っていく中心的役割、すなわちサムライなんです(笑)。

02 02

エンジニアがモノタロウで働く魅力について教えてください

エンジニアが主体的に能力を発揮できるところですね。
現実問題、自由に仕事できなくて、辛い思いをしているエンジニアは世の中に少なからずいるんじゃないでしょうか。
でも、モノタロウではエンジニアが虐げられることはないです。社内政治もありませんし。

Kさんは社内政治があっても気に留めない人ですよね(笑)。
確かに「素早く実験して計測する」「間違っていたら素直に認める、受け入れる」という文化が浸透しているので、新しいことを試させてくれないとか、うまくいっていないことを無理やり押し通すとかはないですね。
むしろ、新しい提案に対して「早く実験して結果を見せて!」と目をキラキラさせて後押ししてくれるので、エンジニアとしては前向きかつ主体的に仕事ができる会社だと思います。
また、これだけの事業規模と成長スピードを支えるシステムの開発・運用を経験できることもエンジニアにとってはやりがいが大きいですよね。

私は比較的みなさんより社歴が長いんですが、どの部門が上だとか誰々の言うことは絶対だ、みたいなものは全くないですね。
モノタロウには「他者への敬意」を大切にする文化があります。もちろん組織なので、人によって役職や権限の違いはありますが、人間関係も組織間の関係もフラットです。
それが、改善や新サービス導入等の提案もしやすい理由の一つじゃないかと思います。提案が良いものであるならば採用もされやすいですし、間違っても理不尽に阻害される要素はありません。
論理的に物事を考え、実直に真面目に仕事ができる環境と言えます。それはエンジニアにとってかなり魅力的だと思います。

私も人間関係がフラットだというのは入社してすごく感じました。
職位や役職に関係なく自由に意見が言えて、しっかりと話を聞いてもらえますね。
また、大小さまざまな課題に対して、解決することでより高い価値を生む課題を自分で選択して取り組む、その裁量が現場に委ねられる部分も多いです。
そんなところも魅力です。

本当にそうだと思います。
そのおかげでチームでも個人でもみんな楽しんで仕事に打ち込んでいる人が多いように思いますね。

エンジニアだけがいる会社ではないので、ビジネス全体を知ることができるのも魅力ですよね。
他の部門やチームの人とか、みんなで一致団結してより良いものを作っていこうという空気感もあります。

自分の仕事がモノタロウのビジネス全体とつながっているという実感がありますよね。
ほとんどのシステムが内製なので、注文を受けるWebサイトはもちろん、商品の仕入れから出荷まで、どのような制御を行っているかを自分達自身の目でソースコードレベルで確認でき、必要なときには、すぐ、直接手を加えられます。
コードを通じてビジネスがわかること、世の中の変化に合わせて素早く変更できること、フィードバックをダイレクトに得られることもエンジニアとして魅力ある側面の一つだと思います。

02 02

5年後を見据えたエンジニアとしてのチャレンジは何ですか?

大きく二つ。一つは「変化を伴う成長」です。
今後の成長を支え続けるには、単純な移植やスケールアップではなく、システムの性能や品質が格段に向上するような、質的な変化を織り込んでいく必要があります。
いかにして、「動いているシステムやプロジェクトを停めずに、変化を取り入れ、それをモノにするか」は、エンジニアとして大きなチャレンジですよね。
もう一つは、モノタロウのビジネスを通じて生み出されるデータの活用です。蓄積されたデータ、日々発生するデータを効率よく処理して、リアルタイムにできることを増やすこと、IoTを通じて新たな分析や効率化をもたらすことが必要となってきます。

システムへの要求の多様性が増していく一方で、求められる品質のレベルもどんどん上がってきています。
システムの全体をしっかりと把握し、障害がそもそも表面化しないようにするにはどうしたらよいか、もしも発生したときのお客様への影響を極小とするにはどうしたらよいかを考え、それを実現できるシステムを作り変えていくこと、日々拡張を繰り返しながら稼働しているサービスを止めることなく置き換えていくことが今後モノタロウのエンジニアに求められるチャレンジですね。

会社が成長するにつれて、それまで単純な処理だったものが困難になり、それを解決するためにさまざま部分でシステムが複雑化していきます。
複雑さを一貫性あるものにし、5年後さらにビジネスが拡大した状況でもきちんと処理できるだけのスケーラビリティとサステナビリティを備えたシステムのアーキテクチャを構築していくことがやはり必要なチャレンジだと思います。
また、それに伴って組織が拡大した場合にもスピードを落とさない開発体制の構築・維持についても同様です。

今後のさらなる成長においてはモダンなアーキテクチャへの移行は不可欠です。
また、ITエンジニアは自社サービスを十分に理解した上で、自身の手で自社のシステムを創っていくことが求められます。
既存システムの移行や刷新は簡単ではありませんが、そこには大きなチャレンジがあると思います。

02 02

アーキテクチャ刷新を目指す上で、それぞれの今後の目標について教えてください

新しいデータ基盤の構築では、社内のすべてのデータをリアルタイムに分析・処理するために、データをリアルタイムに集約するデータパイプラインを用意したいですね。
それにより、データドリブンなPDCAのサイクルをできるだけ早く回せるような仕組みが作れると考えています。
また、基盤構築を進めていくのと同時に、個人的には勉強会の促進や評価のための取り組み、利用しているOSSへの貢献などを通して技術ドリブンでビジネスをどんどん拡大していけるような組織づくりをしていきたいです。

メンバーが開発をする上で気にしないといけないことをなるべく減らし、開発以前に重要な「何をどうやれば一番価値に繋がるのか」を考えることに一人一人が時間をかけられるようにしていきたいです。
そのために開発フレームワークの整備を地味にじわじわと進めていきます。メンバーへの意識付けや文化づくりも進めていきたいですね。

モノタロウのシステムには設立当時に構築した仕組み、つまりレガシーなものが残っていることも事実です。
その中には業界標準から外れているものもあり、他社との差別化が図れない、誰が作っても変わりない一般的な箇所までもメンテナンスの対象となる場合があります。
業界標準のものは積極的に取り入れ、アプリケーションもそれに合わせる事でモノタロウ独自の箇所に100%注力できるよう、システムを刷新していきたいと思います。

チームとして進めてるのは、数年先を見据えたソフトウェア開発の基盤となる技術の整備です。またその先の姿として、継続的にシステムが改善され、若いITエンジニアが開発を通して技術を継承していけるような環境を実現していきたいと思っています。

02

最後に、一緒に仕事をしたいITエンジニアについて教えてください

さきほどYさんがおっしゃったように、敬意をもって人と接することのできる方ですね。
これはモノタロウで働く上での基本です。あとはやはりITエンジニアですので、技術や新しいものが大好き!手を動かすことが大好き!って方がいいです。
私の担当関連だと、ストリーム処理技術や並列分散処理技術に熱い思いをもったITエンジニアです!
現在構築中のデータ分析・処理基盤を発展させていく上では非常に重要です。

ソフトであれハードであれ、モノを作るのが好きな人と仕事がしたいですね。
論理的に物事を考える事が得意な方、モノを生み出す事が好きな方、リソースや既存システム等の制約の中、工夫して最大限のアウトプットを発揮する事に喜びを感じ取れる方など、モノタロウにはそのようなITエンジニアが多数在籍しています。
正直、IT業界では認知度は高くありませんが、ITエンジニアが力を発揮する環境、自分達の手で改善できる環境が整っています。
モノ作りは自身で考え、実際に手を動かし、試行錯誤を経て完成します。
そこに喜びを感じ取れる人はきっとモノタロウの自社サービスを創る事にも喜びを感じ取っていただけると思います。

テクノロジーに限らず、何か興味の対象を持っていて、それを仕事に活かしたいと思っている人と働きたいですね。
メンバーに加わってくれることで、会社に新しい変化をもたらしてくれる人。
モノタロウには他者への敬意、傾聴といった行動規範があり、ひとりひとりが自立したITエンジニアとして力を発揮できる環境があります。
同時に、世の中の技術や変化に目を向け取り入れていくことを是とする文化もあります。
自分の経験を活かして、ITエンジニアリングで会社の成長を支え、進化させてみたい人にぜひ加わってほしいです。

今いるメンバーが持っていない何か突き抜けたスキルを持っていて、一緒に働く中で学びを与えてくれる方と仕事をしたいですね。
ITエンジニアとして生きていくには常に学び続けることが大事です。自分たちがそれまで知らなかったことを知り、自分の今の守備範囲から踏み出していくきっかけを与えてくれることが、モノタロウの技術力の幅を広げ、事業の成長を支え、牽引する力になると信じています。
エキサイティングな職場で、次代のシステムを一緒に創っていける優秀で気概のある方と一緒に働けることを楽しみにしています!

02

TOP