クックパッド 就業型インターンシップ参加記
何の話?
9月にクックパッドさんの就業型インターンシップに参加させていただいたのでそれについて忘れないうちに書きます。
僕は誰
現在、京大の電気電子工学4回生で来年からは同大学の情報学研究科に院進する予定です。
インターン概要
期間
上の記事のTech OJT Courceに9/5〜9/29の一ヶ月間、週4日で参加しました。1週目だけ横浜のオフィスに出社して残りの3週間は京都の自宅からリモート勤務でした。(交通費、宿泊費は出してもらえました。感謝!)
配属先
配属先はレシピ事業部というところで多分クックパッドと聞いて最初に思い浮かぶレシピサービスを開発している部署です。そこで、バックエンドをメインに触らせていただきました。
インターンに行くまで
インターン選考はコーディングテストを受けて、次に技術面接。そして、合否判定みたいな感じです。面接内容とかコーディングテストの内容は書いていいのか分からないので書かないです。合格のメールをいただいたのは5月末でした。人生初のインターンシップ合格だったので嬉しくてすぐにクックパッドのプレミアムサービス登録をしてしまいました。ただ、そのすぐ後にちょっと不安な出来事が起きました。クックパッドで大量レイオフが発生したのです。2月ごろにも退職希望者を募って人員削減が行われていましたが、今回はほぼ強制みたいな感じでした。X(旧Twitter)でも結構話題になって他と思います。そんなことがあり、インターンシップ開催されるか怪しいなと思っていたんですがありがたいことに参加させていただけました!
インターン内容
onboarding
まず初日に業務用PCが支給され、onboardingとして会社紹介とかPCセットアップを行いました。ちなみに支給されたPCハmacbook M1 proのメモリ64GBのつよつよPCでした。一度もPCのうなりを聞かなかったです。つよつよPC欲が高まっている。
チーム開発
会社紹介とかPCセットアップをした後からいよいよチームの中で実際に働きます。クックパッドでは開発手法としてスクラム開発というのを採用しています。スクラム開発というのはアジャイル手法のフレームワークのうちの1つで「少人数のチームに分かれ短期間の開発サイクルを繰り返し行うもの」です。クックパッドでは1週間を1スプリント[1]として毎週木曜日に、その一週間の振り返りをして、その後に次の一週間でやるタスクを考えチームメンバーの勤務時間とか適性をみながらタスク配分するとかやってました。あとは毎朝、前日にやったことと今日やることを簡単に各々言うデイリースクラムというものがあります。1週間を1スプリントとすることは問題への対応とか改善が迅速に行えるメリットがあるんですが、木曜日の振り返りとか次のタスク極めに時間がかなりかかるので1週間のうち1日が会議でほぼ潰れるみたいなデメリットもありました。会議に参加する中で、質問を会議でみんなの時間を奪ってまですることの難しさというのも感じていて、どうしようかなって悩んでました。これはslackとかで簡単にでも言語化して投げたら、簡単な質問だとslackで返信の形で答えてもらえるし、大事な質問なら整理された状態で答えてもらえるというのに気づきました。一回、文章に書き起こすことって大事だなって話です。
インターンでやったこと
基本的にレシピサービスのバックエンドを触りました。クックパッドのバックエンドでは主にruby on railsが使われていて昔は1つのレポジトリに全てまとまっているモノシリックなものだったんですが10年くらい前にマイクロサービス化に着手したらしく、今はマイクロサービスになっていました。最初らへんのタスクではバックエンドの概要を掴むためにUserIDとかRecipeIDからつくレポ[2]を返すAPIを更新したり作ったりしてました。インターン参加前は「こんな大規模なサービスをいきなり入って開発できるのか??」みたいな不安があったんですが、社内ブログ、ドキュメントとかがかなり充実していて初めて触るレポジトリでも開発がしやすかったです。もし、わからなくてもslackで聞いたら社員さんがすぐに丁寧な返信をしてくれるのですぐにこの不安は払拭されました。そのあともAPI開発したり、他にはSPWebのフロントエンド部分を触ったり、最後らへんの余った時間でパフォーマンスチューニング[3]をさせてもらったりしました。gRPC、rspec、graphql、サービスメッシュなど触ってみたいけどちょっとハードルがあって触ってこなかった技術に触れることができて、自分のサービスで使う心理的ハードルが減りました。
成果発表
インターンの最終日に集まってくれた社員さんたちに対してインターンの成果発表をしました。僕はリモートのzoomからの発表になりました。スライドを作って10分くらいで発表してそのあとは社員さんから内容について質問してもらって答えたり、逆に僕から社員さんに質問したりとかしました。社員さんへの質問としては、今回のインターンが一ヶ月という比較的短い期間だったのもあり、アプリの課題発見まで至らなかったことが改善点としてあったので、そのことについて「アプリの課題発見をするために意識してること」を質問しました。答えを簡潔にまとめると「普段、色々なアプリを触る中で使いづらさとかについて妥協しないこと、繊細になること」というようなことを答えてもらえました。slackでは「繊細になること」→「キレやすくなること」→「キレ駆動開発」みたいな単語が発生していて面白かったです。最後のフィードバックでは「実装の手が速い」とか「キャッチアップが速くて、教えてない部分のタスクを振っても社内ドキュメントとかREADMEを読んで基本的に正しいコードを書く」というようなことを言ってもらえました。自分の技術力に対する自信をつけることができた気がします。
最後に
レイオフがあったりと会社が少し慌ただしい中、ただの学生である自分をインターン生として受け入れ、成長する機会を与えてくださったクックパッドさん、ありがとうございました。クックパッドアプリの素晴らしさ、今なお進化していってることを身に染みて感じました。クックパッドプレミアムサービス料金一生分以上の給料をもらった気がするのでこれからもずっと使い続けます。Make everyone cooking fun!!
Discussion