ゆめみのサマーインターンで超学んできた
はじめに
こんにちは、大学2年生のいもけん 🍠 です
今回は、株式会社ゆめみのサマーインターンにフロントエンドとして参加してきたので、何をしたのかや感じたことを書いていきます
フルリモってどうなんだろう?という方や、ゆめみに興味がある方にとって参考になれば幸いです
インターンの概要
今回のインターンは、8 月 26 日から 9 月 6 日までの平日 10 日間、フルリモートで行われました
フロントエンドとサーバーサイドの 2 つのインターン生が合計 7 人いて、全員が 1 つのプロダクトを開発するという形で進められました
高専生や大学院生などツヨツヨな方に囲まれてとても刺激的な環境でした
「社内プロダクトの拡張機能を開発しよう!」をテーマに、インターン生でチームを組んで開発していただきます。「そもそもどういった機能を作るのか?」という点からチームで考え、設計からテスト実施までメンターと協力しながら一気通貫で行っていただきます。
インターン生 1 人に対してバディとしてサポートしてくださる方が 1 人ついて、毎日の面談としてインターンで困っていることから技術的な話や就活についてなど本当になんでも相談できる環境が整えられていました
インターンでは珍しい?ですがフレックスタイム制が採用されていて、朝会や振り返り回はあるもののある程度自由に始業/終業時間を決めることができました
学生のうちにより実際の働き方に近い環境を体験できたのはとても良かったです
インターンの選考
コーディングテスト → 面接 → 参加決定という流れで選考が進められました
コーディングテストは画一的に競技プログラミングのようなものを課されるのではなく、フロントエンドやサーバーサイドなどそれぞれの課題が用意されていて、それ自体が学びになりました
また、コーディングテストの結果にかかわらずとても丁寧なフィードバックをしていただけて、受けるだけでも成長につながると感じました
私がいただいたフィードバックを一部抜粋します
ビジネスロジックとコンポーネントが適切に分解されており、アプリ設計がしっかりされている印象でした。適宜ロジックを純粋関数・カスタム hooks に吐き出しているのも Good ポイントです。一方で、実装全体的にコメントによる補足説明があるといいなと思いました。チーム開発では他の人が書いたコードを読み解くことが多いので、JSDoc を使ったコメント説明があると良いと思います。
その課題は公開されていて、ゆめみパスポートとしてインターン関係なくいつでも受けることができます
面接に関しては、エンジニアの方と雑談のような話しやすい雰囲気で進められ、自分のことを素直に伝えることができました
また、コーディングテストで迷ったところなどの技術的な相談もすることができ、その際にも丁寧にアドバイスをいただきました
0 日目
これは本筋とは関係がないのですが、個人的にとても良かったので紹介します
契約等を済ませると、インターンが始まる 1 ヶ月前くらいに貸与される PC が届き、アカウントも用意されていました
なので、その 1 ヶ月間とインターン中は社内の Slack や Notion にアクセスすることができ、社内の情報を見ることができました
もちろん秘匿されているものもありますが、ゆめみはフルリモートのため多くがテキストで残っており、それを見ることで社内の雰囲気や文化を感じることができました
インターン参加の理由の1つにゆめみについて知りたいというのがあったので、その点でとても助かりました
たくさんノベルティをいただいて、インターンが始まる前からワクワク感がありました
1 週目
1週目は与えられたタスクを行うということがメインでした
ですが、インターン生の頑張り?によってそのタスクが 2 ~ 3 日目には終わったため、その後は各自でプロジェクトのリファクタリングをしたり既存の issue の解決をしたりといったことを行いました
私はコミットリントが正常に動作していないという問題を発見して解決したり
とある既存の issue そのものを実施するべきかという検討を行って、情報を整理したうえで実施しないほうが良いという決定をしたりしました
また、「理想のリード研修」というものが行われました
「テックリード」「プロジェクトリード」「デザインエンジニア」という3つの志向性があり、今回のインターン生も事前に志向性ごとに分けられていました
その研修では、ゆめみ社内で活躍されているエンジニアの方がそれぞれ志向性ごとに役割や経験について話をしてくださり、とても参考になりました
私は今回はテックリード志向として参加していましたが、自分の志向性がプロジェクトリードかテックリードかで迷っていました
その研修とインターンを通じて、志向性ごとの自分の得意なことや足りていない点を見つけることができました
それらと同時並行で、「そもそもどんな機能を作るのか」のための課題発見研修やユーザー(社内の方)へのプロダクトについてのインタビューも行いました
そこででたユーザーの不満をそのまま鵜呑みにするのではなく、より根底にある真のニーズや問題は何なのかという部分まで深く踏み込んでインターン生同士で検討を行いました
2 週目
1 週目で検討したことから考えた機能提案をプロダクトオーナーに発表し、質問やフィードバックをいただきました
私のチームの場合は「求人に連絡先を入力できるようにする」という機能を提案しました
ですが、初めの発表時点では十分にユーザーのニーズを分析しきれておらず、それによって細かい仕様(連絡先には何を入力する?や Slack の自動通知と組み合わせる?)が定まっていませんでした
複数のニーズとそれぞれの解決策がごちゃ混ぜになっており良い提案とは言えませんでした
そこから反省をし、チームで丸一日 Slack の VC で議論しユーザーのニーズの再分析と分類をして、自分たちが満たすべきニーズとそれぞれの解決策を明確にしました
そのときのスライドの一部抜粋です
質素なスライドですが、言葉の節々にはチームでの議論の末の論理の繋がりが含まれていて、それをプロダクトオーナーに伝えることで OK をいただくことができました
実装に入れるまでに時間と労力がかかり苦しいと感じることもありましたが、それによってプロダクトとユーザーに対する理解が格段に深まり、より本質的な課題解決につながることを学びました
そこから実装に取り掛かり、最終日ギリギリまで開発をし、最終的には LGTM をいただくことができました
また、大規模なコードをあとから理解し、改修していく際には適切な JSDoc があるととても効率が上がるということを感じました
コーディングテスト時に指摘されていたことを実際に感じることができたのはとても良かったです
フルリモ体験してみてどう?
今までの開発などではリモートでの作業もありましたが対面で全く会わないということはありませんでした
ですが、ゆめみがそうであるように今回のインターンではフルリモートでの作業となりました
結論から言うと、「フルリモ、意外となんとかなる」です
私自身参加するまでは「コミュニケーションが取りづらい」「学びづらい」といったことを心配していました
ですが今回のインターンでは様々な工夫をしていました
- Slack の VC を活用する
→ 作業時は常駐するようにしたり、朝会や振り返り回は決まった時間に行うことで、お互いの進捗や困っていることを共有することができました - 自分の Slack チャンネル(ojt)を Twitter のように使う
→ 作業の進捗や雑談を投稿することでお互いのことを知ることができました - リアクション機能や絵文字を積極的に使う
→ チャットには毎回リアクションがついていたり、絵文字を使って感情を表現することで和やかな雰囲気を作ることができました
特にゆめみはフルリモだからこそテキストコミュニケーションには気を使っているのかなと感じました
Slack には可愛い、面白い絵文字がたくさんあって積極的に活用していたり、コードレビュー時にミスを指摘するだけでなく良いところもコメントしてくれたりととても丁寧でした
また、フルリモートならではのメリットもありました
- 作業環境を自分で整えられる
→ 机や椅子、モニターなど自分のいつもの環境で作業できるため、集中しやすかったです - テキストでまとめるほうが伝わりやすいこともある
→ 技術的な議論など会話だと伝えづらい理解しづらいことが逆にテキストだとゆっくり推敲して書けたり、リンクを貼ることもできて便利でした
一方で懇親会やランチ、ちょっとした雑談などが対面に比べると難しいと感じました
ただそれでも 2 週間という短い期間でしたが、インターン生同士や社員の方とも仲良くなることができたと思います
まとめ
初めてのインターンだったため、最初は不安もありましたが、ゆめみのインターンはとても充実したものでした
フルリモ、フレックス、既存コードの改修、ユーザーインタビューから課題発見などなど初体験のことがたくさんあり記事を書くのに苦戦するほどでした
最後にはインターン修了の証として NFT をいただいたり、バディの方からメッセージをいただいたりととても温かい気持ちでインターンを終えることができました
また、ゆめみの文化や社員の方々の雰囲気を感じることができ、とても良い経験になりました
運営の方々、メンターの方々、バディの方々、インターン生のみんなに本当に感謝しています
この記事が誰かの参考になれば幸いです
最後まで読んでいただきありがとうございました!!
Discussion