目的
- インフラエンジニアだってソフトウェアを作ってみたい!
- ソフトウェア開発者の動きや考え方を知りたい!
動機
職業を聞かれてエンジニアと答えれば、返ってくる反応は「アプリやホームページを作っているんですか?」 アプリやホームページは様々な人にとって身近なもの、動くと楽しそうで、ソフトウェア開発者のことが羨ましくなってくる…「私もこんなアプリ作った!」と言いたくて参加しました。 またソフトウェア開発者の動きや考え方、視点を知ることで、いつも扱っているサービスを違った見方で捉えたいと考えていました。
内容
ハッカソンスタート! 参加したイベントは、「はじめてのハッカソンVol.22」というハッカソンです。 初心者向けと銘打っているハッカソンに参加したため、時間はトータル5時間と短め、テーマも自由です。
プログラマーの方とWebデザイナーの方とチームを組みました。 まず、いろいろ普段困っていることをブレインストーミングでどんどん出してテーマを決定。
↑テーマを決めるためのワークシート。
決まったテーマは「デスクワーク中のつまみ食いをふせぐ」
テーマ達成に使うと決めたもの
- TensorFlow(画像解析)
- Python
- Google Web App(食べている様子を撮る)
- 機械学習のための画像(人が食べている写真)
と、上の図のようにできるはずだったのですが…。 Pythonのバージョンが原因でTensorFlowをインストールできなかったり、インストールできてもエラーを出し続けたりで思うように動かず画像解析は断念…。 ただ、Google Web Appでリアルタイムで写真を撮り、Push通知も出せるようになるまではチームメンバーが設定を頑張ってくれました。 アイデアが形になって、目の前で実際に動くことに感動しました。
感想
- ソフトウェア開発への憧れはどう変わったか
思ったように動かないと非常に辛い…。これはインフラ構築にも言えることですが…。きれいに動くアプリの裏にはたくさんのコードとの戦いががあると思うと少し羨ましさも減りました。でもGoogle Web AppやPush通知が動いたときは嬉しかったです。
- 自分の普段の業務とアプリ製作までの過程を比較して感じたこと
私の普段の業務は、課題もアプローチも決まっているサービスをお客様用にカスタマイズするもの、と私は捉えています。ディスカッションによって洗い出し1つに絞った課題を解決するアプローチを考えるという、いつもと違う経験をすることができました。 また、ソフトウェアの使用者を事細かに具体的に想定することにそれほど意味があるのかと思いましたが、課題に対するメンバーの認識を合わせやすく、チームの会話も盛り上がりました。いつもの業務では既にお客様は決まっているので、使用する人のパーソナリティからディスカッションするのは新鮮でした。 課題、その課題を抱えている人、アプローチ方法といったことを自分で定義することで、日頃、自身が気になっていること、視点、考え方が浮き出てきました。 自分の取り扱っているサービスにも、作られるまでに経緯があるのだということに気がつきました。これは既存のサービスの理解に役立つと思います。
- 近くて遠いソフトウェア畑の人達
ハッカソン後の懇親会で他の参加者の方とお話しました。インフラエンジニアとソフトウェア開発者はお互いがお互いのことをそれほど知らないということを改めて実感しました。お互い知らなくても開発やサービス提供には問題ないのでしょう。しかし、インフラエンジニアはソフトウェア開発のこと、ソフトウェア開発者はインフラのことを知って交流を活発にすることで、プラスになるものはないか考えるのは面白そうだと思いました。
今後
すぐに行動に移せそうなアイデアを出し、短期間で、アプリであれなんであれ、目に見える、ふれられるかたちにしようと思いました。そうすることで他人からもフィードバックを得られやすくなり、自分の振り返りも行いやすくなります。 ちょっとしたことでも困っていることはメモしておき、解決策をあげてみるというのは、ソフトウェア開発だけではなく、インフラでの仕事の進め方を考えることにも応用できると思うので試します。 また、既存サービスの機能検証をするときには、なぜその機能が必要だと思われて追加されたのかを、使用者を具体的に想定して考えると、有意義な検証ができるという当たり前のことを思い出したので、今後は意識して行います。 些細なことでも疑問に思い、自分ならどうしようかと考えて具体的な行動に移そうという当たり前のまとめになりました。ただ日々の業務の中で忘れてしまうので、今後も違う畑のイベントにも参加して都度思い出していこうと思います。