こんにちは、GROOVE Xでクラウドのサービスを開発をしている、 @atotto です。
ロボットのクラウドサービス開発って何やってるの?と思っている方が多いと思いますので、自己紹介を兼ねて、会社の紹介と開発についてお話します!
移動ロボットと戯れてたこともあった
もともと電子工作やロボットが好きで、大学院では移動ロボットでLRFと全方位カメラによる地図生成を研究していました。研究室には、HRP2を始め、アクトロイドや大型の掃除ロボットまであり、飽きることがなかったです。博士課程も考えましたが、メーカーでソフトウェア開発の経験を積みたいと考え、就職しました。
師匠とGoを学ぶ
新卒で入った会社で出会ったのが、柴田芳樹さんです。私のソフトウェア開発においての師匠で、若手を育成する活動に熱心に取り組んでいました。柴田さんが開く読書会や休みの日の勉強会に参加することで、仕事だけでは学べない開発にまつわるあれこれを学ぶことができました。
プログラミング言語Goをやり始めたのも柴田さんとの勉強会です。その頃の開発ではCやJavaを使っていて、組み込みLinuxでも動くGoなら効率的な開発ができるのではないか、と本気で考えました。
入社して4年ほど経った頃に柴田さんがGoを使った開発チームを率いると聞き、社内転属してしまいました。そこで生まれたチームで組み込みLinuxでの開発経験を積みつつ、クラウドサービス(AWS上)の開発までやることになり、とても幅広い開発経験を積むことができました。
GROOVE Xとの出会い
入社して6年ほど立つ頃にIoTなどの言葉が出はじめ、ソフトウェアとハードウェアをやってるところいいな=ロボットいいな、と思い、またロボットに関わりたいと考えていました。手始めにROSの勉強会に参加してみると、たまたまGROOVE Xが会場を提供していて、エンジニアの方と交流するきっかけが出来ました。林 要さんの話を聞き、林 淳哉さんのマイクロサービスの話で話が合い、会社に興味を持ちました。
ただ、GROOVE Xでどんなもの何を作っているのか世の中に全く情報がなく、面白そうだけど入るにはとても勇気がいる状態でした。一緒に働くことになるであろうエンジニアの方達の熱さに触れたことや、林要さんに「入ったらもっと早く入ってればよかったと思うよ!」と言われ、悩んだ挙句に飛び込みました。実際もっと早く入ってれば良かったと思います。今でもプロダクトに関する情報が出ていないので、これは困ったものです..。
スクラム!
入ってみてびっくりしたのは、ハードウェアを作る会社なのに本気でアジャイル開発を取り込もうと進めていることです。スクラムマスターやスクラムコーチを始め、毎週のように改善活動を進めています。
CSD(Certified Scrum Developer)研修にも参加させていただく機会があり、その経験を少しづつ活かすことで会社内の開発スタイルに影響を与え始めています。CSD研修の始めに「テスト駆動開発をちゃんとやっていますか?」という問いに手放しに手をあげられなかったのが悔しくて現在改善中です。GROOVE Xでは、「新しいチャレンジをいち早く始めて、速く失敗しよう!」という文化を醸成しようとしていて、失敗を恐れず試してみることができて楽しいですね。
クラウドって何に使うの
業務内容ですが、ロボット達を影で支えるサーバサイドのAPI開発や、開発中のロボットの状態を監視するためのデータの可視化などをやっています。サーバサイドはほぼGoで開発し、GKE (Google Kubernetes Engine) やGAE(Google Appengine)を活用しています。クラウドサービスの開発ではDevOpsを目指して進めています。将来的には、LOVOT達を支えるクラウドとして開発を進めていきます!
サーバサイドとは離れますが、ロボット内のプロセスの一部をGoで書く活動も始まり、まだまだ手探りですがチームをまたいだ活動もできます。こういった横断的な活動も進められるのが良いところだと思います。
最後に
ハードウェアもソフトウェアもデザインも頑張ってる会社を探している方はおすすめです。この3つをバランスしながら開発できる環境はあまりないと思います。ロボットは関連する領域が幅広いため、社内にもあらゆる分野の専門家がいて、毎日が刺激的です!また、開発をし続けたい人にも良い環境だと思います。スクラム開発を通じて、良い意味で開発のタスクはなくなりませんし、エンジニアとしての視野も広くなると思います。
LOVOTをつくるにあたって、単にハードウェアを売り切る、ということではなく、ソフトウェアとサービスの継続的な成長を考えています。クラウドでの今後のことをここでは詳細にあげられませんが、モバイルアプリとの連携やロボットとの連携、クラウドサービスとの連携などハブになる要素が多く、とてもエキサイティングな開発です。興味を持った方はぜひ一緒に働きましょう!