音声アシスタントによって、キッチンでの料理風景を変えようとチャレンジをしているエンジニアがいる。
クックパッドでスマートスピーカー(Amazon Echo)向けスキル開発のリーダーを務める山田氏は、管理栄養士の資格を持ちながらエンジニアとして働いているという異色の経歴の持ち主。大学では栄養学を専攻していた彼が、なぜエンジニアという働き方を選んだのか?「食×IT」の先に見据えている世界とは何か?について語ってもらいました。
大学の授業風景をデジタル化したい
--本日はよろしくお願いします。山田さんは大学で栄養学を専攻する傍らでプログラミングにも取り組まれていたということで、非常にユニークな経歴をお持ちだと伺っています。栄養学を学びながら、プログラミングを始めたきっかけについて教えてください。
プログラミングを始めたのは、大学2年生の頃でした。その頃はただ漠然と、これから先「管理栄養士」というスキルだけを持って生きていくことに不安を感じていたんです。そこで、管理栄養士という専門性と掛け合わせることで飛び抜けられるスキルとは何か考えていました。
いくつか候補をあげて集中して取り組んでみて、最後まで続けられたのがプログラミングだったという感じです。他にも簿記やイラストなんかにも挑戦してみたんですが、自分はどちらも合わないなと感じました(笑)
もともと、管理栄養士の世界はアナログな部分が多くて、大学の授業でも生徒全員が分厚い栄養成分表とにらめっこしながらページを捲って栄養価を計算するという風景が日常的でした。
プログラミングを習得することでもっと楽にできるんじゃないか?という気持ちもありましたね。
--学生時代には、その問題意識からいくつか「食」や「栄養」に関するアプリをリリースされていたそうですね。どのように学習を進めてリリースまで辿り着いたのでしょうか?
プログラミングを始めたばかりの時は本当に何も知らない状態で、地方の大学だったので周囲もITに疎く、プログラミングをしている人が身のまわりにいない所からスタートしました。
最初の一歩は、とりあえずGoogleで「プログラミングMac」と検索することから。
そこで見つけた学習動画を見てコードを模写したり、本を買って学習したりという感じで勉強を進めていました。当時は、いまほどオンラインでプログラミングを学習できる環境が整っていなかったので、かなり手探りでしたね。
一番初めに開発したアプリは料理の「栄養価の自動計算」ができるアプリで、これは純粋に自分が不便を感じていた(献立の栄養価を、栄養成分表で調べて計算する)ことを解決したくて作ったアプリでした。
プロトタイプをNumbersとAppleScriptでつくり、その後Objective-CでiOS用のアプリとして開発したり、ブラウザベースで動くWebアプリにしたりと発展させていきました。
それ以外にも、ダイエットなどの目的や体調に合わせ、カロリーや塩分で飲食店が検索できるアプリを行政に提案したり、授業の延長線上で単身者向けの栄養指導を目的にした「スーパーのお惣菜購入ゲーム」を開発したりしていました。
その都度、周りから「すごい!」とリアクションをもらうことが嬉しくなって、どんどんハマっていきましたね。
--自分のキャリアとして「エンジニア」として働くことを、意識しだしたのはいつくらいからでしたか?
エンジニアというキャリアを明確に意識し始めたのは大学院生になってからです。
その頃に地方を飛び出して外部の勉強会やキャリアイベントに参加するようになっていて、それまでは「自分なんて全く通用しないだろう」と思っていたのですが、「そんなことないかも?」と思いはじめていました。
あとはやっぱり、エンジニアとして働くのであれば「食」と「IT」が交わる場所で働きたいという想いが強かったのでクックパッドに就職できたらいいな〜と。
とある就職イベントで、クックパッドのエンジニアや人事担当と直接話をする機会があり、話をしていくにつれて「やっぱりここだな」という感じで選考を受けて入社することになりました。
音声アシスタントが「毎日の料理風景を変える」
--今はAmazon Echo向けスキルの開発を担当されているそうですが、どのような経緯で抜擢されたのでしょうか?
もともと、スマートスピーカーが出始めた頃に「これは料理をする時に使える」と直感的に感じていました。料理をしている時は手がふさがった状態になってしまうので、音声で使うスマートスピーカーは、PCやスマホよりも使いやすいインターフェイスなんじゃないかと。
個人的に興味を持って研究していて、それを社外の勉強会で発表したいと話したところ、CTOから「じゃあ、プロジェクト化してみよう」と声をかけられ、翌日にミーティングが設定され、次の週には開発スタートというスピード感で進んでいきました。
クックパッドは手を上げれば、チャレンジできる社風です。その中でも、今回はかなりスピーディーなケースでした(笑)
開発では「スマートスピーカーは料理風景をどう変えることができるか?」という検証から着手しました。
料理をしている時に、いつどんなタイミングで使いたくなるのか?それに対して最適な回答をするためにどのようなロジックが必要か?をプロトタイプをつくりながらじっくり検討していきました。
--エンジニアが挑戦したいことに自発的に取り組むことができる、という社風は魅力的ですね。開発スタートからリリースまでにどのような苦労がありましたか?
開発の中で、最も工夫が必要だったのは「検索ロジック」ですね。音声アシスタントという性質上、検索結果を上位から読み上げてもユーザーにはどのようなレシピなのか伝わりづらいので、レシピ名ではなく「食べ方(唐揚げ/おひたし等)」で選択肢を提示したりしました。
あとは一番想定される利用シーンが「冷蔵庫の中に材料はあるが、あと一品何をつくるか迷っている」というタイミングだったので、回答するレシピも家に一般的にある食材との組み合わせで作れるものにしています。
Alexa(Amazon Ehcoに搭載されている音声アシスタント)のスキル開発については、連携できるデータベースがあれば、コード量は十数行もあれば書けてしまいます。開発では、試行錯誤を繰り返しながらどのような会話の順序でユーザーが望むレシピを提案できるようにするか工夫を重ねていきました。
音声アシスタントは会話型で情報のやりとりをするので、どれくらいのスピードでどういう受け答えをして回答すればユーザーが快適に感じられるのか?というUXの部分が非常に重要です。
「不快に感じないやりとり」を実現するために、リリースまでに、何十回も会話とそれに紐づく検索ロジックの内容を見直しています。
--クックパッドのAmazon Echo向けスキルは、Echoの日本上陸と同時に発表されていますね。日本でのスマートスピーカーのスキル開発を牽引する立場として開発する上でのやりがいや、落とし穴があれば教えてください。
開発のやりがいとして、スマートスピーカーは普及途上にあるデバイスなので、まだUI/UXのベストプラクティスが発見されていないという部分でしょうか。
スマホやPCは「こうあるべき」というパターンがある程度存在していますが音声アシスタントはまだどの開発者も模索段階です。いち早く取り組むことで、自分たちがその型を生み出していけると思います。
あと、スマートスピーカーはそれ単体だけではなくスマホやIoT機器など他のデバイスと連携してプロダクト・サービス開発を考えることができます。そういう広がりを意識しながら開発に取り組めると、より大きな可能性を感じることができるのではないでしょうか。
これからの課題として、スマートスピーカーのスキルはモバイルと比較すると継続利用率が低いと言われています。
現在日本で普及しているスマートスピーカーにはディスプレイが無く、視覚的に存在を感じられないので機能があってもユーザーに使い続けてもらうには工夫が必要です。この課題も、スマホやIoT機器など他のデバイスとの連携が必要だと考える理由です。
--なるほど、まだまだこれから普及していく途上のデバイスだからこそ、スマートフォンアプリ等とは違うやりがいや苦労があるんですね。今年に入って音声アシスタントの開発メンバーも増えたということですが、これからエンジニアを目指す方や一緒に働くことになるかもしれない方へのメッセージをお願いします。
ありがとうございます。今年からはメンバーも増えているのでより開発に力を入れていきたいと思います。
これからエンジニアを目指す方に伝えたいのは、スキルや手法を学ぶことに集中するのではなく、「自分が欲しいものをつくる」ことに集中するべきだということです。そして、「学ぶ必要がある状況を自分で創り出す」ことが成長へと繋がります。
そのためには、自分がやりたいこと、情熱を持てることにチャレンジできる環境に身をおくことを勧めます。
任された仕事をこなすだけではなく、自分の領域を越え、やりたいことを実現するために働くことができると、エンジニアとして成長することができるのではないでしょうか。