はじめに
2022年9月にDeNAのサマーインターン(9/3〜9/5)に参加してきました!
本記事はそのサマーインターンを振り返っていきたいと思います。
概要
募集ページにかかれていた概要としては次のとおりです。
短期インターンシップでは、チーム対抗でこのインターン向けに開発されたアプリの改修に取り組んでいただきます。様々な制約のある開発を通して、DeNAが大事にしているプロダクト作りの真髄を存分に経験いただけます。
本インターンでは、実際のDeNAでのプロダクトと同様に高トラフィックな環境を想定するなど、機能だけでなく利用者の体験や非機能要件も満たす実装が要求されます。これらの要素も考慮しながら、皆様の持っている技術力を存分に使って課題にアプローチしてください。
(2022サマーインターン募集ページより引用)
具体的には、3日間でチームに分かれクソアプリを最高のアプリに改善するという内容でした!チームはフロントエンド2人とサーバーサイド3人で構成されていました。(僕はサーバーサイドでした)
課題自体は初日に説明があり、その後チームに分かれて各自で進めていくという方法で行いました。また、最終日は成果発表と懇親会が開かれました。成果発表では改善したアプリについて全てのチームがプレゼンを行い、1位と2位のチームには景品が贈られました。(僕たちのチームは副賞でした!嬉しい!!)
インターンでの景品贈られてきた!
— あぼぼん(abobon) (@__abobon__) October 3, 2022
ありがとうございます!!#dena_eng_intern#DeNAIntern2022 pic.twitter.com/XKuo5kmj3h
そして、チームにはメンターの方が2人ずつついてくださり、常に質問できる環境でした。また、毎日メンターの方と1on1を行うため、その日良かったことや悪かったこと、それに対して今後どのようにしていくべきかなどを中心に話すことができました。
やったこと
インターンの課題としては、チャットアプリのパフォーマンスを改善していくという内容でした。
実際にサーバーサイド陣営としては以下の内容を行いました。
- クエリの調査
- N+1問題の解決
- Home画面のキャッシュ
- makeコマンド作成
- サーバーを増設
- お気に入り機能の実装
などなど...
当日使用したリポジトリを見ながらこの記事を執筆していますが、よく3日間でここまでやったな...というissueがたくさんありました。そして、まだまだやり残した課題もたくさんありました笑
学んだこと
3日間というとても短い期間でしたが学ぶことはたくさんありました!
- わからないことはどんどん質問する
- 一緒のチームになった人やメンターの方にはわからないことをガンガン聞いていました。これまで一人で悩んで解決するタイプだったのですが、時間がない中でしたので意識的にすぐ聞くようにしていましたし、わからないことはチームの人に聞いた方が早いということが新たな学びになりました。
- チームはできるだけ仲良く
- 僕たちのチームはインターン前に一度集まって話をしました(ただの雑談)。それがあったことで当日はスムーズに議論が進みましたし、より活発にコミュニケーションが取れたと思います。メンターさんがおっしゃっていた「仲が良いチームのプロジェクトが失敗することもあるが、仲が悪いチームのプロジェクトが成功することはない」という言葉がとても印象的でした。
- タスク管理と共有の難しさ
- タスク管理と共有はissueにて行なっていましたが、その難しさを痛感しました。アサインする人やレビュワーの指定などは行なっていましたが、全員そこまでタスク管理と共有に慣れていなかったため、時間がない後半はお互いがどのタスクを行っているかの共有が疎かになってしまいました。時間がないなかでもタスク管理と共有はしっかりすべきだなと感じました。
おわりに
サマーインターンは3日間というとても短い期間にもかかわらずたくさん吸収するものがありました。また、チームの雰囲気も一番良く課題に取り組めたのではないかと感じました。ぜひ、気になる方は来年のサマーインターンに参加してみてはいかがでしょうか!
また、最後になりますがサマーインターンでお世話になったメンターの方々や人事の方々をはじめDeNAの皆様、本当にありがとうございました!