ハードウェアスタートアップでアプリエンジニアは何をしているか


TechBlogをご覧のみなさん、おはようございます。
Cerevoでフロントエンドを担当している、くにますです。

Cerevoは今年の年明けに、アメリカのラスベガスで開催された世界最大規模の家電のショー CESでXON SNOW-1を発表しました。
XON SNOW-1はスノーボードに必須のビンディング(バインディング)のことで、各センサーのデータを解析することにより、
LEDを光らせてフィジカルに見て楽しくなれたり、アプリにそのデータを飛ばしてこれまた楽しく上達できるような体験を提供する動きになっています。
当然人が乗ってトリックをしたり、雪に突っ込んでも使えるようにハードウェアの設計、製造には余念がありません。
さらにセンサーのデータを収集しつつ、解析、そしてスマートフォンに送るといったハードウェアに組み込まれるソフトウェアを開発する組み込みエンジニアも腕の見せ所かと思います。

では私を含めてフロントエンドのエンジニアは何をするのか。
フロントエンド業務はデザイナーと一緒にどういうUIにしようかとか、組み込みエンジニアとどういう通信をしてデータのやりとりをしようかといった仕様を決めて、AndroidやiOSアプリ、ものによってはWebサービスを作る業務になります。
製品をリリースするまでに起こる様々なトラブルや色んな展示会もみんなと一緒に乗り越え、
仮に似たようなハードウェアが他社から出てきたとしても、アプリやWebサービスを提供し続けることにより他社がマネできない、追従できないような価値を生み出している点でも貢献していると思います。
そんな業務にCerevoが去年の夏あたりに人材募集してから入社して頂いたメンバーの今を踏まえて、今日はお話を書いてみようと思います。
(モザイクが入った部分は開発中の部分になりますのでご了承ください)

XON SNOW-1

この机の持ち主がXON SNOW-1のアプリを担当しています。良い感じにアプリを作っている雰囲気をかもしだしていますね。
どんなアプリを作ったのか見てみましょう。CerevoのデザイナはハードウェアのデザインだけでなくアプリやWebも総合してデザインするお仕事なので、フロントエンドのエンジニアとは密にコミュニケーションをとって作業を進めます。IMAG0717

おー、なんかかっこいいアプリが出てきました。写真撮影能力が低いのが申し訳ないくらいアプリの魅力を引き出せていないのですが、スノーボードに搭載されたセンサーのデータを可視化しています。スノーボードを雪山で滑走しているとき、トリックを決めているときなどにかかる荷重、たわみなどをリアルタイムに変化させながらアプリで表示します。IMAG07241
…ん?これは組み込みエンジニアの席ですか?と思ったあなたに朗報です。これもフロントエンジニアの机にございます。
全体のスケジュール上、ハードウェアの作業が先行し、フロントエンドが担当するアプリへのデータ表示はやはり試作の基板が出来て組み込みソフトウェアがある程度できないと動作させることができないです。そのために私たちが良くとる手段としては、ハードウェアの代わりとなるモックをサーバーやアプリで作って、アプリ側でクリアすべき課題を進めていくのですが、そのやり方に縛りがないので、電子工作が好きなエンジニアはこういうのを作っちゃいます。
担当エンジニア曰く、「全部秋月と千石で売っているもので作っています」とのことなので、機会がありましたらSNOW-1のようなものを作ってみてください。
IMAG0722_jpg

この血行改善しそうな4つの磁石みたいなものが、荷重センサーで両足で8個着いています。このモック本来の使用方法は靴を履いての仕様ですが、緑の靴下越しでもしっかりと荷重かけて開発初期段階のUIにセンサーのデータをフィードバックできました。
初期の段階でいかにフロントエンドの作業を進めるかを考えるのはハードウェア開発においても大事なことで、そのすすめ方の1つとしてこういうのがあります。
実現方法は人それぞれですが、自分の好きなこと得意なことを活かして、製品を作っていける、そんな環境でございます。
(こちらの荷重センサーとそれとくっついているブレッドボード上のセンサー類も秋月、千石で売っているものです)
IMAG0733

アメリカのベンチャーとの共同開発製品

この机の持ち主も新しくフロントエンドに加わって今、アメリカのベンチャーと共同開発している製品の作業をしている1コマです。
パソコンでブラウザを開いてなにやらしているようですが、Factory testとみえます。さらにキーボード上に紙をおいて、赤字でプラスマークのようなものが写っています。
IMAG07281

あ、これはバーコードスキャナーです。しかもQRコードもスキャンできる優れものです。なるほど、工場出荷時に検査するファクトリーテストのアプリを作っているのですね!
ってこの時点で感じ取った人は採用決定です。製品を工場で作ったときにちゃんと製品出荷するに値するか合否のチェックを1つ1つします。そのときに使用される検査治具を作っています。これは果たしてフロントエンドエンジニアの担当かと言われると、間違いとは言えないです。製品によってはアプリが必要になったりしますし、この治具を担当してくれたエンジニアは組み込みにも興味があるということで、組み込みエンジニアと一緒に協力して作ってくれました。実際に工場のスタッフがテストを進めるにあたり使うインターフェースになるので、こういうところにもアプリが作られていたりします。
IMAG0729

筐体に基板を組み付けて、梱包する前に出荷前のテストを行うのですが、各テストは可能な限り自動化させます。というのも、人為的なミスを可能な限り防ぐためです。
この場合はStartを押したあとは自動で行い、テキスト入力を必要としそうなところもなるべく行わせないように、こういったバーコードスキャナーを使って進めていきます。
(余談ですが、バーコードスキャナーの中にはキーボードとして見えるものがあるので、プログラミング不要です)
こうして、工場で行う検査ソフトといったアプリも安定して動作すれば何で作ってもOKなので、組み込みに興味があるもしくはアプリを書きたいというエンジニアには最適です。
IMAG0730

XON SNOW-1番外編

こちらに関してはガチで製品の組み込みプログラムを書いているフロントエンド採用の新メンバーです。
IMAG07261

上からみてもガチの組み込みの姿ですね。安定化電源(直流の出力電圧を任意の電圧へと一定にできる機器)、オシロスコープ(時間の経過と共に変化していく電気信号を観測できるようにした機器)は友達です。一番コミュニケーションを取る人は電気エンジニアです。
ヒッ、と思ったあなたご安心ください。組み込み経験のあるフロントエンドエンジニアでございます。
IMAG07271

最後に
今日では電子工作の敷居も下がりアプリやサーバーでリモート制御できる仕組みが以前に比べ簡単にできるようになってきました。
ただCerevoってフロントエンド募集しているけど、何しているかよくわからないし、例え趣味でやっていたとしても業務になると難しいのではないかという声を頂きます。
転職というだけで大変苦労する中で入社後にほんとにやっていけるかどうかも不安が残る活動はより厳しいものに感じるかも知れません。
ですが、どんな製品も一人では作れません。いろんな製品が世に送り出されていますが、各分野の人たちと一丸となってなんとか1つ送り出しているといった感じです。
自分の持っているスキルが活かせるかどうかだけでなく、まずはハードウェアを自分で作ったアプリで制御してみたいっていう気持ちで動いてみてほしいです。
今日のこの話がCerevoのフロントエンドの仕事のあり方の1つととらえて頂けて、一緒に仕事をしたいと思って頂けたら幸いです。

私がインタビューを受けましたこちらの記事もあわせてご覧頂ければと思います。
Webエンジニアが、量産品のハードウェアを作るようになるまで─Cerevoの中の人に聞いてみた!