トヨタのエンジニアが「アルゴリズム」を学ぶ理由
2023/04/24
トヨタ自動車(以下、トヨタ)は、自社のデジタルトランスフォーメーション(DX)推進のため、「アルゴリズム」の活用に力を入れています。
2022年6月には、競技プログラミングコンテストを提供するAtCoderと提携し、新組織「デジタル変革推進室 アルゴリズムグループ」を発足。本連載でおなじみのAtCoder社長・高橋直大氏が担当部長としてトヨタにジョインし、プロジェクトリーダーを務めることになりました。
インタビュー後編では、前編に登場いただいた、トヨタのデジタル変革を推進する泉賢人氏、福島真太朗氏、軸丸晃年氏に加え、採用を担当する千々岩真志氏と橋本沙織氏にもご参加いただき、トヨタが求めるデジタル人財、トヨタが目指す未来について話を広げていきます。
22職種でデジタル人財を育成・採用
高橋:前編では、トヨタのさまざまな領域でデジタル活用を進めていることが分かりました。トヨタはエンジニアの育成にも力を入れており、僕も講師を務めていますが、アップスキリングプログラムも豊富に用意していますよね。
軸丸:今まさに、各部署がバラバラで行なっているデジタル関係の育成講座を、整備・体系化している最中です。デジタルツールの使い方を学ぶ初級講座も継続しつつ、統計的品質管理(SQC)や機械学習など、データサイエンスの中級・上級講座も強化しています。高品質な市販のオンライン動画講座サービスも活用しながら、やる気のある従業員一人ひとりがデジタルリテラシーとデジタルスキルを素早く身に付けることができる態勢を整えているところです。
高橋:トヨタのデジタル人財は、多岐にわたりますよね。どういった人財を育てようとしているのでしょうか。
軸丸:トヨタは昨年(2022年)の7月、デジタル人財を社内で正式に定義し、デジタル人財の育成や採用を更に強化しています。トヨタのデジタル人財は、「企画する人」「推進する人」「データ活用する人」「ソフトウェアなどをつくる人」の四つに分類されます。具体的には22種のポジション(プロダクトマネージャー,プロダクトデザイナー,アジャイル開発エンジニア,アルゴリズムエンジニア,AIエンジニア,データサイエンティスト等々)があり、その大部分(19種)は世間の多くのデジタル関連企業でも一般的に育成・活躍している人達の仕事です。三つ(支援「行動」人財,デジタル化推進人財,IT活用人財)はトヨタ特有のデジタル人財です。22種のうち、どれか一つだけ目指す人がいても勿論よいのですが、どちらかというと、複数の役割を担うことができる多能工的なデジタル人財を育成していこうと考えています。
高橋:デジタル人財=プログラマー、とひとまとめに考える方も少なくありません。そうではなく、「企画する人」「推進する人」「データ活用する人」「作る人」と4タイプに分けているのがいいですね。
職人の勘やコツを、アルゴリズムに置き換える
高橋:ここからは、アルゴリズム活用について話を進めたいと思います。現在、トヨタではアルゴリズムエンジニアを育てるために、さまざまな教育プログラムを提供しています。僕も関わっている講座が、「高度アルゴリズム応用ソフトウェア開発勉強会【事例編】」。アルゴリズムを使って社内外の業務をどのように改善したか、どういう変革を起こしたかという事例を解説しています。どちらかというと、「企画する人」に向けた教育プログラムですね。
一方、「高度アルゴリズム活用ソフトウェア開発勉強会【手法編】」は、AtCoderのコンテストの問題などを通じて実際に改善に取り組む「作る人」向けの実践的な教育プログラムです。「焼きなまし法」(※1)や「ビームサーチ」(※2)などをどう適用するか考え、コードを組めるアルゴリズムエンジニアの育成を目指しています。こういったアルゴリズム講座を開設した理由を教えてください。
※1=焼きなまし法
組み合わせ最適化問題に対する汎用(はんよう)的なアルゴリズムのひとつ。シミュレーテッドアニーリング法とも呼ばれる。
※2=ビームサーチ
探索アルゴリズムの一種で、組み合わせ最適化、自然言語処理、機械学習などに用いられている。
泉:トヨタをアップデートするためにもアルゴリズムの考え方が重要だと思い、教育プログラムを開設しました。トヨタが培ってきた「トヨタ生産方式」には、ふたつの大きな柱があります。それが「自“働”化」と「ジャスト・イン・タイム」。そのうちの「自“働”化」は、端的に言えば誰かの仕事を楽にすることです。高橋さんは、よく「ニンジンを星形に切ろう」という課題に対し、薄く切ったニンジンをひとつずつ星形に切っていくのか、もともと星形にしたニンジンを薄くスライスしていくのか、どちらがより効率的か?という話をされますよね。それで言うと、後者がアルゴリズム的な考え方です。
軸丸:トヨタは、日々の改善の積み重ねや、匠の技、長年培った「カンコツ(勘やコツ)」で成り立っている職場が多い。だからこそ、アルゴリズム教育が重要です。新しい考え方や全く別のアプローチを学ぶことで、「あ、その手があったか!」と気づくきっかけになり、気づいた新しいアルゴリズムによって、現場のスキルや匠の技をさらに引き上げることができるでしょう。
高橋:アルゴリズムの強みは、「カンコツ」や職人技を代替できるところですよね。これまで「カンコツ」に頼っていたことの再現性を高めるために、アルゴリズムに置き換えていく。そういった講義をしています。
解決すべき課題を見つける、問題設定が大切
高橋:今、トヨタが求めているのはどのようなデジタル人財でしょうか。
千々岩:ひと口にデジタル人財と言っても、その領域は多岐にわたります。クルマの基本性能である、“走る”・“曲がる”・“止まる”という安心安全な機能要求に加えて、リアルタイムに周辺環境を認識・判断し、最適な制御を絶え間なく続けるための処理や、コクピットのナビゲーション表示などもソフトウェアが担っています。コネクティッドカーを筆頭に、クルマはあらゆるものとつながり始めているので、自動車内部のシステムだけでなく、クルマの外、つまり販売店や整備工場、スマホアプリなどあらゆる領域においてデジタル人財が必要とされています。活躍の場はどんどん広がっていますね。
高橋:22種類も職種があると、それぞれ求められるスキルも違うのではないでしょうか。どのようにして人財を見極めているのですか?
橋本:おっしゃる通り、職種によって求められる専門性や経験は異なるため、各領域で相応の専門性や経験があるか見定めています。ですが、それ以上に大切なのが仕事に対する思いです。トヨタは「幸せの量産」をミッションに掲げ、「誰かのために」という思いを大切にしています。ですから、応募してくださった方の仕事に臨む姿勢、どんなチャレンジをしたいのかをしっかり見極めるようにしています。
高橋:福島さんも採用に関わっているそうですね。採用にあたって、現場の意見も重視しているのでしょうか?
福島:もちろんです。応募者のスキルや経験が職種とマッチしているかどうかを見定めるのが、まずひとつ。また、トヨタのほぼすべての仕事には前工程と後工程があるため、全体の工程を意識して仕事を組み立て、技術を活用できるかも、見極めています。
千々岩:ソフトウエア技術やデジタルの知見を生かしながら、いかに周囲を巻き込んで仕事を進めていくかという点も重要ですよね。プログラミング技術の高さだけではなく、未来のモビリティ社会をどのようにつくるかを真摯(しんし)に考え、一緒に取り組める仲間を求めています。
泉:トヨタには「豊田綱領」があります。その冒頭にあるのが、「上下一致、至誠業務に服し、産業報国の実を挙ぐべし」という一文です。「産業報国」とは、その産業をもり立てて国に報いようという考え方。自動車産業には約550万人が関わっているため、トヨタのためだけに利益を追求するのではなく、自動車産業、ひいては国に貢献したいという熱い思いを持つ方を採用したいですね。
高橋:「豊田綱領」は、僕がトヨタでの仕事を考える上でも重要な指針になっています。僕は今、トヨタに勤務していますが、自分だけですべてを決められるわけではありません。そういう時に、「これを守ればいい」という絶対的基準があると動きやすいんです。それに、「豊田綱領」には、「研究と創造に心を致し、常に時流に先んずべし」という一文もあります。つまり、アルゴリズムはどんどん活用していいということだと解釈しています(笑)。
例えば、アルゴリズム開発力は高いけれど、システム開発のことは全然わからない、といったような、特定のデジタルスキルは高いけれど他のデジタル要素は不得手、というエンジニアもいますよね。そういう人財はトヨタには合わないのでしょうか?
福島:どんなスキルセットをお持ちの方であれ、問題を認識し、その重要性を自分の言葉で語り、みんなを巻き込みながら解決に向けて進める力が弱いと、活躍できる範囲が狭くなってしまうと思います。
トヨタでは、すでに問題が定義されあとは解くだけ、という業務は多くありません。デジタルスキルが強みになる局面はもちろんありますが、将来に備えて解くべき課題を見つける問題設定が重要なんです。そして、なぜその問題が重要なのか、優先度はどれくらいなのか、何がボトルネックになっているのかを考えていくことも大切。トヨタのエンジニアは入社3~5年目からこうしたレポートを書くため、そういうカルチャーが浸透しているんですよね。
高橋:なるほど、確かにそうですね。僕自身もトヨタで仕事をしているので、今の福島さんのお話が身に染みてわかりました。当初、僕は与えられた問題を解く役割になると思っていたんです。でも、どうやら、他の社員が問題視していないところに課題を見つけるという問題設定でも、パフォーマンスを発揮できているようなんです。
一方で、問題を設定してそれに対してどのような解決手段が妥当かを判断することは、スキルがなければできませんよね。解き方を知っているからこそ、「これが問題です」と明確に定義できるのではないでしょうか?
福島:おっしゃる通りです。解き方をイメージできなければ問題設定もできませんし、問題設定だけで解決手段をイメージできなければその先に進めません。机上の空論として問題を設定するのではなく、技術的なバックグラウンドがあり、DXやAIの専門性に裏付けられた現実的なアプローチを描ける人財が、これからのトヨタには求められると思います。
高橋:アルゴリズム的な課題解決手法を体得している競技プログラマーは、それを無意識で行っていると思うんです。問題によって「これを取り込んでもどうしようもないな」というデータと「これは重要だから扱うべき」というデータがあり、それを無意識に取捨選択していますから。そのバランス感覚がずれた人が関わると、問題とまったく関係のないデータを渡されたりします。ですから、実際に開発を行うエンジニアが問題設定するのが一番簡単なのですが、理想を言えば、誰もが問題設定も解決もできるようにしたほうがいい。そのためにも、アルゴリズムグループが提供する教育プログラムを通じてさまざまな事例をトヨタのエンジニアに学んでもらいたいと思います。
競技プログラマーとつながることで、幅広い「カイゼン」に取り組む
高橋:先ほど、デジタル人財には「企画する人」「推進する人」「データ活用する人」「作る人」の4種類がいるというお話がありました。私は作る側の人間なので「作る人」はイメージができます。それ以外の3種類は、どのようなキャリアの方になるのでしょうか。
福島:「データ活用する人」は、データサイエンティストやデータエンジニアです。オンライン広告の配信事業に携わっていた方、データ分析の受託をしていた方などもいます。データを使ってどのような問題を解くべきか、データを分析してどんな価値を見いだすかというプロセスに携わっている人が多いです。
高橋:「企画する人」「推進する人」はいかがでしょうか?また、先ほどトヨタ独自の3職種があるという話がありましたが、その方々はどうやって採用しているのでしょう?
泉:企画・推進は、いわゆるサービスデザインに関わる仕事です。UX、UIデザインができる人財は、日本ではとても少ないんです。採用が難しいのですが、トヨタ生産方式には「物と情報の流れ図」があり、サービスデザイン、ビジネスデザインにも有効なツールとなっています。そちらに基づき、社内の人財をいかにアップスキリングしていくかが重要だと思います。同様にトヨタ独自の3職種も採用が難しいため、社内での育成に力を入れています。
高橋:確かにそういった職種に関しては、社内の人財を育成するのが妥当ですね。では最後に、デジタル人財の育成・採用において、AtCoderが力になれるのはどんなことだと思いますか?
千々岩:社外から見ると、まだトヨタとデジタル人財のイメージが結びついていないと思います。AtCoderとの取り組みを通して、トヨタとデジタルの結びつきを少しでも知ってもらえたら、と思います。
橋本:私も同意見です。トヨタには、デジタル人財が活躍できる領域がたくさんありますが、まだまだ周知が足りていません。新卒採用では、競技プログラミングの経験がある方も時々いらっしゃいます。トヨタの業務との相性もいいので、ぜひ応募していただきたいです。
泉:10年後、20年後のトヨタは、社内外とオープンにつながり、お客さまのためにさまざまなサービスを提供する事業体になっているのではないかと思います。クルマに乗っている時間はもちろん、降りてからもお客さまに体験価値を提供するには、オープンなコミュニティと連携する必要があります。AtCoderと取り組みを始めた理由のひとつも、コミュニティを築くため。競技プログラマーのコミュニティとトヨタがつながることで、新たな価値を生み出せたら、と思います。
トヨタは規模が大きい会社ですので、課題も多岐にわたります。物流ネットワークを最適化してCO2排出量を減らせば、社会課題の解決にもつながるでしょう。さまざまな領域で最適化を実現するためにも、AtCoderと共にプログラミングコンテストを開催し、課題解決に取り組んでいきたいと考えています。
高橋:競技プログラマーが、トヨタで活躍する可能性も大いにあると思いました。競技プログラマーが多く勤務しているIT企業はすでにたまっているデータを扱うことが多いです。それに対して、トヨタのようなモノづくりの会社では、工場での各製造工程や人力で行っている作業などをどうデータ化するか、データをどう活用するかといった、デジタル化を構想するところから始めるので、型にはまらない特別な仕事ができると思いました。トヨタとAtCoderが力を合わせれば、より幅広い「カイゼン」に取り組めるはずです。
今、アルゴリズムグループでは現場で顕在化している課題の解決を中心に取り組んでいますが、今後は、より高い視座からの課題解決にも関わっていけたらうれしいですね。