LINE KYOTOのインターンに参加してきた

少し久しぶりのエントリーです。

さて、8月26日〜30日の5日間、LINE KYOTOのインターンに参加してきました。

今回はその感想とかをまとめるためのエントリーです。

f:id:komi1230:20190831002804j:plain
LINE KYOTOのオフィス

前にインターン参加について書いたエントリーの通り、この夏はLINE KYOTOのインターンに参加が決まっており、それでちょうど今日終わりました。

komi.hatenadiary.com

参加動機

インターン参加の動機としては、武者修行社会勉強の2つという感じです。

前のエントリーに書いた通りぼくは来年の4月からソフトバンクに就職するのですが、普段ツイッターででかい口叩いてるくせにエンジニアリング力が低すぎるので来年から働き始めるまでにエンジニアリング力を高めておきたい気持ちがあって、それでインターンを通してガンガンレベルアップしていこうぜということでインターンに参加したわけです。

この夏でやっておきたいこととしては色々あって、例えばVue.jsやReactなどのフロント系の技術などがあるわけですが、今回のインターンではDockerやKubernetesなどのコンテナ技術系とかインフラ周りをがっつり触ってきました。

LINE KYOTOのインターンについて

LINE KYOTOのインターンの内容としては、3人チームを組んで5日間でプロダクトを開発しよう!という感じでした。

まあ実際のところ初日はガイダンス的なやつだったり事務手続きとかで何もしてなくて、最終日も成果発表会とかがあったりして実際に開発をしていたのは3.5日間だったのですが....

これらに加えて、1日の勤務時間が10時から18時半までと決まっていて、18時半には強制終了という...(ホワイト?)

てことでかなり時間が限られた状況下でスピード感を持って開発にあたることになります。

で、その開発をLINEの社員がメンターとしてサポートしてくれるという感じです。

このメンターがめちゃくちゃ最強で、わからないことが発生したら超絶スピードでトラブルシューティングにあたってくれるので今回のインターンは学ぶことだらけでした。

やったこと

うちのチームはToDOアプリを作りました。

ToDOアプリの基本的な実装要件として、

  • ToDOを追加できる
  • 削除・編集・追加ができる

という感じで、これらに加えてoptionalな要素として

  • タグをつけてグループ化できる
  • リマインド機能

などを実装しました。

チームは3人で、ぼく以外のメンバーはそれぞれフロントが得意な人とバックエンドが得意な人だったので、自分の担当としては

  • フロントとサーバーをサポート、それらの結合
  • デプロイ周りのインフラ関係
  • リマインド通知のためのbot作成
  • (マイルストーンの設定などのPM的な何か)

を行いました。

自分以外のメンバーが超絶優秀だったので、最初に簡単なミーティングでDB設計やアーキテクチャマイルストーンの策定などを行ってからは基本機能の実装などは2人がほとんどやってくれました(おんぶにだっこで申し訳なかった)

自分にとって今回挑戦的なこととして、今までDockerやKubernetesを触った経験があまりなかったのとbotを作るのが今回初めてだったということで、かなり手探りの中でなんとかプロジェクト完了まで持っていったという感じでした。

今回のプロジェクトの中で学ぶことがたくさんあって、例えばDockerなどの技術的な知識がついたのももちろんなのですが、プロジェクトの進行方向などについてかなり考えることが多かったです。

例えば、プロジェクトの最初でDB設計を決めたあと、サーバーサイド側でダミーAPIを用意してフロントの人を待たせず各自がゴリゴリ実装を進められるようにするというのは自分には無い発想だったので、かなり学びになったと思いました。

おかげさまで開発を始めて2日目には基本機能の実装を終えてデプロイまで持っていくことができ、かなりのスピード感を実現できたと思います。

(チームメンバーがマジで優秀だったなぁとしみじみ)

フロントとサーバーの結合が地味に時間がかかったり、インフラ周りでゴチャゴチャしてて、そんな感じでバタバタした中でちゃんとデーモンを起動させて通知botが機能するようにしたのには結構満足しています。

反省点として、CSS力をもう少しつけておけばUIがもっといい感じになったのかなぁ...と思ったり。

もうちょっと勉強します...

感想

感想として、かなり充実感のある内容だったなぁ、と。

たくさん勉強になりましたね。

あと、LINEのエンジニアの働き方を感じられたのはかなり良かったです。

まあここらへんの月並みな感想はこの程度にしておいて、今回LINE KYOTOのインターンで個人的にものすごい良かったのが積極的に失敗を許容して、最後の発表会でも順位づけをしないという点です。

これの何がいいかというと、無駄な焦りなどが無くなって精神衛生が非常に良いんですよね。

インターン初日の挨拶でエンジニアリングマネージャーの方がこういう機会でチャレンジすることって無いから思い切って失敗するのもいいと思いますと言っていて、おかげさまで今回のインターン全体としてプレッシャーなどを感じることもなく伸び伸びと開発することができました。

また、プロジェクトの進行方法としても各自が独立して開発して担当箇所がオーバーラップすることがあまり無いようにしたのもあって、特に喧嘩が起こることもなくストレスゼロで開発できたのはかなり良かったです。

あと、期間が1週間という短さもあって集中して取り組むことができたのも良かったです。

今回はLINEのSDKを使っての開発だったということもあって、そこらへんの設計思想の把握までに少し時間がかかって認証とか権限周りでかなりコケまくって苦労したのはいい思い出ですw

ちょっと余談

インターン自体についてはこんな感じで楽しかったなぁという感じなのですが、インターンの中でエンジニアリングマネージャーの御代田さん(@josolennoso)がキャリア論とか組織論について熱く語ってくれたのが個人的には良かったなぁって思ってます。

エンジニアリングという組織におけるマネージャーの役割やキャリア選択における好きなことと得意なことの活かし方、いい仕事をするとはどういうことなのかなどなど、めちゃくちゃいい話をしていただきました(だいたいお酒を飲みながらだけど)

エンジニアとは接点を持ててもマネージャーというポジションの人と話すことはあまりないので、色々新鮮な感じがして良かったです。

マジでいいことをたくさん言ってたので、ここらへんまとめてなんかビジネス書っぽくしたら絶対売れると思います(?)

まとめ

上記のような感じでインターンに参加してきました。

ここで学んだことを今後に活かしていきたいと思います。

ぼくは来年からはソフトバンクでエンジニアなのでLINEのインターンに参加できるのは今年がラストチャンスだったわけですが、最高の1週間だったと思ってます。

LINEはいいぞ。