engineer is my vocation

22卒のAndroidエンジニア

チームラボのインターンに参加しました!

f:id:keita_developer:20190822095414p:plain


画像はこちらよりお借りしました

2/19 ~ 3/5 の約二週間、スマホアプリエンジニアとしてチームラボの通年インターンシップに参加しました。

インターンの応募ページはこちら 

目次

  • 応募した動機
  • 採用までの流れ
  • 業務内容
  • 生活
  • その他
  • 最後に

応募した動機

元々趣味でスマートフォンアプリの開発を行っていて、実際の現場でのアプリ開発についてもっと知りたいと思っていました。

そんな中、「チームラボインターンシップ通年募集」の記事を見つけ、以下の理由から、このインターンに応募することを決めました。

1. 「スマホアプリ部門」等、コースが細かく分かれている

チームラボのインターンではスマホアプリに限らずインターンのコースが細かく分類されており、自分の専門分野に合ったインターンに応募することが可能になっていました。

2.  年齢制限が無い(卒業年度を問わない)

応募当時、自分が大学一年生だったこともありインターン探しには非常に苦労しました。(大体のインターンは学部三年、院一年のみを対象にしていた)そんな中、このインターンシップでは、年齢不問で幅広く募集を掛けていたので、本当に助かりました。

3. 地方の学生でも参加しやすい

交通費、宿泊費を会社側で支給して頂けるとのことで、これが地方に住んでいる自分にとっては本当に大きかったです。ちなみに、土日は仕事が休みなのでインターン中に東京観光をすることもできます(笑)。自分はホテルにこもってゲームばかりしていましたが…

4. 「チームラボ」という会社の名前を元々知っていた。

アプリ開発とは関係のない分野ですが、以前にテレビで「お絵かき水族館」という作品を見かけ、チームラボという会社の名前を初めて知りました。その時には、「面白いことをやってる会社だなぁ」くらいの感想しか持っていませんでしたが、この時の「なんか凄そう」というフワフワとした第一印象も自分の応募を後押した要因の一つではないか、と思います。


採用までの流れ

1. Webエントリーシート

主に「今までに自分が制作したもの」についてを記述するものでした。このインターンに限らず、何か一つでもソフトウェアやサービスを一から作っておくと、こういう時のネタに困らなくなるので、クオリティはどうあれ何か制作物を作っておくことをオススメします(今まで勉強してきたという証拠にもなります)。

2. オンライン面接(エンジニア)

3. オンライン面接(役員)

細かい内容は話せませんが、面接担当の人たちが気さくに話しかけてくれることもあってか、堅苦しさを感じることもなく、リラックスして面接することができました。


業務内容

今回は通年インターンシップでの参加だったので、実際のアプリ開発の案件に参加して仕事を行いました。初日にメンターさんとの顔合わせをした後に、自分がインターン期間中にすべき業務についての説明を受けて、2週間の間、メンターさんやチームメンバーの方のアドバイスを受けながら、ひたすら作業を進めていきました。最終日にはインターン全体についてのプレゼンを発表する機会もあったので、発表資料の作成も並行して行いました。

※この辺は専門的な話なので読み飛ばして頂いても構いません。

・作業内容1 Navigation component の採用

一つ目の作業として既存の画面遷移の仕組み(ViewPager)を(Navigation Component)に置き換える、という作業を担当しました。また、この変更を行ったことで

  • 画面遷移についてを xml 内に記載することができるので、コードが簡潔になる
  • 2画面戻る、条件付画面遷移などの複雑な画面遷移を簡単に実装できる
  • エディタ上で画面遷移を可視化できる

などのメリットを感じることができました。ただ、この機能自体が比較的新しいもので情報が少なかったり、アニメーションとの組み合わせで不具合が起こったりと、なかなか一筋縄にはいかなかった記憶があります。

・作業内容2 Flux & LiveData アーキテクチャの採用

もう一つの作業として、既存コードのアーキテクチャの変更作業を担当しました。インターンに来る前は「アーキテクチャ?何それ?」というどうしようもない状態でしたが、メンターの方が親身に教えてくださったおかげで、アーキテクチャとは何か、それを採用するメリット、実際のコードの中ではどういった流れで処理が進んでいるのか、を短期間で理解することができ、順調に作業を進めていくことができました。一人だけで勉強していたら挫折していたかもしれません。

 

また、業務全体を通して、複数人開発においてなくてはならない git の使い方や、プルリクエスト作業の流れなど、社会に出てからエンジニアとして必要不可欠になっていくであろうものを、実際に手を動かしながら習得できたのは非常に良い経験になったと思います。そして、こういった実案件の開発に携わったことで、個人で開発する「とりあえず動けばいいコード」と、チームで開発する「製品として長期間の保守運用を前提としたコード」との違いを痛感することができました。(コメントの丁寧さ、変数名のわかりやすさ、等)


生活

会社側にホテルを手配していただき、2週間そこで生活をしていました。ホテルからオフィスまで地下鉄で約20分でたどり着けるのと、出社時間が10:00だったおかげで朝がしんどいということはありませんでした。他の会社よりも遅め?らしく満員電車に巻き込まれにくいのも個人的には良い点でした。地方住みの自分からすると駅に行く時間を気にしなくていい(5分間隔で次の電車が来る)、というのが一番のカルチャーショックでした(笑)。こういったことからも、生活するのに都会はとにかく便利だなと感じました。人混みが多いのは難点ですが。


その他

  •  会議スペースのデザインが印象的だった。
  •  定例会議や見積もり会を見学させていただき、会社として作るアプリ一つ一つの規模の大きさを実感した。
  •  昼休みが任意タイミングで一時間、という一風変わったものだった。
  •  開発中のアプリのレビュー会が楽しかった(他のチームの開発中のアプリにも触れることができた)。
  •  自作のアプリに対してのアドバイスをもらうことができた。(主にデザイン面)
  •  会社近くのトンカツ屋にハマった。(五、六回くらい夕食を食べに通った)
  •  休日に参加したスマブラのオフ会が楽しかった。

最後に

今回のインターンは2週間という短い時間ではありましたが、学んだものは多く、自分にとって、とても貴重な体験になりました。

参加させていただき本当にありがとうございました!