Fusicってなんしようと?What is Fusic doing?

2019/10/08 インターンレポート「エンジニアコース 20days」#江﨑、田中レポ

2019年8月19日(月)~9月17日(火)の期間、Fusicでは、エンジニアを目指す学生を対象に、

短期のインターンシッププログラムを開催しました。


上記プログラムには、久留米工業高等専門学校 専攻科の江﨑 喬祐さん、田中 宏和さんの2名にご参加いただきました。

以下、参加した2人のレポートです。


================================================

こんにちは! 久留米高専 専攻科1年の田中 宏和(写真左から2番目)と江﨑 喬祐(写真左から3番目)です。
(2人のブログ記事はこちら





Fusicとの出会いは、6月21日(金)に開催されたAlexaスキルコンテスト
「Alexa Hack for Students in Kyushu 2019」です。
イベントに参加した時に会社紹介をしていただき、また、インターン募集の話を聞いて興味をもちました。
そして、Fusicの強みであるAWSの使い方を勉強したいと思い、応募しました。


インターンシップで取り組んだこと

面接時に「IoTが好き」と連呼したこともあり、「IoTを用いて、何か面白いものをつくる」と
ざっくりとしたテーマとなりました。
自分たちで企画・提案を進め、最終的には『IoT×会議室管理システム』をつくることになりました。
具体的に言うと、別ビル内にある会議室「Pluto」の温度・湿度・気圧や在室人数と画像、照度・CO2を計測。
計測結果をFusicが使用しているコミュニケーションツールのSlackで確認することができるシステムの開発です。
Raspberry Piとワイヤレス通信が可能になるSORACOM IoT SIMを使用しました。

最初「IoTだからAWSは使わないかな?」と少しがっかりしていました。
気持ちを察していただいたのか、メンターの毛利さんから「せっかくなので、AWSなどいろいろなソフトウェアを使おう。
そして使い方を学んでいこう」と提案いただき、AWSを勉強することができました。

役割分担としては,江﨑がセンサーを使ってデータを受信し、データベースに溜めるところまでを行いました。
そして、データを解析してサーバーレスアプリケーションを作成するところまでを田中が担当しました。





【江﨑】
まず、温度・湿度・気圧・照度用センサーを購入し、Raspberry Piに組み込みました。
また、在室人数はカメラで撮った写真を物体認識することで、人間がいるかどうかを調べて割り出しました。
 





一番苦労した点は、起動時や通信によるプログラムのバグです。
Raspberry Pi自体は、何度も触ったことがありましたが、LinuxOSの根底部分に深く触ったことはありませんでした。
そのため、自分の思いどおりに動いてくれず、修正が大変でした。
様々な文献を見たり、メンターの岡嵜さんに相談することで、解決できました。

逆に意外と簡単だった点は、AWSのサービス運用でした。
Alexaスキル開発の時は「Lambda」のみ使用しましたが、今回のインターンで
「IoT Core」・「DynamoDB」・「API Gateway」・「S3」のサービスを使えるようになりました。
また、思っていたよりすぐに理解することができました。
特に一番概念として難しそうだった「IAM」も毛利さんのおかげで大体理解できました。
これからAWSを使うにあたり、やりやすくなってよかったです。


【田中】
AWSのサービス「IoT Core」・「DynamoDB」・「API Gateway」・「S3」・「API Gateway」など、
いろいろ触れることができ、よい経験となりました。AWSに無限の可能性を感じました!(笑)

開発にあたって、データが送られてこないと進まないため、Fusicの自社サービスである
mockmock」を用いて擬似データを生成して開発を進めました。
mockmockはIoT開発を進めるにあたってデバイス屋さんのことを一切考えなくてよく、とても使いやすかったです。
おかげで開発がスムーズに進みました!
また、つまずいたところは、メンターである毛利さんや岡嵜さんからアドバイスをいただきました。





機能面では、特にシステムを触るユーザーにとって必要な情報を提供できるよう考えました。
また、データを取得する部分では、最小限必要なデータのみを取得するよう工夫をしました。

最終的には、会議室「Pluto」の状況をセンサーの値と写真撮影することにより把握しました。
また、一日の気温や湿度などをセンサーから取得し、データをグラフ化しました。
そしてグラフは、Slackで簡単に確認することができるようにしました。







今回のインターンを通して、自分以外の人が読んでも分かるコードを書くように努めました。
以前よりデバックしやすいコードを書くことができるようになったと思います。
開発の最後の方でセンサーのデータが取得できないというトラブルが発生しましたが、
トラブルをギリギリのところで解決し、発表することができてよかったです(笑)


Fusicについて感じたこと

【江﨑・田中】
自己管理がしっかりできれば、本当に楽しそうな会社でした!(笑)
働き方も社員が仕事をしやすいように会社が工夫をしていました。
また、仕事だけではなく、趣味など息抜きもしやすい社風で、とても面白そうでした。
そして、社員の方々が楽器を持って会社を出ていく姿を見て、驚きを隠せなかったです。
(注:Fun* musicライブ開催前でした)
一方では、ITに関する勉強会もよく開かれており、参加するメンバーも多いとのこと。
プログラミングが好きな自分たちに、とても合っていて楽しそうでした。


まとめ

【江﨑】
今回のインターンシップを通して、働く環境によって仕事へのモチベーションや
仕事のやりやすさが変わってくると感じました。
社員の方々が意欲的に仕事を進めているため、「自分も集中しなくては」と思うことができました。
また、デスクが広く、オフィスも綺麗なので、とても作業がしやすかったです。
最後に、一緒にランチなどに行って、これからの人生で役立ちそうな話を聞くことができました。
とても助かりました。短い間でしたが本当にお世話になりました。ありがとうございました。


【田中】
最初の目的であったAWSを使っての開発をすることができ、とてもよい経験をさせていただきました。
また、チーム開発は初めてでしたが、Gitを使って開発を進めることができ、一つレベルアップした気がします。
「チーム開発で一番大切なことは、コミュニケーションをよく取ること」だと感じました。
これからの開発でもこの経験を活かせたらいいなと思います。
インターン中、できるだけたくさんの方々と交流をしたいと思い、積極的にランチに誘いました。
結果、技術的なことから趣味のことまで、色々話をさせていただきました。
自分に足りないものや、自分の考えを変えるアドバイスをいただき、とてもよかったです。
20日間という短い間で、いろいろなことを見て・聞いて・感じることができてよかったです。
Fusicの皆さんに感謝の気持ちでいっぱいです。ありがとうございました!