1
/
5

【中途採用エンジニアインタビュー】開発期間6週間!社運をかけたIoTプロジェクトに立ち向かったエンジニアの奮闘記

新型コロナウィルス感染症によって打撃を受けた観光業。2020年4月7日には緊急事態宣言が初めて発令され、星野リゾートも様々な対応に追われた。3密回避対策を急ピッチで進め、宿泊利用シーンごとに仕組みや対策を洗い出した。一番最後に頭を悩ませたのは、スタッフがあまり立入ることができない利用時間中の大浴場。経営陣と情報システムグループは、解決のために社運をかけ「IoT x 自社開発」で混雑可視化プロダクト「湯守」を開発することで合意。競合よりも先に、何よりもゲストへ安心を届けるべく、通常の4倍速超えの開発期間を目指すこととなる―

本プロダクトのソリューションアーキテクト 杉山さんに、実際の開発現場の奮闘についてインタビューを行った。

杉山陽輝
株式会社星野リゾート情報システムグループ ソリューションアーキテクト
2019年星野リゾート入社。入社のきっかけとなったのは、星野リゾートが掲げるフラットな組織文化に惹かれたこと。
宿泊エンジニアチームでは希少な、インフラもこなせるフロントエンジニア。
兵庫県出身。日々癒しをくれる愛猫の名前は、テトとジジ。
座右の銘は、『Just do It!』

--「 開発期間6週間」と聞いたときはどう思いました?

短いなという印象はありましたが、画面で表現する要素などを考えたらフロント側の開発に関してはあまり不安はなかったです。どちらかというとIoT領域が不安でした。IoTに関する知見がなかったですし、協力会社との突貫工事だったのでそこはどうなるかなと・・・。でも最後は「どうにかなるでしょ」と楽天的だったと思います。


-- 短納期ということで、構成的に工夫をされたところはありますか?

私はインフラとフロントを担当しました。そして制約としては短納期であることとコロナ禍のためキャッシュアウトをできるだけ小さくするべく低コストでの開発も要求されました。スピードとスモールさが重要でしたので、技術は特に冒険をせずに、経験があるか?知見があるか?というのを判断軸に選定しました。フロントであればNuxtのSPAパッケージ。データストアはDynamoDBも考えましたが、収集したデータを後で分析したいということも考慮し、Amazon Aurora MySQL使うことにしました。APIについては、データの流量を想定するのが難しかったので、API Gateway + Lambdaのサーバレスの構成を採用し、通信料が増えても対応しやすいようにしました。選定自体は1日で行い、翌日の会議ですりあわせてGOといった感じです。

-- 実際に開発してみて大変だった部分はどこでしたか?

現地に導入してからが一番大変でした。テストだと問題なくデータが取得できていたのに、現場に導入すると、数字がなかなか取れない施設があったり、途中までは順調に取れていたのに、急に取れなくなったりして、中々安定しませんでした。もちろん、IoTの経験があれば、切り分けももう少しスムーズにできたと思いますが、「ハードウェア/デバイスが悪いのか」「wifi環境が悪いのか」「単純にオペレーション上のミスなのか」、自分たちの領域のエラーだと分かるまでに色々な可能性を潰すのは、慣れるまでかなり骨が折れました。また緊急事態宣言下だったので気軽に見に行くこともできず、現場スタッフの方にWebカメラを持ってもらって現場確認する感じでしたね。デバイス側の問題もあったので、obnizOS を利用し、遠隔でOSのアップデートがかけられたのはすごく助かりました。

自分が担当した開発領域で言うと、データ設計に苦悩しました。特に、データが飛んでくる頻度をどうするかでかなり悩みました。頻度が高いと顧客へのベネフィットは高まりますが、開発スピード重視の構成にしたので将来的に容量の不安がありましたし、逆に頻度が低いと、そもそも何を表現したデータなのかという、データ自体の価値が下がってしまいます。ここは現場を回しながらチューニングしましたし、今でも将来的なデータ総量を考えながらまた変えていく必要があるかなと思っています。

                           【入退室をカウントするセンサーデバイス】

-- データを貯め、それを機械学習に利用することも想定されたということですか?

はい。想定はしていて、大浴場以外の混雑予想などへの利用は既に行い始めています。ただ、この用途以外にこのデータの使い道は他にないとか、取得したデータからの広がりが見込めないのであれば、そんなにチューニングする必要もないですが、現場スタッフや施設管理者、はたまた投資家の皆様から見て「こう使える」というものであれば、もっと掘り下げる必要があるなと思っています。そういう意味ではチームの半分は現場出身者なので、雑談など交えながら色々意見交換しているところです。

                                  【湯守のカスタマーページ】

-- このプロジェクトで楽しかった・心に残ったことはなんですか?

ハードウエアの提供をお願いしていたMAGLABさんのご厚意で、ハードウェアへのプログラム書き込み作業の体験させてもらえたことですね。MAGLABさんにも急ピッチの開発をお願いしていたので、デバイスのハンダ付けリソースが足りないと。そこで、チームメンバーと共にデバイス組み立てから参加させてもらいました。機械工学出身だったのでハンダコテは懐かしさもあり楽しかったですね。何よりも、この経験でIoTする上でデバイス側の仕組みを覗けたことが楽しかったです。個人的に簡単なものであればハードウェアも自作できるなと思っていて、休日にハードウェアとWeb共に作って遊んでみようと妄想中です。

                         【ハンダ付け作業ををしながらチューニング中】


あとは、実際に日本各地の施設で実際に動くものを「導入した・やりきった」というのも感慨深いです。そしてそれが今も使われていることも。メディアに取り上げていただけたのも、とても嬉しかったです。

                          【完成したデバイスを各施設へ出荷する様子】


-- このプロジェクトを通じて、ご自身のエンジニアリングへの影響は

「プロダクトは成長するもの」というのをヒシヒシと実感できたのが良かったです。本プロダクトは最後の最後まで試行錯誤をしてリリースしたものでしたが、使われていくと、やはり現場からはいろいろな要望が上がってくるんですね。最初はとにかく裁くので必死でしたが丁寧にヒアリングをして改善していくと、現場のスタッフの方から感謝の言葉を頂いたり、ゲストのアンケートに具体的なプロダクトについての感想があったりと、嬉しい変化を感じていました。これからもプロダクトを成長させるエンジニアでありたいですね。

技術的にはこれをきっかけにIoT周りを伸ばしたいです。「ハードウェア側もできますよ」っていう、亜種なフルスタックエンジニアとか、ちょっと憧れますね。あれこれ手を出すのは欲張りかもしれませんが、ハードウェア・ソフトウェアの両方ができるようになった方が、価値が出せるし、ワクワクするようなエンジニアになれると思うので、今後も欲張りながら成長できるエンジニアになりたいと思います。

株式会社星野リゾート・マネジメント's job postings
15 Likes
15 Likes

Weekly ranking

Show other rankings
Invitation from 株式会社星野リゾート・マネジメント
If this story triggered your interest, have a chat with the team?