ゆめみの2weeksサマーインターン１期生になってきました！


# はじめに

こんにちは。8/28 〜 9/8 の２週間で、ゆめみのサマーインターンに参加してきました。福井悠生です。

この記事ではインターン中に行ったことや選考の話などを書きました。
今後ゆめみのインターン行ってみようかなと考えている方の参考になれば幸いです。

↓最後にいただいた修了証
<img width="1000" alt="スクリーンショット 2023-09-08 18.27.18のコピー.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3555017/fc2907b0-58c1-bc5e-d1b0-1e3cce096754.png">



## 選考の流れ

ゆめみサマーインターンの選考は Webコーディングテスト ⇨ オンライン面接⇨メールによる合格通知 の流れで決まりました。

面接の内容は、事前に「Notionで自己アピールをかけるだけ書いて提出する」という課題が出され、その自己アピール資料を中心に質問するという内容でした。

面接官はとても親切な方で、私の緊張をほぐそうと声かけをしてくださいました。

全体的にすごく雰囲気が暖かい面接で、「本来のポテンシャル」に目を向けた素晴らしい面接だと感じました。

合格通知のメールにはGood（褒め）Next（より良くなるには何をすべきか）を長文で書いて送られてきたのですごく驚いたし、嬉しかったです。知人に聞いたところ、選考に落ちた人でもGoodとNextが書いてあったとか。凄すぎる！

## 期間中に取り組んだこと

### 概要

インターン参加者は8人で、フロントエンド２人バックエンド2人の4人１チームに分かれて社内プロダクトの機能追加を行いました。

私の所属していたチーム「ぱせりうす」は以下の課題に取り組みました

１週間目：求人の新規作成・更新する機能の作成

２週間目：求人を新規作成した時にSlackに通知を飛ばす機能の作成

### インターン生の１日の流れ

10:00〜10:30：Slackで朝会がスタート！

- 昨日やったことと今日やること、共有事項などを共有しました。

10:30〜18:00：開発

- フロントエンドとバックエンドに分かれて１日のタスクを決める
- それぞれの１日の担当タスクを決める
- Slackの通話を繋げながら開発

18:00〜19:00：バディさんとの１on１振り返り会

という流れで２週間開発を行いました。

### 担当作業

**求人の追加・更新する機能の作成**

- OpenAPIに書いてある仕様を見ながらAPIを叩いて、求人の追加・更新を行えるようにした。
- 既存コードのリファクタリング

**求人を新規作成した時にSlackに通知を飛ばす機能の作成**

- 新規求人の有無をlocalStorageに保存されている求人の値から判定し、新規求人がある場合はモーダルを出す
- Figmaに用意されていたUI案を参考にUIを作成
- 求人情報を元にSlackに通知するメッセージの生成
- UIについてデザイナーさんと相談や提案

↓自分が開発に参加した部分
<img width="800" alt="5cFpyxUXXjtQrNC1694329354 (3).png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3555017/b9869ee2-8910-0744-735f-479fad06f7ca.png">


## 学んだこと・感じたこと

２週間というすごく短い期間ではありましたが、とても多くのことを学ぶことが出来ました

### Git,GitHubを用いたチーム開発の流れ

チーム開発を行ったことはあったが、Git,GitHubを使ってチーム開発を行った経験はなかったので、とても勉強になりました。

個人的には自分のコードにレビューをしていただけることが新鮮で、ありがたいなと思いました。

### チームの雰囲気をよくするために

心理的安全性の高い暖かい雰囲気は、チーム全員の積極的な自己開示、自虐、リアクション、フィードバックなどの日々の積み重ねによってしか生まれないと体感しました。

個人的には、リアクションを積極的にすることで優秀なチームメンバーが積極的に意見を主張できる雰囲気作りに取り組み、その結果とても雰囲気のいいチームをみんなで作り上げることができました！

### コードをできるだけ読まない

これはTypeScriptのお話なのですが、関数名と型を見ることで関数の中身を確認することなく関数の機能を把握すると、コードリーディングを素早く行えるということを教えていただきました。

自分はTypeScript初心者だったので、この考え方はすごく参考になりました。型最高！

### 犬の道を歩むな！

犬の道を歩むな！は今回のインターンでの私の１番のテーマだと感じています。

「犬の道」を簡単にまとめている方がいたので引用します。

> つまり「犬の道」とは、
たいして重要ではないことを、
ひたすらムダに取り組んでしまう
遠回りな道のことです。
> 
> 
> https://lifeplan-labo.co.jp/blog/1582/　
> 

この「犬の道」という言葉は「イシューから始めよ」という書籍で用いられている言葉です。
バディさんからこの言葉を教えていただいて、1日の終わりの振り返り会でも何回もこの言葉について考えました。

「犬の道」を歩まないためにしたことを簡単に書いておきます。
読み飛ばしていただいても構いません。

**手を動かす前に実装方法を細かく考えメモに残す**

インターン中に「実装方法をメモにまとめると、実際にコードを書く前にチームメンバーに実装方法の確認を取ることで手戻りを少なくできる」というアドバイスをバディさんからいただきました。

この手法はまさに「犬の道」を歩まないための考え方だと思います。

この方法を取ることで、

- 実際にコードを書いていて詰まった時にメモに戻ってきて何に詰まっているか整理することで、冷静に問題へのアプローチを考えることができる
- チームメンバーに今の問題への対処が正しいのか確認を取ることもできる

などメリットだらけです。

↓Slackの公開チャンネルでメモっている図
<img width="500" alt="スクリーンショット 2023-09-10 15.54.16.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3555017/59dcea8d-218e-cbb1-e04f-6bd09d2d8ed9.png">



**質問をする時は対処法＋その奥にある考え方を聞く**

私は素直に質問することは得意なのですが、どうしても対処法だけをその場その場で質問してしまうことが多かったです。

これには以下のような問題があると考えています。

- 相手の時間を無駄に奪ってしまう
- その場その場の対処法しかわからないので応用できない

これでは結果的にお互いの時間を無駄にしてしまうことに繋がるので、「犬の道」を歩んでしまっていると言えます。

そこで、「**質問をする時は対処法＋その奥にある考え方を聞く**」を実践しました。

対処法だけを聞くだけでは勿体無いなと思えるようになったことがまず成長で、なぜその対処法を使おうと考えたかというその人の考え方、エッセンスの部分まで一緒に聞くというのが大事だなと感じました。

## まとめ
今回のインターンを通して技術面でも学びは多かったのですが、**周りを生かす**ソフトスキル面での成長が大きかったなと感じています。
逆に言うと技術面はまだまだなので、これから日々精進していきたいと思います。
インターンを計画・実施してくださった方々、関わってくださったインターン生たち、メンターさん方、本当にありがとうございました！！　とても学びのある2週間でした！！