shibaクックパッドサマーインターンシップ2018に参加して学んだことツイートシェアはてブGoogle+Pocket学生エンジニアのしば(@akahire2014)です。大学院は物理の研究室に行ったけど、エンジニア就職を目指して就活しています。先日クックパッドの2018年のサマーインターンシップに行ってきたので感想をまとめます。技術ブログとか見てて技術力高いなーと思っていた大学1年生の時有料会員として使っていたうまい飯に興味がある選考免除もらえたから理由としてはこんな感じ。IT系のインターンって3日で10万円出してくれるところとかあるけど、お金よりも自分が本当に興味のあるところに行ったほうがいいよなと思って、そんなに給料は良くないけど(あくまで他と比べて)クックパッドのインターンに参加することを決めました。お金は社会人になってからいくらでも稼げるので、自分にとって貴重な経験を重視しました。PBLコースorOJTコースという感じでした。最初の5日の講義で詰め込まれて課題を出されて、その成績に応じてPBLというハッカソン形式の無給のコースか実際に業務に配属される有給のOJTコースに配属されます。昔は前半の5日で成績の悪かった人は後半はなかったみたいです。しばクックパッド怖い。ビビりまくりましたが、インターンだし力不足くらいのところに飛び込みました。Ruby,Git1日目はRubyの文法の解説をされてGitコマンドを実際に使いながら説明を受けました。僕は普段からRubyを使っているし、Gitも使っているので苦労することなく進めました。そんなに難しいことはしなかったので、普段RubyもGitも使わないインターン生でも難なく進めている感じ。サービス開発プログラミング系のインターンで珍しいと思うのですが、2日目は一切コードを書きませんでした。代わりにサービス開発におけるクックパッドの考え方を学んで実際にグループワークして発表という形式。何かサービスや機能を開発するときにいきなり作ってしまってはいけません。作った機能がユーザの求めるものでなかったとき、エンジニアの人件費と時間が無駄になってしまいます。クックパッドではこう言った事態を回避するために、ユーザーのペルソナを想像するその人に向けたプロトタイプを最小限の努力で作成するそういう感じの人を呼んで使ってもらって感想を聞く修正するというサイクルを回す。いう感じでサービス開発が行われています。少ない労力でサービスを簡単に作って反応を見るっていうのはめっちゃ頭いいな〜と思いました。社内テストもかなり行われていて、いたるところに張り紙とかが貼られていました。グループワークでは適当な社員さんの属性が書かれた紙が渡されます。それを見てペルソナを想定して、その人の悩みを解決するようなサービスを考えて、Prottというアプリを使ってアプリのプロトタイプを作成しました。時間が来ると実際にその社員の方に来てもらってインタビューを実施しました。実際にインタビューして見ると最初の想定と全然違っていて、学べることが多かったです。ブログとかでも読者のペルソナを考えるのが非常に重要ですが、サービス開発でも重要なんだと実感しました。言葉では「ユーザーのことを考えるのが大事」ってみんな知っているけど、内在化できている人って少ないと思いました。それを実体験できたのはよかったなと思います。チャットAPIWebsocketという双方向通信を可能にする技術を使ったAPIサーバーを作成しました。Railsの昨日はほとんど使わず、APIの設計をするときにどんなことを考えたらいいのかってことを学びました。普段はRailsを使っていますが、スマホアプリ用とかにAPIを作ったことはなかったので、そこが勉強になりました。普段通りに処理を書けばいいと思っていましたが、APIを叩く側のことを考えて柔軟に取得するデータの種類を変えることができるように想像する必要があって、そこが新鮮でした。普段何気なく使っているAPIを作っているエンジニアもこんなことをを想像しながら作ってたのか。実はこの日台風が来ていて、午後からはリモートワークになりました。IT企業っぽいですよね。TypeScriptReactというWebのフロントを作る要領でスマホアプリを作ることのできるReact-nativeというものがあります。JavaScriptでReact-nativeは書くことができるのですが、JavaScriptには型がなかったりするので型をつけるためにTypeScriptというAltJSというものに分類される書き方も導入しています。AltJSというのは要するに「ぼくのかんがえたさいきょうのJavaScript」達これによって予期しない挙動をしがちなJavaScirptをいくらか安心して使うことができるようになります。ぼくはどちらも触ったことがなかったので、かなり苦労しましたがTAとして社員さんがたくさん教えてくれたので、なんとかチャットアプリみたいなものを作ることができました。React-nativeはReactがわかればかけるので、普段Vueを書いている僕らからするとかなりとっつきやすかったですし、Webの知識がスマホアプリに流用できるには画期的だと感じました。面白かったので、家に帰ってからもDockerで立てたRailsのAPIサーバーからデータを取得して表示するTwiiterのUI丸パクリのアプリを作りました。サーバーチューニング前半最終日は、主にサーバーの勉強をしました。具体的にはAWS上にインスタンスを立てて、そこで配布されたRailsアプリを動かしてその速さを競う大会をしまいた。インターン生はアプリのなかで動作が重くなっている原因の箇所を探し出して高速化します。サーバーってお金がかかるので、自分で立てて勉強しようという気になりません。この講義では実際にAWSのEC2インスタンスを2台立てて、ALBというロードバランサーを1台立てることが許されていていました。金銭的になかなかできないし、詳しい人に教えてもらいながらできたので、かなり勉強になりました。後半では前半の成績に応じて、PBLコースとOJTコースに振り分けられます。ぼくは気合いでOJTコースに行けました。有給だったから嬉しい。行くなら、実際の業務に混じって仕事させてもらう方が経験としてもでかいと思います。何をしたの?ぼくは新規事業の部署に配属されました。やったこととしては、本当にバイトみたいな感じで注文された機能を作る感じ。その中でクックパッドの開発業務の感じを肌で感じることができます。デプロイがSlackからできるデスクがひろい社長がめっちゃ近くにおるみんな仲良い喋るのうまいといった感じで、本当に楽しく仕事することができました。クックパッドのインターンシップはRubyと飯に興味あるなら行くべきクックパッドのインターンシップはめっちゃ楽しかったです。ぼくは実際に行ってみて就職して〜ってなりました。オフィスの中にあるキッチンで料理を作ったりするのでインターン生同士でかなり仲良くなります。毎日帰ってから酒飲んでました。お金は他の企業に比べて飛び抜けていい毛ではありませんが、Rubyと食べることに興味があるなら行くべきだと思います。【20卒】新卒エンジニア面接でよく聞かれた5つの質問と対策プログラミングスキルをつけて就活(インターン探し)して見た結果スポンサーリンク就活ツイートシェアはてブGoogle+Pocketfeedlyプロフィール学生エンジニアしば旧帝大学生兼ITエンジニア。高校時代の偏差値は32。大学は就職無理学部の物理学科所属。プログラミングスクールTECH::CAMPでメンターとして働きつつ、ITベンチャーでRailsエンジニアしてます。1日プロフィール学生エンジニアしばプログラミングスクールTECH::CAMPでメンターとして働きつつ、企業で学生エンジニアしてます。