投稿日

社員レポート#9 〜 Frontend エンジニア 〜

みなさまこんにちは。ソラコムの平です。

暖かかった週末はお花見に出かけた方も多かったのではないでしょうか。ソラコムでは先週金曜日は社員の家族を招待するオープンオフィスの催しがあり大にぎわいでした。

さて、社員レポート後半戦4回目は、新しい機能ながら多くのお客様にご利用をいただいているデータ収集・蓄積サービスの SORACOM Harvest や集めたデータでダッシュボードを作成/共有できるSORACOM Lagoon の開発も担当しているシニアソフトウェアエンジニアのyutaこと清水です。

今回は、SORACOMをお使いの皆様には馴染みの深いコンソールやサービスの開発について聞いてみたいと思います!

f:id:belkul:20190408102424j:plain

株式会社ソラコム

シニアソフトウェアエンジニア

清水 雄太 yuta

グローバルにまたがるアプリケーション開発

-今日もグローバルメンバーとのミーティングをやっていましたね!今はどんなことをやっているんですか?

Sorry for the late! I had an online meeting with Alexis about the feature request…

ーあ、もう日本語で大丈夫ですよ

おっと、、失礼しました。さきほどは海外で働いているメンバーからの機能追加要求をヒアリングしていました。ソラコムは海外でもサービスを展開しているので、海外で働くメンバーとも密に連携しています。彼らからのリクエストは日本のものと違う場合も多く、良いインプットになっています。ただ、英語がなかなか上達しないので、やりとりはいつも必死です。。

普段は、フロントエンドとアプリケーション系サービスを仕様決めから開発、運用、サポートまで一通り担当しています。

ー担当範囲が広そうですね!アプリケーション系サービスとは具体的にどういったものなのでしょうか?

おおまかにソラコムのサービスは3つに分類できます。3G/LTE や LoRaWAN、 Sigfox を使ってコネクティビティを提供する SORACOM Air。これがベースになり、ネットワークに付加価値を提供する SORACOM Canal, SORACOM Junction などのネットワーク系のサービスと、ユーザーの IoT アプリケーション開発を支援する SORACOM Beam、 SORACOM Krypton などのアプリケーション系のサービスが開発されています。

「らしくない」と思っていたサービスとは

ー誰がどのサービスを担当するかはどうやって決めているんですか?

ソラコムのエンジニアはそれぞれの得意領域に応じてサービスを分担しています。どのプロダクトも複数のエンジニアが協力しながらより良いプロダクトになるように創意工夫をしています。

私は最近 SORACOM Lagoon (以下 Lagoon)とユーザーコンソールの強化に注力しています。

Lagoon は 2018年7月にリリースした新サービスで、IoTデバイスから SORACOM Harvest(以下 Harvest) にアップロードしたデータをSORACOM プラットフォーム上で簡単に可視化できます。

もともと、Harvest という IoT デバイスからデータを SORACOM プラットフォームにアップロードしてシンプルなグラフを表示したり、地図にプロットしたりするサービスを提供していました。Lagoon は Harvest を強化する位置づけになっています。

ーLagoonやその前のHarvestがリリースされた時はエンジニアではない私でもこれは自分でもなんとか触れそう!とすごくワクワクしました。実際リリースされてからどんな声が届いているのですか?

そう言っていただけると作った甲斐がありますね。ユーザーさんからも「今まで諦めていた可視化、分析が実現できた」などの評価をいただいています。

でも私は当初、Lagoon や Harvest はソラコム「らしくない」サービスなのかなと考えていました。

ーそれはどういう意味ですか?

IoT は「テクノロジーの総合格闘技」と考えています。ソラコムはコネクティビティを始めとする IoT を実現するためのサービスを提供していますが、可視化ツールなどは世の中にある数多くのサービスから自由に選んでいただければよいと思っていたからです。事実、そういう思想のもとにデータ転送サービスの SORACOM Beam やクラウドへのデータ送信を便利にする SORACOM Funnel が先行して提供されていました。

一方で、「もっと簡単にデータを貯めて、可視化や分析がしたい」という声をいただくこともあったんですね。場合によってはソラコムだけで完結させられる選択肢も求められている。そういう声に後押しされて Harvest, Lagoon が生まれました。

f:id:belkul:20190408102551j:plain

サービスの成長とUIの進化

ー開発時の苦労したポイントやこだわり機能などありますか?

機能をなるべく少なく、シンプルにすることです。

さまざまなニーズを想定して機能をたくさん用意してしまうと、それにかかる開発や運用のコストが上がります。それによって開発期間が長くなってしまうと提供タイミングが遅れますし、価格という形でも反映していかざるをえません。機能を足そうとするとき、それが本当に良いことなのか、お客様のためになっているのか?ということを常に考えています。

また、サービスや機能を追加する際はアーキテクチャをよく検討して、なるべくコストを抑えられる方法を模索しています。このあたりはものづくりに関わる方なら誰しもが腐心しているところではないかなと思います。

ー Havest、LagoonととてもわかりやすいUIですが、どういったことを意識して作っているのですか?

イベントハンドラーを例に説明しますね。イベントハンドラーはSIMの通信量がしきい値を超えたら通信速度を遅くしたり、一時的にデータ通信が使えないように止めたりすることができる機能です。携帯キャリアの通信プランによっては、そういった機能が備わっていますよね。それを自分で設定できるという、とてもソラコムらしい機能だと思っています。

このイベントハンドラーはサービスリリース当初からある機能なのですが、設定項目が柔軟な反面、やや難しく感じられるものでした。「使いすぎたら通知を受け取る」という単純な要求を満たしたいだけなのに、それを設定するハードルが高かったんですね。そこで、最初に作っていた詳細な設定画面をボツにして、イベントハンドラーの機能をテンプレート化して単純化した「監視」機能としてコンソール上では表現しています。より高度に使いこなしたい方はAPI経由で設定してくださいという建て付けになっています。

最近では、イベントハンドラーの機能が増えているのがAPIだけだと伝わらなかったり、高度に使いこなしたいお客様もAPIだけではなく画面で設定したいという声が増えてきたこともあって、新しい画面を開発しようという話が進行中です。

ーサービスの成長とともに、UIも進化しているということですね。

そうなんです。UIだけでなく、技術も日進月歩なので、開発に利用するフレームワークも漸進的にアップデートを続けています。最近だと、Typescript, Angular 7 への移行やテストフレームワークの載せ替え、 AWS Codebuild を使ったCI/CD環境のアップデートなどを実施しています。

機能開発をしながら開発環境を新鮮に保ち続けるのは大変ですが、価値を届け続けるために必要なことなので手を抜かないようにしています。とはいえ、私たちの理想にはまだまだ遠いし、やりたいこと、やるべきことがどんどん増えてきています。そこで、フロントエンドの開発を加速するために 一緒に働いてくれる仲間を募集しはじめました。

f:id:belkul:20190408102652p:plain

(写真:同月誕生日メンバーと一緒に)

グローバルカンパニーならではの良さとは

ーメンバーとは英語でコミュニケーションしてる姿をよく見かけますが、グローバルカンパニーならではの良さはありますか?

フロントエンドチームは私以外のメンバーが英語ネイティブですから、彼らとのやり取りは英語をメインにしています。ただ彼らは日本語もかなりできて、英語で意思疎通できないときは日本語も織り交ぜつつコミュニケーションが取れるのでとても助かっています。私は英語のドキュメントを読んだり、コードやコメントを英語で書いたりすることは日常的にしていたのですが、口頭でコミュニケーションを取る機会はあまりなかったんですね。いまは毎日ネイティブの英語に触れるので、とても勉強になり、恵まれているなと思います。

また、グローバル化という文脈だと日本と日本以外の地域との対比されがちですが、海外といっても国ごとに事情は全く異なります。フルリモートがOKなソラコムではいろいろな国でメンバーが働いています。それぞれの文化や考え方に触れることで、少人数ながらカルチャーに厚みのある、とても面白い環境になっていると思います。

ーぐいぐいアピールしてきますね

必死です。

・・というのは冗談ですが、実際とてもよい環境だと思いますよ。

ー実際、私もそう思います(笑)最後の質問です。今までを振り返ってよかったことと、これからやってみたいことがあれば教えてください。

ソラコムにはサービス立ち上げ前からジョインしているのですが、ソラコムという会社のサービス、文化を一緒に作ってきたという自負があるのがとても幸せなことで、よかったなぁと思います。最近「公式ガイドブック SORACOMプラットフォーム」という本を大勢で書いたのですが、私たちの取り組みを振り返るきっかけにもなりました。ソラコムの社員数はいまグローバルを含めると60人くらいいて、当初よりはだいぶ増えています。それでも、これからもメンバーひとりひとりがオーナーシップを持つ会社であり続けられるように微力ながら貢献していきたいと思っています。

個人的にはサービス開発だけでなく、情報発信にも力をいれていければと思っています。

その一環で、SORACOM Drinkup というソラコムユーザーとの交流イベントを企画しています。

Lagoon のアップデート情報や、Lagoon を実際に使っていただいている方からの発表が予定されています。私や前々回の社員レポートで登場した moz こと川上などソラコムのメンバーも複数名参加します。ご好評につき今回の募集は締め切ってしまったのですが、定期的に続けていければと思っています。

ー 既に定員超えしているとは、 Lagoon の注目度の高さが伺えますね。ありがとうございました!

最後に

ソラコムでは一緒に働くメンバーを募集しています。

カジュアル面談も受け付けておりますので、ご興味のある方のご応募お待ちしております。