インターンシップ選考前はどのような準備をしていましたか?
私は今アクセルユニバースさんのインターンシップに採用されたのですが、私の場合、2013年の5月頃から趣味でAndroidのアプリを作り始めていたのです。例えば、このようなアプリを作っていたのですが、
Sleeping( ˘ω˘)SyarというTwitterクライアントアプリですね。こういった制作物のスマホアプリを、どのような技術(ライブラリ等)を使っているのか、どのような動機で作り始めたか、作っていて意識していたことは何か、といったことを面談の場で伝え、技術的な面での評価をしてもらい採用に至りました。事前準備といいますか、実際に制作物を見せながら面接を受けられたのが大きいですね。
インターンシップはどのようなことから始めましたか?
私自身Androidアプリについては経験があったので、いきなり実務に入らせてもらえました。最初は納期が差し迫った案件があり、そこに一メンバーとして参加をして、という感じでした。その後その案件が落ち着いてから一つAndroidアプリの案件を任せられて、基本一人で開発を行っています。納期が迫ってきたら、新たに他のメンバーにも関わってもらって完成まで持っていく、という流れで進んでいくと思います。インターン生ということもあって、比較的納期に余裕がある仕事を任せてもらえているのかな、と感じています。
また、インターンの仕方についてですが、オフィスに行くのは週1、2日ですね。在宅勤務も一部できるため、オフィス以外では、土日のどちらかを使って合計8時間程かけてコーディングをしていますね。
インターンシップをやっていて大変だったことは何ですか?
やはり納期が迫っていた案件に参加した際は大変でしたね。GitHubを使って開発をしていたのですが、複数のメンバーで一斉に開発した関係で、 Pull Request のコンフリクトがたくさん起きてしまいまして、その中で開発をするのは大変でした。また、他の人が書いたコードが読みづらくて、一緒にインターン生として入っていた学生がいたのですが、その人の書いたソースコードにインデントが果てしなく続いて読みづらかったり・・・ということもありましたね。自分一人で開発する時はいいのでしょうが、他のメンバーも参加することを想定した場合、読みやすいソースコードを書くことも重要ですね。このあたりはインターンシップの醍醐味かもしれません。
それ以外ですと、Androidアプリについての専門家が周りにはいなくて、わからない時に助けてくれる相手がいない、という状況もきつかったですね。周りのエンジニアの方に相談すれば大枠の方向性については良い意見をいただけるのですが、具体的なコードの部分については自分だけで解決をしなければいけないことが多く大変でした。とはいえ、Androidの場合はWeb上にソースコードが公開されていることが多く、一部コードを参考にしたり、GitHubのサンプルをみて何とか動かしたり、といった形で何とか解決をしていましたね。
インターンシップを通じてどの程度成長しましたか?
何とかしないといけない環境に追い込まれていたので、実装力は身につきましたね。仕事としてやっている以上、きちんと時間をとってやらなければいけないというのがあるので、強制的ではないのですが、逃げずにやり遂げる能力が高くなったのだと思います。
技術的な面ですと、Gitの使い方にすごく慣れてきましたね。一人でも管理をしていたのですが、ブランチを切って、コードレビューをして、ということができるようになりました。この辺りの経験はインターンシップならではだと思います。
最後に、インターンシップへ挑戦する学生に向けてメッセージをお願いします。
やる気があるなら、今の時代探せばいくらでも勉強する環境はあるので、自分で成果物の一つは作ってもっていけないとダメだと思います。とりあえず一つは作ってみることですね。作ってだめなら、改善をしていくのもよし、それをフックにどこまでならできるようになったのか企業にアピールするもよし。まずはとにかく手を動かして作ってみることだと思います。