Forkwell Press

エンジニアの生き様をウォッチするメディア

成長と仲間を求めて、冒険に出て、やりたいことからやる。高瀬英希(京都大学 大学院情報学研究科 助教)~Forkwellエンジニア成分研究所

f:id:grooves:20180919105500p:plain

組込みシステム開発に触れたきっかけ

――高瀬さんは、なぜ組込みシステムを研究テーマとして選ばれたのですか?

高瀬英希(以下、高瀬) 名古屋大学で研究室に配属されてから、組込みシステムの研究と開発を始めました。ただ、組込みシステム開発自体を最初から研究テーマとして選んだわけではありません。大学でいろいろな講義を受ける中で面白いと感じて選んだ研究室が、そのテーマに取り組んでいたということですね。

情報系の学生がよく抱く「ゲームを作ろう」「プログラムを書こう」というモチベーションではなく、「プログラムがなぜ動いているのか」というコンピュータの原理やアーキテクチャそのものに興味がありました。

それで、まずはコンパイラをやっているという研究室を選んだんです。ヒトの書いたコードがコンピュータできびきびと動くようになるまでの、生成系や最適化技術に興味がありました。ただ、実際に入ったら、コンパイラはあまりやっていなかったんですよ(苦笑)。

むしろ組込みシステムのプラットフォームや開発方法論が主で、コンパイラは少しだけ。組込みシステム開発に触れたのは、それがきっかけです。

最初にやったのは、組込みシステム上でソフトウェアを省電力に動かす研究でした。当時は省電力で動かすとなるとプログラムの動かし方を変えるという考え方が主流でした。例えば「忙しいときは頑張って動く、暇な時はゆっくり動かす」という方法です。

それに対し、私はコンパイル技術で生成されるコードやデータのメモリ配置を最適化することによって消費電力を下げる、という研究をしていました。

そこからさらに、システムの最適化やプログラムを効率的に動かすプラットフォーム技術とかに興味がわき、コンパイラだけじゃなく他の技術にも手を出したり、いろいろ研究を続けていくうちに現在に至っています。

――省電力は、当時ホットな分野だったんですか? それとも、やっていくうちに高瀬さんが発見したものなのでしょうか。

高瀬 もともと市場的な意味でも重要な課題でした。組込みシステムは求められる機能要件が定まっているコンピュータと定義できますが、汎用のコンピュータと違う特性として、利用可能な資源の制約が厳しいことがあります。情報家電やスマホでも想像してほしいのですが、サイズが決まっていたり、バッテリーで駆動するものなら電源容量の限度があります。それに例えば、1日しかもたないスマホより、一週間充電しなくても大丈夫なスマホのほうが商品価値は高いですよね。

省電力化の研究も続けていますが、やっていくうちに他のことにも興味が湧いてきています。研究テーマを選ぶ時は割りと雑食性でして、面白そうなものを見つけたらとりあえず手を出してしまいます(笑)

例えば、ソフトウェア志向のシステムレベル設計技術という研究テーマがあります。組込みシステムの分野でも再構成可能なハードウェアであるFPGAが流行っています。ソフトウェアだけでは機能要求が達成できない時にFPGAをうまく使うことで、より高品質な組込みシステムを実現することができるようになります。ただしFPGAはハードウェアですので、回路の設計が大変という欠点があります。

そこで私たちは、ソフトウェアの記述からハードウェアを簡単に作れるようにしたり、さらにはソフトウェアとハードウェアが連携して効率的に実行できるようにするための研究をやっています。

研究テーマによっては、企業さまから「ウチの製品に使いたい」という要望をいただいたりして、協業のお話も進めることがあります。

f:id:grooves:20180919105614j:plain

「体幹」をおろそかにしてはいけない

――多くの学生の方々に接しておられると思いますが、接する上で特に気を使っておられる部分はありますか?

高瀬 学生のチカラがどの程度のものか、きちんと見極めてからコミュニケーションを取ることは大切にしています。

企業の方は入れ替わりがあるとはいえそこまで大きくないと思いますが、研究室に配属される学生はほぼ毎年入れ替わります。年度によってリセットされますし、レベルにも偏りがあります。

どういうことをしたら伸びるのか、どういうことができるようになっていくかを見極めていく必要があります。難しいですが、やりがいはあります。

私は学生さんを、教育相手ではもちろんありますが、一緒に新しいことを考えて研究を開拓していく「仲間」だとも捉えています。とはいえ研究室では短くて1年、長くても3年ぐらいしか付き合いがありません。その中で、どういう成長曲線を描けていくかを見ています。 

――高瀬さんは組込みシステムの研究開発に10年以上関わっていますが、この間に変化はありましたか?

高瀬 組込みシステムのモノの作り方が大きく変質してきていると感じています。

変化の背景には2つあり、1つは組込みシステムに搭載されるプロセッサや計算資源の性能が上がってきたこと。これによって、以前ほどプログラムに厳しい要求や作り込みをしなくてよくなったことがあります。

もう1つは『Arduino』や『Raspberry Pi』など、ものづくりがしやすいプラットフォームが出てきたことです。IoTやメイカームーブメントといったキーワードを背景として、比較的容易に作りたいものを表現でき、具体化できるようになりました。結果、技術者に求められるスキルセットのハードルが低くなった実感があります。

f:id:grooves:20180919105713p:plain

自分が興味を持ってきた「そもそもコンピュータがどうやって動いているのか」を気にしなくてもよくなってきたことに、危機感は持っています。根幹の部分を知らなくてもそれなりの組込みシステムを簡単に作れてしまうということに。

少し脱線しますが、先日に「組込みシステム技術に関するサマーワークショップ(SWEST)」というのを開催しました。今年で記念すべき20回目の開催でしたので、組込み技術のこれまでの変遷をふりかえり、これからの未来予想をしてみようというパネルディスカッションをしました。下のスライドは組込みシステム分野のこれまでの20年にあった技術ポイントやイベントをまとめてみたものです。

f:id:grooves:20180919111253j:plain

このスライドやパネルディスカッションでの議論で感じたこととしては、やはり技術が変化するスピードが格段に速くなっているということです。技術者はもちろん学生さんもとっても大変です。新しい技術が出てきたらすぐに付いていくことが求められるし、せっかく身につけた技術がすぐに陳腐化することもあります。

インターネットでもいろいろな情報が見つけられるのでいい時代になっているとは思いますが、キャッチアップが大変になってきていますね。

――高瀬さんから、学生などに対して能動的に情報を取りに行くようアドバイスすることはありますか?

高瀬 もちろんあります。「体幹を鍛えるのを、おろそかにしちゃいけないよ」という話を大事にして伝えていますね。

身につけるべき新しい技術が出てきた時、幹となる部分の知識がしっかり備わっていれば、覚えやすさは格段に違うと思います。そこでエンジニアとしてなり、研究者としての差は出ると思います。

また、きちんと動かないとき「こういう部分は気にしてる?」という話はしています。ちょっと潜れば面白い世界が広がっているのに。潜る必要がなくなった結果でそうなっている気はしますけどね。

成長と新しい仲間を求めて、外に出る。

――ご自身の成長のため、日々行なっていることはありますか?

高瀬 「外に積極的に出ること」をしています。大学の研究室ってこじんまりとした組織で、ウチの例でいうと教員が3名、学生が15、6人ほど。その中で閉じて研究すると、どうしてもこじんまりとしたことしかできないので。「外の技術者、研究者と交流して、大きなことができるようにしよう」と常々言っています。

研究者の良いところって、自分で決裁権を持てるところです。もちろん予算の範囲内なので贅沢はできませんが、自由にモノを買えるし、いろんなところに行ける。いろいろな勉強会に参加し、発表することをよくやっています。

それに加えて気をつけていることで、「発表すること」ですね。勉強するだけでなく。

森さんが主催するfukuoka.exもそうですが、勉強会などのイベントページが立ち上がったら、あえて発表者の枠で申し込むんです。「このテーマなら、こういうネタを喋れるな」と想定して、1カ月ほど仕込んで発表に臨んでいます。まあ、それをやりすぎて最近カツカツなんですが(苦笑)。

f:id:grooves:20180919111609p:plain

fukuoka.exの話をすると、最初は山崎さんから紹介されたんですね。今年の2月ぐらいかな、「Elixirという面白い言語があるよ、これは組込みでもIoTでも使えるんじゃないか」と。それで興味を示したら、「ちょうど福岡で勉強会をやっているというのでぜひ遊びに来てくれ」と言われたんですね。

で、そこから1カ月ほど空いて「今度やるよ、日程決まったから来てね」と連絡が来たんですね。それでイベントページを見てみたら、発表者の名前になんと私が入っていて(苦笑)。「ええ、しかも2~3週間後に発表しなきゃいけないの?」と。そこからElixirの教科書や参考文献を読み込んで、なんとか間に合わせたんです。

――それはまた無茶振りでしたね(苦笑)。

高瀬 ざっと調べてみたところ、日本ではElixirをIoTや組込みシステムで使うという発想の人がいなかったんですね。

なので、IoTのボードを使ってサクッとElixirを使えるよということを示してみました。fukuoka.exにはWeb系の方が多くアウェイだったので、じゃあIoT/組込み屋さんの強みを見せましょう!ということで、発表会場にボードを持ち込んで実際にライブデモもしました。物珍しさもあって、まずまずの反響を得たんじゃないかと思います。

あとは、先ほど申し上げたように、どんどん外に出て冒険しようと。いろんなところに行って仲間を探してパーティを組もうと。そしたらどんどん新しい大きいことができるようになるはず。

京都からだとありがたいことに、国内ならだいたい日帰りでも行けます。面白そうなヒトが面白そうなイベントをやっていたら、ふらっと遊びに行けるんです。 パーティを組むことができたら、直接会いに行かなくても今はSlackなりSNSなり電話会議なりで交流するもできます。物理的な距離は、あまり障害には感じていません。

――ありがとうございます。高瀬さんが働く上で、大切にされていることはありますか? 

高瀬 「やりたいことしかやらない」ですかね。先ほどの裁量の話にも繋がりますが、研究者は自分の興味に応じてやりたいことをやれる仕事なので。もちろん、やりたくないことをやるケースもありますが、優先度を決めて「やりたいことからやる」ことは心がけています。

「誰もやらないことをやる」

――ここからは、高瀬さんが働く上で大切にしていることについて、「事業内容」「仲間」「社畜度(会社愛)」「お金」「専門性向上」「働き方自由度」の6つの項目から合計20点になるよう、点数を振り分けていただきます。

f:id:grooves:20180919112106p:plain

・専門性向上 5

高校までの勉強と、大学からの研究で違うところは「誰もやらないことをやる」という部分ですね。「誰も見ていない世界にたどり着く」という意味で、同じところに立ち止まらず、絶えず専門性を向上させることは非常に大事です。

・仲間 5

1人でやり続けるのも、なかなか大変なので。先ほども言ったとおり学生も仲間だと思っていますし、他の研究者や技術者とも積極的に交流するようにしています。

先ほど紹介したSWESTは、岐阜県下呂市で、組込み系の技術者や研究者が160人ほど集まるイベントです。旅館に一泊二日して組込みシステムの様々な技術や話題を徹底的に議論します。勉強や議論をする部分ももちろん大事ですが、温泉に入って美味しい料理を楽しみお酒を飲みながら、それ以上に「新しい仲間を見つけましょう」というコンセプトを掲げています。

・お金 0

給料という意味ですよね。あまり多くをいただいているとは思えないですけど、自由との引き換えだと思えば決して少ないわけじゃないですからね。「もっと欲しい、というこだわりはない」という意味でゼロです。

やはり、研究が好きで自分のやりたいことをやりたいですから。例えば企業からもっと実入りの良いオファーがあっても、「この製品を作ってもらうために頑張ってもらいたい」という話なら移らないと思います。それは私の「やりたいこと」ではないので。

・事業内容 4

研究内容ということですよね。興味に応じてコンピュータの原理を突き詰める、効率的な動かし方を探るというのが自分の興味関心領域です。そこは重視しているところですね。

・働き方自由度 5

大学の研究者のよさは、「やりたいことをやりたいようにやれる」ことだと思っています。自由にやりたいことをやるのを大事にしています。

・社畜度(会社愛) 1

所属している組織や大学に何かを還元しよう、という意味では無いですね(笑)。もちろん頑張ってる学生には報いたい思いはあります。大学を企業と考えると、学生はお客さんでもあります。そういう意味で、1ぐらいはあるかなと。

――転職を考えられている方にメッセージをお願いします。

私は大学研究者なので話が参考になっているか分かりませんが、、、仕事をするにあたって一番大事なことは何か、を考えることが非常に大事なのかなと思います。

f:id:grooves:20180919112213p:plain

私は「自由なことをやりたい」というのと「成し遂げた成果を発信したい」が大きいですね。

承認欲求とまでは言わないんですけど、やったことをダイレクトに世間に訴えられるというのは非常に良いなと思っていて。

そういう状況を得られるポジションを見つけられると良いのかな、と思います。

<了>

ライター:澤山大輔