MAKERS #24「ソフトウェアエンジニア 佐藤光国」――スタートアップで縦横無尽に活躍する開発のスペシャリスト

MAKERS #24「ソフトウェアエンジニア 佐藤光国」――スタートアップで縦横無尽に活躍する開発のスペシャリスト

DMM.make AKIBA
DMM.make AKIBA (ID4043) 公認maker 2018/04/25
0

このコーナーでは、DMM.make AKIBAを拠点に活躍しているメイカーズにインタビュー。
モノ作りをしている方々の仕事内容や、技術に関するホットなトピック、そしてオフィス内の制作環境を中心に御紹介。話題作りに御一読を!(文・後藤銀河/写真・金子亜裕美)

ものづくりのスペシャリストが集うDMM.make AKIBAに、Webアプリ開発を得意とするソフトウェアエンジニアがいる。Z80のアセンブラから始まり、Linuxサーバー構築・運用、WebアプリやiPhoneアプリ開発、Pythonを駆使したIoTアプリ開発まで、すべて独学で身につけてきたという強者だ。自分のやりたいことを実現するため積み上げてきたキャリアを生かし、Cerevoやtsumugといったスタートアップでもその手腕を振るうフリーランスソフトウェアエンジニアの佐藤光国さんにお話を伺った。

(ソフトウェアエンジニア 佐藤光国氏)

<プロフィール>
佐藤 光国(さとう みつくに)
ウェブアプリケーション、iPhoneアプリケーションデベロッパー。
自転車をインターネットに接続するIoTデバイスRIDE-1(Cerevo社)の製品企画、開発を担当する傍ら、 DMM.make AKIBA テックスタッフとして製品開発で得た経験を元にIoT人材育成研修の教材開発に携わっている。 LINE上でモーターサイクルと会話できるmototrackで「2017 LINE BOT AWARD さくらインターネット賞」、ネットワーク接続性を提供するセンサデバイスを内蔵したチタニウム3Dプリント製ロードバイクで「CES 2016 Innovation Award (Fitness, sport and biotech) 」を受賞。

――ソフトウェアエンジニアになられたきっかけをお話しいただけますか?

佐藤:初めてコンピュータに触ったのは小学校2、3年生の頃ですね。家にシャープのパソコンテレビ「X1」があって、ゲームを遊んだり、親とのコミュニケーションのツールとして使っていました。プログラミングのきっかけは、従兄が持っていた MSX(注:1980年代に登場したパソコン規格)のパソコンでした。当時、MSX関連の雑誌がたくさん出版されていて、雑誌に掲載されているゲームのプログラムを打ち込んだり、アセンブラやBASIC言語を使ってプログラムを書いたり、中学生の頃までよくやっていました。

その後、パソコン通信やインターネットのチャットで友達とコミュニケーションという使い方がメインでしたが、DOS/VマシンとLinuxが注目を集めてきた頃に、秋葉原で部品を買ってきてPCを自作し、Linuxベースのファイルサーバとして使っていました。

(ソフトウェアは独学だと語る佐藤さん)

プログラミングもネットワークも独学で身につける

――それぞれの時代で目新しい技術に触れて取り入れてきたわけですね。

佐藤:はい、学校とかで勉強したわけではなく、独学でやりました。小規模なISP(インターネットサービスプロバイダ)をやっている会社に就職してISPの運用・構築を行い、ノウハウをテクニカルライターとして解説本に書いたりしていました。その時にTCP/IPやイーサネットなどネットワークについて、基礎技術からしっかり勉強しました。

当時はダイヤルアップ(注:パソコンに接続した通信モデムからアクセスポイントと呼ばれる番号に電話してネット接続すること)システムを作ってユーザー管理していたのですが、この業務をMySQLでデータベース化してWebアプリでコントロールしたら便利だろうと思って。それがWebアプリを作るきっかけになりました。リレーショナルデータベース関連の本を読んで、データモデリングや正規化の手法も覚えましたし、SQL構文はもちろんですが、データベースのチューニングも自分でやっていました。高価なロードバランサーも買えなかったのでLinuxで自作したりしていましたね(笑)

――課題を解決するためにご自身で勉強してアプリやシステムを構築し、チューニングもされていたということですね。簡単なことではないと思いますが、どのように勉強されたのですか?

佐藤:Linuxを使っている人たちが作っているコミュニティがあって、そこからFreeBSDやNetBSD、Debianなどの情報が書かれているWeb日記(注:現在のブログ)を読んで参考にしていました。2003年頃に携帯電話いわゆるガラケー向けコンテンツを開発する会社に入り、アイドルや変身ヒーローの公式サイトを作ったりとか、会社を変わってもガラケー関係をメインにSEやシステム開発マネージャーとして2008年頃まで続けていました。

(スマートフォンの登場がキャリアを見直すきっかけになったという)

スマホの登場がキャリアの転機に

佐藤:その頃Windows CEと搭載したスマートフォンが登場し、プライベートで使うようになりました。エンジニアとしてはガラケー向けのコンテンツ制作をやっていたわけですが、スマホを使っているうちに、このままではエンジニアのキャリアが終わってしまうのではという危機感がありました。これからはリッチコンテンツの時代が来ると思い、会社に対してPCやスマートフォン対応に切り替えるべきだという提案をしたのですが、受け入れてもらえず、結局その会社は辞めました。

ちょうどGoogle App Engine(注:Google のインフラの上でアプリケーションの開発と実行ができるプラットフォーム)が登場した頃で、その上で動く言語がPythonだったんです。当時いち早くPythonを主言語として採用してシステム開発を行っていたビープラウドという会社があって、そこにSEとして転職しました。

――だんだん現代に近づいてきました(笑)プログラミングはPythonをメインに使われているのでしょうか?

佐藤:実はC言語が使えなかったんです(笑)MSXの頃はCコンパイラが買えず(注:当時の多くのCコンパイラは有償で、中学生には高価なものだった)、アセンブラ言語とBASICでした。その後Webアプリを作るためにPHPを覚えました。Pythonを使い始めたのはApp EngineによるWebアプリケーション開発がきっかけです。Pythonを主軸にすればApp EngineでもDjango(ジャンゴ)でも使えますから、Webアプリ開発には困りません。

そのうちにiPhoneアプリの開発に携わることになって、Objective-Cを勉強しました。会社で外注しているプログラマーの業務管理をしながら、プログラミング開発も見る必要があったことからObjective-Cを覚え、Swiftも使うようになりました。

――現在はフリーランスのソフトウェアエンジニアとしてCerevoとtsumugに参加されていますが、これまでどのようなプロダクトを作られたのでしょうか?

Cerevoのサイクリングコンピュータ「RIDE-1」

https://youtu.be/2LebxmmW0kQ

佐藤:まずCerevoでは、サイクリングコンピュータ「RIDE-1(ライド・ワン)」というデバイスの企画・要件定義の段階から参加して、iOSアプリの開発も担当しました。

RIDE-1は、ハードウェアの中にGPS、加速度センサ、照度センサ、気圧センサなどを載せていて、BLEでデータを飛ばしてスマートフォンでリアルタイムデータが見られるというデバイスです。今自転車でどこにいるのかとか、どんな動きをしているのかとかのデータをデバイスにログとして記録し、Wi-Fi経由で直接アップロードすることもできます。

――Cerevoではソフトウェア全体を設計されたのでしょうか?

佐藤:ファームウェアは書いていませんが、外部設計的なところで、BLEを使ってデータをどのように転送するのかとか、サーバー認証部分について、過去の経験を生かして作りました。プロダクトオーナー兼iOSアプリプログラマーとして1年半くらいやりましたので、結構しんどかったです(笑)

スタートアップでの開発って、基本的にはベースとなるものがなく、ゼロからのスタートになります。

ハードウェアは原理試作から始めて簡単なロジックを書き、ユニバーサル基板に部品を乗せてプロトタイピングします。そして搭載する部品がほぼ決まったところで、基板を起こしてファームウェアを書きます。僕はこれと並行して、ファームウェアと同等の動きをするシミュレーターを作りました。このシミュレーターを使って、アプリとシミュレーター、アプリとデバイスで実行結果を比べて答え合わせをしながら開発を進めました。これをやることで、開発のスピードがぐんと高まりました。

――開発の効率化を実際の業務経験の中から考えられているのですね。

tsumugのコネクティッド・ロック「TiNK」

https://youtu.be/soFTxhf7HAg

佐藤:もう1社のtsumugでは、LTE回線網を経由して制御できるコネクティッド・ロック「TiNK(ティンク)」という製品をやっています。主にモバイルアプリ設計・開発とAPI関係を行っています。こちらでもファームウェアとの開発進捗管理が大変なので、シミュレーター開発しながら進めています。

あと、tsumugに来てから関わったプロダクトとして、シェアサイクルの「メルチャリ」もあります。福岡で2018年2月に提供開始したサービスで、メルカリのグループ会社である株式会社ソウゾウと共同開発したシェアサイクル用コネクティッド・ロックが搭載されています。スマホアプリでシェアサイクルを検索し、QRコードを読んで自転車の鍵を解除して利用するという仕組みなのですが、自転車本体や鍵の外装回りの設計などはソウゾウが担当し、ソフトウェアと通信プラットフォームはtsumugのものを使っています。

(趣味のロードバイクも忙しくてなかなか乗れないという佐藤さん)

実は僕自身がずっとロードバイクに乗っていて、プライベートで自転車のログを記録するためのWebサービスを作っていました。そうした経験も生かしたプロダクトになっています。

――趣味としてやっていたロードバイク向けの開発が、RIDE-1やメルチャリにも生かされているのですね。佐藤さんがDMM.make AKIBAに来られたのは、スタートアップへの参加がきっかけなのでしょうか?

AKIBAとの出会いは3Dプリンタ

佐藤:友人がDMM.make 3D PRINTとコラボして3Dプリントで自転車を作っていて、センサを搭載する形で商品化しようということになりました。商品化をCerevoが、その中のセンサ部分を僕が担当することになり、2015年にAKIBAに来ました。

AKIBAの10Fには様々な設備がありますから、試作するときに助かります。僕は今でこそ電子工作くらいはしますが、当時はハードウェアや電子回路にはまったくの素人だったので、最初はプロトタイプが動かなくても何が間違っているのかもわかりませんでした。

AKIBAにはコミュニティがあって、そうした疑問や質問を訊ける人がいます。それがすごく良いですね。僕もAKIBAで夜遅くまで頑張っている人をみると、応援したくなります。おやつや差し入れを買ってきたりとか(笑)僕が忙しいときに応援してくれる人がいると嬉しいですから。

――これまでの製品開発の経験を生かし、DMM.make AKIBAで企業向けIoT人材育成研修の教材開発にも携わっていると伺いました。

佐藤:AKIBAにはハードウェアをやっている人が多いのですが、僕はずっとWebアプリを開発してきましたから、ハードとソフトでは開発のステップが全く違うことを実感しました。Webアプリ開発では、ソフトを書いて自動テストを走らせ、それが終わったら出荷するというプロセスを1日に10回20回と繰り返します。ハードウェア開発では、基板を作るのに1週間、ファームウェアの確認に3日とか、開発の進捗が全然違います。

(試行錯誤を繰り返して積み上げたノウハウを生かせる研修を作っているという)

ハードウェアとソフトウェアの間に垣根はない

佐藤:でも僕自身は、ハードがあってファームがあって、アプリがあってWebがあって、そのどこにも垣根があるとは思っていません。どれもがひとつの体験をするために必要な部品で、全部なければならないものです。だから僕の知っているWebアプリ開発の良いところをハードウェアをやっている人たちにも伝えたいんです。

そして、ハードウェア開発からも多くのことを学べます。試作しても期待通りに動かないとか、消費電力が多すぎてバッテリー稼働時間がすごく短いとか。そういう問題が起きたら、そこできっぱり何かを捨てるとか、考え方を変えるとか、そこで判断して手を打たないとアウトプットできない。つまり製品にはなりません。僕はこうした経験を積み重ねてきたことが、自分の中でノウハウになっているのだと思っています。

自分の経験を研修のコンテンツに生かす

佐藤:僕が教材を開発しているAKIBAの企業向けIoT人材育成研修は、システムの個々の部品の役割を全部を知りましょうという枠組みでやっています。システム全体の中で、ハードウェアやアプリケーションの役割、スマホとの通信、BluetoothとWi-Fiの違いとか、サーバーでは何ができるのかとか、ひとつひとつは専門家ほど深く知らなくても良いですが、全体を知らないとIoT開発はできません。

確かに、システムが大きくなってくると、全体を一人で把握するのは難しくなります。ですがスタートアップ、特にCEOや開発責任者であれば、システム全体がどのように動作しているのかをきっちり押さえておく必要があります。これからは、僕が自分で経験して積み上げてきたノウハウや知識を、研修を通して皆さんに伝えたいと思っています。

(編集・田中佑佳)

AKIBAから一言

DMM.make AKIBAでは「Keyさん」の通称で親しまれている佐藤さん。AKIBAでは少数派となるソフトウェアエンジニアはひっぱりだこで、プロダクト開発に関する豊富な知識と経験を礎に、Cerevoやのtsumugのメンバーとして、DMM.make AKIBAのテックスタッフとして、文字通り縦横無尽にご活躍されています。DMM.make AKIBAの企業向けIoT人材育成研修では、IoTプロダクト開発におけるシステム設計の講座について、教材開発と講師を受け持ってもらっています。

自転車やバイク、自然をこよなく愛し、サイクリングやツーリングやキャンプを楽しむKeyさんですが、趣味に時間を割くことができないほど忙しくなると「キャンプいきたい」「自転車乗りたい」「山にいきたい」と呪文のように繰り返しています。仕事をお願いしている罪悪感から「今度キャンプお供しましょうか」とうっかり言ってみたところ、「現地集合で」と真顔で言われ、一度は挙げた手をそっと下ろしたのでした・・・。(AKIBA企画運営スタッフ)

[ DMM.make AKIBAについて]
株式会社DMM.comが運営する「DMM.make AKIBA」は、ハードウェア開発・試作に必要な機材を取り揃えた「Studio」、シェアオフィスやイベントスペースなどビジネスの拠点として利用できる「Base」で構成された、ハードウェア開発をトータルでサポートする総合型のモノづくり施設です。

>>DMM.make AKIBA ホームページ
>>DMM.make AKIBA 公式Facebookページ

・DMM.make AKIBA 企業向けIoT人材育成研修
IoTを語れる、活かせる即戦力の育成をサポート。企業の経営者やそこで働く皆さまが、IoT技術を「自らのビジネスに応用させる」ために必要な知識を得る機会を提供します。

●DMM.make AKIBAに関するお問い合わせはこちら

参考にしてくれた記事

記事が登録されていません。
この記事を参考にして、新しく記事を投稿しよう!

違反について