経営課題を技術的なアプローチで解決!ビジネスを理解するとエンジニアリングがもっと楽しい
今回は、エイチームコマーステックでエンジニアのスペシャリスト人材として活躍するH.O.さんをインタビューしました。エイチームで10年以上にわたり様々な開発案件に携わり、新しい挑戦を繰り返してきました。エンジニアとしてビジネスの創出と成長に貢献し続けています。その背景にある戦略的なプロジェクト進行や貪欲な学びに加えて、ご自身が考えるビジネスとエンジニアリングの関係性ついてもお話ししてもらいました。
エイチームコマーステック エンジニア H.O.さん
2011年8月、エイチームに中途入社。以来、エンターテインメント事業のきせかえホームアプリ「+HOME」シリーズ、EC事業の「cyma」「Obremo」などの開発に携わる。AIの研究・開発プロジェクト「AI WORKING GROUP」のメンバーでもあり、近年は得意のデータ分析や機械学習の知見を活かしてAIの開発にも注力。現在は、エイチームコマーステックの経営課題を技術的なアプローチで解決するエンジニアのスペシャリストとして活躍中。
※2022年6月の取材時点のプロフィール
経営課題を解決する技術のスペシャリスト
経営課題を技術的なアプローチで解決することがミッション
得意領域であるデータ分析や機械学習などの知見を活かして、技術的な観点で経営課題に関するアドバイスや提言を経営陣に行いつつ、プログラミングでプロダクト開発も行うエンジニアのスペシャリストとして働いています。現在はEC事業を手掛けるエイチームコマーステックに所属しています。
事業の成長には「スピード感」が欠かせません。経営と技術の距離感が近いことで、課題解決のスピードが格段に速くなる。今のポジションは子会社社長直下であるため、プロダクトの技術的な課題をスピーディに経営にフィードバックし、迅速な経営判断を仰ぐことができます。
コード至上主義だった若手時代
社会人になってからずっとエンジニアを続けていますが、若い頃はコード至上主義者というか、とにかくプログラミング自体が好きで、コードを書いているだけで喜びを感じていました。
しかし、エイチームに入社してから考え方が変わりました。あることをきっかけに、「自分のつくっているものがビジネスにおいてどれだけの価値を持つのか?」ということを意識するようになりました。
美しくないコードで、苦痛と不満を感じながら行ったプログラミング
入社間もない頃、あるアプリの開発を担当していました。そのアプリの業績が伸び悩んでいた時期で、利益が十分でないためにリニューアルもできない状況でした。
そんなとき、「検索窓」のライブラリ導入という改修を行うことになったんです。そのコードはパートナー企業のエンジニアが書いたものでしたが、それがコードとして決してキレイ(わかりやすく汎用性が高い)とは言えず、取り急ぎ間に合わせたようなものでした。その実装を私が担当したのですが、当時の私はまだコード至上主義者。キレイではないコードを扱うことが苦痛で、不満を感じながら対応しました。
ビジネスのフェーズにあわせてスピードとクオリティのバランスを調整
しかし、それを実装してリリースをしたところ凄く利益が出たんです。その利益によって大規模なリニューアルを2回も行うことができました。もちろんリニューアルの際は、わかりやすく汎用性が高いコーディングを心掛けることができました。
このときに私が学んだのは、ビジネスの成長フェーズによって求められるクオリティが変わること。そして、エンジニアはそれをコントロールする必要があること。
たとえば、アプリをリニューアルする際にはコードをキレイに書くことが大事かもしれません。しかし、それを実践するためにはコストが必要です。そのコストに見合った確度の高いリターンと投資資金が無いのであれば、まずは利益を出すことを優先すべきであり、それをスピーディに実行するためには必ずしも時間をかけて良いコードを書く必要はないわけです。
この経験をしてから、ビジネスにおけるコードの価値について考えるようになりました。コード至上主義の考えがガラリと変わるほどの衝撃的な経験でした。
プログラミングの価値をはかるためにビジネスを理解
ビジネスにおけるプログラミングの価値について意識するようになったものの、ビジネスに対する理解がまだまだ及んでいないと気づきました。そこから、ビジネスに興味を持つようになり、ビジネスとエンジニアリングをつなげたいという想いを抱くようになりました。
事業戦略、中長期的な目標、事業の特性やKPIなどもわかっていないといけない。分析もできないといけない。では、データ分析や機械学習の理解も深めよう。そうした経緯もあって、後にAIの開発にも取り組むことになりました。
また、学びを深めていくことで、案件ごとに求められるスピードがわかるようになりましたし、発揮すべきクオリティやその結果得られる価値を考えながら仕事をコントロールできるようにもなりました。
未知の領域だったAI開発への挑戦
緻密な戦略と計画 × 一歩踏み出す勇気
最初にAIの開発に携わったのは、ゲームの広告配信システムに関する案件です。初めての取り組みでしたが、時間をかけずに短期間でリリースをしました。その後、戦略的に改善を繰り返して、リリースから2~3ヵ月で成果を出すことができました。
初めての挑戦は慎重に進めたいものです。綿密に調査や検証をするなど時間をかけたいと考える人が多いと思います。もちろんそれも大切ですが、前例のない領域に挑戦するときは、一歩踏み出す勇気も大切です。
前例のない領域は、どれだけ調べてもわからないことがあります。わからないからこそ、まずはやってみる。とにかく一歩踏み出してみる。そこからPDCAを回し続けて戦略的に改善していく。新しい施策を行っていく上では、そうしたスタンスが大事だと思います。
AIのノウハウをアセット化する取り組み
その後、AIを研究開発する全社横断プロジェクト「AI WORKING GROUP」のメンバーとしてAIの研究開発に加えて、社内へ向けたAIに関する情報共有会の開催やAI研修(※1)の運営などに携わるようになりました。
現在もAIに関する知見をドキュメント化して社内に展開するなど、会社にとってアセットとなるよう意識的に取り組んでいます。また、最近は自転車専門通販サイト「サイマ」で、在庫の需要を予測する「需要予測AI」や最適な商品を提案する「商品レコメンドAI」などの開発も担当しています(※2)。
ただ、AIは難しい領域ですので、社員にとってはとっつきにくいもの。もっと関心を持ってもらえるようにアウトプットを工夫していくことが今後の課題だと感じています。
※1 エイチームの人材育成戦略「AI基礎教育」を非エンジニアを含む全社員に実施!2021年度新入社員全員にも導入を開始
※2 「cyma-サイマ-」がAI(人工知能)を活用した新機能を開発!在庫の「溢れる」「足りない」を解消する『需要予測AI』、最適な商品を提案する『商品レコメンドAI』を実装!
ビジネスとエンジニアリングのバランス
ビジネスにおいてエンジニアに求められるもの
私はエイチームに入社してからビジネスへ興味を抱くようになりました。でも、組織においては以前の私のように良いコードを書くことにフォーカスしているエンジニアの力も必要です。
また、特定のポジションで力を発揮するエンジニアもいれば、柔軟に幅広く対応することが得意なエンジニアもいます。いろいろなタイプのエンジニアが適材適所で活躍できることが理想だと思います。
ただ、いろいろなタイプがいる中でも、ビジネスサイドが求めていることとエンジニアサイドの考えを結びつける役割を担う存在は必要です。事業やサービスを成長させていくためには、エンジニアのこだわりをビジネスでの成果に寄せていけるエンジニアが欠かせません。
ビジネスを楽しみたいエンジニアへのアドバイス
少し抽象的な言い方になりますが「点だけではなく線でも考えてみる」といいと思います。
コードなどの成果物を「点」とします。その「点」を単体で見るのではなく、チームメンバーが書いたコードや、ビジネスで使っているツールなど、他の様々な「点」を、「線」でつないでみると、自分が関わっているシステムの全体像や、それぞれの「点」の相互作用が見えてきます。「線」の先にはビジネスの成果があります。つまり、書いたコードが巡り巡ってビジネスでの成果につながっていることが分かります。「点」を「線」でつなぐことで、1つの「点」とは違った達成感や喜びが得られるはずです。
とはいえ、あまり「線」ばかりに気を向けるとエンジニアリングがおろそかになってしまうので、バランスは大切にすべきだと思います。
学びや挑戦を続けられる原動力は未来への探究心
おもしろい技術を扱っている。私はその行為自体に楽しみを感じられますし、それが自分のモチベーションの源泉でもあるように思います。
そんなモチベーションに知的好奇心、技術的探究心が刺激されて、学びや挑戦を繰り返すことができるのかもしれません。ただ、行為自体から満足感を得られるだけではなく、成果が出れば嬉しいですし課題が改善できれば喜びも感じます。
そして、私自身、未来に対する興味がつきません。これからどんな世の中になっていくのか、知りたいんです。未来にアプローチするには知識や経験、技術が必要です。これからも新しい知識や技術を貪欲に身につけていきたいと思っています。