ゆめみサマーインターン2023 参加記事
こんにちは。ゆめみの2023サマーインターンにフロントエンドエンジニアとして参加させていただいた、mehm8128です。
今回のインターンは、8人が2チームに分かれて2週間で社内求人ツールの与えられたタスクをこなすというものでした。僕はチーム「ぱせりうす」のフロントエンドエンジニアとして参加しました。
インターン用にmacが貸与され、普段のPCより高スペックなPCで開発できたのが快適でした。普段windowsなので、使ってみたかったarcというブラウザが使えたのもよかったです。
やったこと
今回開発に関わったツールはかなり簡単に説明すると、1つの案件に対して複数の求人が対応しているような構造のツールでした。フロントはNext.js(app router)で作られています。
僕のチームのタスクは大きく分けて3つありました。
求人情報の編集をできるようにする
案件一覧ページを作成
求人情報追加時にSlackに通知を飛ばす
主に1と2を1週目、3を2週目に行いました。
チーム内にフロントのメンバーが僕以外にもう1人いたので、最初はその人とペアプロのような形式で進め、しばらくコードリーディング的なことをしたら、タスク分割をしてそれぞれで作業をしました。
僕は1の半分、2のほぼ全て、3のAPI叩く部分と後から必要になった部分の実装を行いました。
サークルで普段からチーム開発はしているものの、1つの機能追加を複数人で行うことがあまりないため、タスク分割が難しかったです。特に3については手をつける前にもう少し設計やタスク分割を上手くする方法があったのだろうなと思っています。
2週目は3だけなのに他に何してたのかというと、1週目にやり残したタスクや、与えられた部分とはあまり関係ない、1週目のタイミングで気になっていた部分のバグ修正や、軽そうなissueの消化などをしていました。他のインターン生が出したPRでちょっと気になった部分のレビューなどもしていました。
中間発表と最終発表でそれぞれのチームがやったことを発表したのですが、最終発表直前までフロントとサーバーのつなぎ込み部分ができていなくて、どっちも動かせる環境がPCに入っているメンバーにlive shareしてもらいながらフロントのバグを修正することでなんとか発表会開始の数分前にSlackに通知を飛ばすところまで完成されることができました。普段のサークルのハッカソンの最終発表会前みたいな忙しさで楽しかったです。
今回触ったリポジトリではUIライブラリにshadcn/ui、状態管理にjotai、データ取得にtanstack-query、スキーマ定義にTypeBoxなどが使われていたのですが、いずれもほとんど触ったことのないライブラリで、新しく使えるようになってよかったです(普段は状態管理にRecoil、データ取得にSWRなどを使っています)。
また、app routerといえばサーバーコンポーネントですが、まだ使ったことがなかったuse hookなどについても実際に使うことができてよかったです。
学んだこと
今回のインターンのテーマは「圧倒的なフィードバック」ということで、1人につき1人、バディといってなんでも相談できる社員さんがついてくれていたのですが、毎日バディ定例という夕会で一日の色々を振り返っていました。そのときに、色々と自分のここがよかったとかここもうちょっとこうできたんじゃない?とかを教えていただけるのですが、普段そういった機会が全然ないので自分のことを知ることができるいい機会になりました。また、インターン生同士でフィードバックを送る場所もSlackに設けられていて、互いにフィードバックし合っていました。
開発的な面でいうと、使ったことがなかったライブラリを使って勉強できたというのはもちろんあるのですが、ペアプロをできたのは大きいと思います。普段サークルでペアプロはほとんどしないので、ドライバーとナビゲーターに分かれてコードを書いたり読んだりしていくというのはあまりやったことがなく、今回とてもいい機会になりました。ドライバーもナビゲーターもやったのですが、やっぱり特にドライバーの方が楽しいし自分に合っているかなーと思いました。
また、今回2週間のインターンだったのですが、Slackのチャンネルやnotionのページなどが普通の社員さんと同じくらい見れる状態になっていて、ゆめみさんの内部の雰囲気について色々知れてよかったです。とはいえゆめみさんは基本的にBnBtoCで外部から受注した案件を行うという形の業務なので、今回のような社内ツールを作ることはあまりやっていないと思います。そこで、ojtチャンネル(timesのようなもの)で呟いてみたところ、社員さんが拾ってくださり、他の社員さんにも聞いてくださったりして、今回のインターンに関わっている色々な方の普段の業務(や休日の過ごし方も)を知ることができました。
逆に今回一番失敗したなーと思っていることは、上でも書いたのですが、タスクに手をつける前の段階でちゃんと設計・タスク分割をしていなかったことです。それによって後から必要な部分が出てきて別で実装しないといけなくなってしまったり、conflictが起こりやすくなってしまったりしていました。大枠だけ書いたPRを1つ出して、それに向けてPRを生やしていくという形で作業できるのがよさそうと思っていて実践できていなかったので、今後そのような形で複数人開発のときに効率よく開発する方法を考えていけたらと思います。
まとめ
2週間を通して、僕はテックリード志向で参加させていただいたこともあり(他にデザイナー志向、マネジメント志向があった気がします)、技術力的な面でかなり貢献できたと思います。期間中にマージされたPR数は計13個でした。均すと1日1つ以上のペースですね(もちろん小さいPRもいくつかありました)。自分のPR以外にも、チームメンバーのPRを手伝ったり、サーバーとの連携を普段からよく行っている経験を活かしてサーバーとのつなぎ込み部分の修正をしたりといった貢献ができたと思います。バディやメンターの方からも色々と褒めていただき、フロントエンドエンジニアとしての自信が付きました。
今回ゆめみさんの色々なことを知ることができたので、本選考にも是非参加させていただきたいと思っています。
あと、初日と最終日に高級なご飯を注文させていただけたのがよかったです。
運営やバディ、メンター、他のインターンのメンバーの方々、2週間ありがとうございました。
最後に、修了証をいただいたので貼っておきます。
この記事が気に入ったらサポートをしてみませんか?