インタビュー
2017年7月25日"自分も使いたい"、"皆も喜んでくれる"、そういうものを作りたい
即戦力コースを修了された橘 健司さん。現在、エキスパートAIコースをご受講中。大学卒業後、大手メーカーでハードウェアのエンジニア職に就き、その後コンサルタント企業でビジネス開発を行われていました。エンジニアとしてキャリアを進んできたが、「よりダイレクトにお客さんに使ってもらえるものを作りたい」との思いが芽生え、ディープロへ入校されました。
目次
“自分も使いたい”、”皆も喜んでくれる”、そういうものを作りたい
作ったアプリが、職場で採用されるまでに成長した
始めてのアプリ開発は、わからないことだらけ
イメージを書き出すことで、カタチになる
会社の皆に喜んでもらえるアプリができた
人工知能を組み込んだアプリ開発をやってみたい
“自分も使いたい”、”皆も喜んでくれる”、そういうものを作りたい
即戦力コースを修了された橘 健司さん。現在、エキスパートAIコースをご受講中。大学卒業後、大手メーカーでハードウェアのエンジニア職に就き、その後コンサルタント企業でビジネス開発を行われていました。エンジニアとしてキャリアを進んできたが、「よりダイレクトにお客さんに使ってもらえるものを作りたい」との思いが芽生え、ディープロへ入校されました。
作ったアプリが、職場で採用されるまでに成長した
ご自身の経歴や経験を教えてください。
大学の機械工学科を卒業してから、大手メーカーでハードウェアエンジニアをしていました。その後転職し、現在はコンサルタント企業で、ビジネス開発に従事しています。今後の身の振りをどうするのかは、実はまだ決めていません。
そういった状況で、なぜプログラミングを学習しようと思ったのでしょうか?
今までやってきたハードウェア開発やビジネス開発は、たくさんの人が関わるんです。たくさんのリソースが必要で、いろんな技術が求められます。自動車を作ることをイメージしていただくとわかりやすいかもしれません。メカニック、電子回路、デザイナー、それから量産するための知識も必要です。ひとつのものができ上がるまでに、とても時間がかかります。
そういった経験を経るうちに「自分のアイデアを、ダイレクトにお客様に使ってもらうこともしたい」と漠然と考えるようになったんです。
ハードウェアだと、「世に製品を出してから、お客様からフィードバックをもらう」という手順のやり方は難しい。でもソフトウェアであれば、ベータ版を出したり、ABテストを行なったりなど、フィードバックを得られやすいイメージがあったので、そういった理由でもアプリケーション開発をやってみたいなと思うようになったんです。
そんなときにたまたまディープロの「3時間でアプリをWeb公開まで体験できるプログラミングのセミナー」というのがあり、受講してみました。ここでアプリ開発を学べば、会社にも役立てられそうだということで会社からもお墨付きを得て、入校を決めました。
始めてのアプリ開発は、わからないことだらけ
入校されてからもっとも大変だった出来事を教えてください。
1番大変だったのは、DEMODAYです。オリジナルアプリを開発しプレゼンする大会なのですが、とにかく大変でした。もともとディープロに入ったのは、アプリを作ることが目的ではありました。それでも、機能実装されたものをWeb上に公開するということが大変だということを感じました
まず作り始めるにあたり、何から始めていいのかが、わかりませんでした。作りたいアプリのイメージは頭の中にあるのに、まず何からやって何を質問したらいいのか、「わからないことがわからない」状態でした。カリキュラムの課題でもアプリは作りますが、その時はテキストにヒントがあり肉付けをしていけば、アプリができるわけです。
一方で、DEMODAYの場合は、まず自分で作りたいものを企画から始め、作り上げていかなくてはなりません。私の場合は2人でチームを組み、バックエンドは自分でやり、パートナーにはHTML、CSSなどのフロントエンドを担当してもらいました。DEMODAYに出すまで、約3ヶ月ほどかかりました。
イメージを書き出すことで、カタチになる
最終的に作ったものは会社の「工数管理システム」
です。きっかけは、業務上で使用していた既存のシステムがとても使い辛く、それを解決したかったからです。汎用型のソフトを入れていたのですが、業務上そこまで複雑で高度なものを使う必要が全くなかったので、業務に最適化したような、GoogleカレンダーからAPIを読み込んで工数管理が自動で行えるものを考えていました。
でも頭の中のイメージの具現化の仕方が、全くわからなかったんです。
それをどのように乗り越えましたか?
袋小路に入りかけ解決方法がわからず、メンターにアドバイスを求めると、「アプリで表示される画面をまず書き出してみる」という助言をもらいました。そこで、画面遷移図をすべて書き出しました。どんな機能や処理があるのかをつぶさに書き記していきました。管理者機能やAPI、グラフ表示など、機能にフォーカスしてイメージしていたものを実装順にどんどん並べていったら、次第に光が差してきました。しかし、またすぐに壁にぶち当たりました。GoogleカレンダーのAPIとの接続部分です。ここは最も苦労しました。カリキュラムでは網羅しきれない部分もあり、ソースコードが何をしているのかメンターに質問しつつ、自分でもネットで調べて、なんとか接続できました。
そのようにしてまずは全体のイメージを固め、次に細分化をしてみて実装順に並べる、という手順を踏んでいったらなんとか形にできたんです。
会社の皆に喜んでもらえるアプリができた
要件定義や画面遷移図の部分の設計の進め方でつまずいていたんです。プログラムの動かし方については、ライブラリをどこかから持ってきて使えば良いのですが、設計の部分ではどの機能をつければどれくらいの時間を要するのか、という必要工数の見積もりができず非常に難しかったです。「この機能は入れたいけど時間がかかりすぎるから捨てる」みたいな判断がそもそもできなかったんです。それは経験を積むしかないんですが。
結果的にこのアプリは実際に会社で使われ喜ばれています。各個人のGoogleカレンダーの情報を自動で読み込み、どのプロジェクトにどれくらいの時間を要したか工数計算をしてくれるので、自分でも助かっています。
エンジニアスキルを身につけるうえで、”大切にしていること”はありますか?
必ず手を動かすことを重視しています。
本を読んで勉強するだけでは覚えられない。コードを書く、デバッグする、変数に何が入っているのかを調べる、メソッドをちゃんと理解する…常に定理を紐ときながら、原理的にどうなっているのかを理解しながら覚えるようにしています。
人工知能を組み込んだアプリ開発をやってみたい
今後の目指す姿について教えてください。
次は「AIを組み込んだWebアプリケーション」を作りたいです。今考えているのは、自分も作りたくて、他人も使いたくなるようなもの。
例えば「音声を自動で拾い、議事録をスマートに作ってくれる」というような皆が喜んでくれるサービスを作りたいです。
これからエンジニアを目指す方、受講を検討している方へメッセージをお願いします。
ディープロにはすごく良いテキストがあります。ただそれだけではなく、自分で手を動かし、カリキュラムを終えたら主体的にアプリ開発など、どんどんやってみることも大事だと思います。
ちゃんと要件定義から考えられるようにメンターのサポートを受けつつ、自分でプラスアルファの実践をやる事で自分の力になります。その環境がディープロにはあると思います。