Qiitaってどんな会社?Qiitaのインターンに行ってきた話

# はじめに
今週、1ヶ月半のインターンが終わりました。インターン先は今見ているこのサイト、Qiitaでした。
インターンで大変お世話になったので、何か自分からQiitaに恩返しできないかなと考え、Qiitaについての記事を書くことにしました。

インターンで得た知識だけではただの自分の記録なので、気になる人が多いであろうQiitaってどんな会社なのか、Qiitaのインターンではどんなことをするのかも書こうと思います。

ということで、この記事では
- Qiitaってどんな会社なの?
- Qiitaのインターンって何するの?
- インターンで何が得られたの?
- 大学院に進学する予定の人もインターンに行くべき理由

このような流れで書いていこうと思います。

# こんな人に読んで欲しい
- Qiitaに興味がある方
- 大学生全員
**(大学院に進学する予定の人も!)**
- 就活中で企業の情報収集をしている方
- インターンで何をするのか、雰囲気を知りたい方
- とりあえずエンジニア全員

# 中の人はこんな人です
- 大学3年生 情報系
分野としては音声や画像処理系をメインにやってます
- プログラミング歴5~6年
主にweb系の開発を中心にやってきました。過去には
    - [第61回 工大祭 (2023年)](https://www.koudaisai.com/61st/)でサイトリニューアル
    - [熱中症搬送者数予測サイト](https://heatstroke.jp/)

    等に携わってきました
- 今年の春季に応用情報技術者試験に合格
(こっちもみてね -> [応用情報技術者試験をたったの1ヶ月(100時間)で合格する勉強法](https://qiita.com/Murakawa_Takuya/items/7940956d88e13d348610))
- スケジュールが空いていたらなにかしら予定を入れたいタイプ
- ほとんどの野菜が食べられない

# なぜQiitaでインターンをすることになったのか
もっと開発経験を積みたい!チーム開発の経験をしたい!と思い、今年の春ごろからインターン探しをしていました。そんな時に[エイチーム](https://www.a-tm.co.jp/)の[就業型インターン](https://ateam-group.snar.jp/)を見つけました。その頃はエイチームと言えば[引越し侍](https://hikkoshizamurai.jp/)や[ナビクル](https://a-satei.com/)等の広告をZIP-FMで聞いたことがあり、自分が目指していた「toC系であり日常生活で役立つ事業」という点で自分に合っていると考え、エントリーをしました。
その後会社について調べていると[ライフスタイルサポート事業](https://www.a-tm.co.jp/service/lifestyle/)の一つにQiitaがあり、非常に驚いた覚えがあります。それまではQiitaがエイチームの事業の一つということは全く知りませんでした。

その後面接を受け、無事にインターンに合格し、後日送られてきた書類には「Qiita株式会社」と書かれていました。心臓が飛び出るほど驚きました。

余談ですが、僕の面接を担当してくださった方のうちの一人はQiitaのマネージメントをしているすごい方でした。面接中は「鋭い～!色々バレてる!」と思う質問が多く、圧倒された覚えがあります。後のインターンで非常にお世話になりました。

こういった経緯でQiitaでインターンをすることになりました。自分にとってこれほど嬉しいことはありませんでした。

# Qiitaについて
ここからはQiitaについて色々と書いていきます。Qiitaのオフィスや仕事のイメージを共有できたら嬉しいです。インターンの話はその後!
## Qiitaとは
そうですこのサイトです!エンジニアなら誰しも助けられた経験があるのではないでしょうか。
[会員数120万人以上、ユニークユーザー650万人以上](https://corp.qiita.com/releases/2024/01/one-million-two-hundred-thousand/)、日本最大級のエンジニアコミュニティです
自分もプログラミングを始めた6年前から数え切れないほどお世話になりました。記事を書いてくださってる方には本当に頭が上がらないです。

また、上でも書いたように、[Qiita(当時Increments)は2017年にエイチームの子会社になりました。](https://corp.qiita.com/releases/2017/12/increments-ateam/)これを知らなかった方は多いのではないでしょうか。


## Qiitaのオフィスってどこにあるの?どんな環境?
Qiitaのオフィスは名古屋と東京にあり、名古屋のオフィスはエイチームのオフィスの中にあります。
エイチームのオフィスは[名駅前の大名古屋ビルヂングの31階, 32階](https://maps.app.goo.gl/8m4bktYpC3sVHt9d7)(ほぼ最上階)にあります。景色はギガ絶景です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572193/3ce1f77e-b374-e83e-077e-94feec63d6f8.png)
[Google Map](https://www.google.com/maps/@35.1723851,136.8846108,3a,90y,35.49h,81.14t/data=!3m10!1e1!3m8!1sAF1QipMW0sfXZN5xOsG670BGJtC-x-E-S1zNejTodUpJ!2e10!6shttps:%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipMW0sfXZN5xOsG670BGJtC-x-E-S1zNejTodUpJ%3Dw900-h600-k-no-pi8.85574674146558-ya60.01758728230425-ro0-fo90!7i13312!8i6656!9m2!1b1!2i13?coh=205410&entry=ttu) より オフィスからの景色

オフィスは遊び心があり、ソファーやくつろげるスペースだけでなく、滑り台もありました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572193/f983763a-d4b2-6d06-f936-6c55061016b0.png)
[Google Map](https://www.google.com/maps/@35.1721555,136.8846457,3a,90y,213.68h,48.33t/data=!3m10!1e1!3m8!1sAF1QipMb8stVSRewnXCW5gZdIlwUz9MB67NjWaYJVQeY!2e10!6shttps:%2F%2Flh5.googleusercontent.com%2Fp%2FAF1QipMb8stVSRewnXCW5gZdIlwUz9MB67NjWaYJVQeY%3Dw900-h600-k-no-pi41.672014501525275-ya321.3345906277068-ro0-fo90!7i13312!8i6656!9m2!1b1!2i46?coh=205410&entry=ttu) より

社員食堂もあり、日替わりで多数のメニューから選ぶことができます。しかも安い。
一人暮らしをしている方は夜ご飯もここで食べている方もいらっしゃいました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572193/ff9c71b0-edaf-87d8-83d4-2b90213e1f86.png)
[エイチーム ホームページ](https://www.a-tm.co.jp/news/corporate-2739/) より 社員食堂LaPyuta（ラピュータ）

東海地区には東京や大阪と比べてIT企業がかなり少ないのですが、東海地区の中では(レベルも標高も)トップレベルのオフィスだと思います。

## Qiitaで導入している開発環境・手法
自分が関わったところでしかわからないのですが、他にもAWS等数多くの技術や手法が導入されていると思います。(あとシンプルに意識してなかったところもあるかも)
### 言語
フロントエンド: React, TypeScript
バックエンド: Ruby on Rails

### スクラム
Qiitaではスクラム(アジャイル開発の1つ)を採用していました。issueではsprintが決められており、朝会等で進捗等を確認していました。詳しくはQiitaのマネジメントの方が[「スクラムとは結局なんなのか」](https://qiita.com/getty104/items/c8936328d1a7cbf74728)や[「スクラムにおける朝会の目的は進捗共有ではないよという話」](https://qiita.com/getty104/items/35ccb10ce660e7487ef8)で詳しく書かれているので参考に!
(そもそも自分が十分な知識と経験を持っていないので、書けるほどのレベルに達してない)

### CI・テスト
CIのテストではRubyのRSpecでテストケースの確認をしていました。インターンの業務でもテストケースを追加・変更することが何度かありました。自分はテストケースを作ったことはありましたが、GitHubのCIで自動化したことがなく毎回手動で実行していたので、自分も今後導入したいと思います。

## Qiitaの社風・いいところ
(インターンを通して自分が感じたことです。重要だと思うポイントは人それぞれで、これは一個人の意見です。)

Qiitaはエンジニアをターゲットにしていて、**「エンジニアを最高に幸せにする」** をミッションにしています。Qiitaらしさが出てますし、めちゃめちゃ達成できてると思います。今後もエンジニアを幸せにし続けてほしいですね。

https://corp.qiita.com/about/

### 高め会える環境・常に成長し続ける姿勢
Qiitaのカルチャーとしてまず思い浮かんだのが、**周りを巻き込んでエンジニアとしての技術を高め合う文化**です。Qiitaでは毎週社内で勉強会があり、各章で意見を交換していました。僕がインターンに参加した時は[良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方](https://www.amazon.co.jp/%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89-%E6%82%AA%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E5%AD%A6%E3%81%B6%E8%A8%AD%E8%A8%88%E5%85%A5%E9%96%80-%E2%80%95%E4%BF%9D%E5%AE%88%E3%81%97%E3%82%84%E3%81%99%E3%81%84-%E6%88%90%E9%95%B7%E3%81%97%E7%B6%9A%E3%81%91%E3%82%8B%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E6%9B%B8%E3%81%8D%E6%96%B9-%E4%BB%99%E5%A1%B2/dp/4297127830)を学んでいました。ペアプロをしている時に「それって勉強会でやった〇〇だから直したほうが良いよね」みたいな感じで言われることもあったので、実際に業務で活用できているなと感じました。
他にも、カンファレンスやLTに参加しているだけでなく、登壇している方も多数いらっしゃいました。
仕事だからプログラミングを学ぶというのではなく、好きだから新しい技術を求める・今ある技術を改善するという方がとても多かったです。
僕のメンターさんはエンジニアとしての夢を追いかけられていて、めっちゃかっこよかったです。

### ドキュメント文化
次にQiitaの文化で思い浮かんだのがドキュメント文化でしょうか。Qiitaがドキュメントを残すサイトであるように、Qiita内でも数々のドキュメントが残されていました。導入方法や過去に起こった問題とその解決策、障害情報、コーディング規則や諸々のルール等など数多くあり、全ては把握しきれてないです。
インターンではドキュメント文化に慣れよう!ということで、Qiitaで初めて記事も書きました。([応用情報技術者試験をたったの1ヶ月(100時間)で合格する勉強法](https://qiita.com/Murakawa_Takuya/items/7940956d88e13d348610))Qiita Teamの方でも「[インターン生向け]困った時の対処法」というドキュメントを残しました。

### HRT文化
「Humility（謙虚）」, 「Respect（尊敬）」, 「Trust（信頼）」
HRTって何という方はこれを参考に

https://help.qiita.com/ja/articles/qiita-community-guideline#qiita-hrt

レビューでめーーーーーーちゃめちゃHRT感じましたね。全く嫌な気持ちになりませんでしたし、すっごいありがたいな〜・ためになるな〜って感じました。多分HRTが全く無かったらビクッってしてたと思います。

### 社員さんのレベルが高い・とても優しい
社員さんのレベルが本当に高くて驚きました。実装の相談やレビューを受けると、視野の広さや経験・知識の深さに驚きました。いつか自分もこんなエンジニアになれるかな～
社員の皆さんも忙しい中、こんなインターン生に対して非常に手厚い指導をしてくださいました。悩んでるときも社員さんに助けを求めるとすぐ駆けつけてくださって、ペアプロや面談を何度もしていただいて、研修等に関しては本当に充実していると感じました。

こういったところから、**エンジニアとしての高みを目指す方、より良い技術を突き詰めたい方、周りと高め会える環境を好む方にはとても合っている**と思います。
自分は周りでレベルが高い人に前ならえするタイプなのと、社員の方のおかげでインターン中だけでもかなり成長したと感じました。

## エイチームの社風・いいところ
(これも一個人の意見です)

Qiitaはエイチームの子会社ということでミッションが共通していて、Qiitaはエンジニアがターゲットなのに対して、エイチームは幅広い事業で**人の人生始めから終わりまでを幸せにする**のがミッションだと感じました。

https://www.a-tm.co.jp/about/philosophy/

### 人を大切にするカルチャー
エイチームはユーザーだけでなく、**社員をとても大切にする会社**だと感じました。特に、社員の成長をとても大切にしていて、研修であったり面談等、社員の成長やつながりを大切にしていると感じました。

### エイチーム内の部署間で異動できる
(たしか)半年に一回、それぞれの部署で求人みたいなものを出して、自分が行きたい部署ややりたいことがあれば面接等を経てその部署に異動できるそうです。入社してからも自分がやりたいと思ったことにチャレンジできるのは良い制度だと感じました。毎週僕の面談を担当してくださった方も人事をやりたいと思いエンタメ系から人事に異動したそうです。
また、エイチームはライフスタイル系・エンタメ系(ゲーム)・EC系で数多くの事業を持っているので、エンジニアとしてもやっぱりEC系行きたいなとか、ライフスタイルの中でもこんな事業に参加したいなという時にやりたいことをできるので、やりたいことを仕事にできる環境だと思います。

### チャレンジできる環境
上に書いた部署異動で自分がやりたいことにチャレンジできるということもですし、入社して数年で活躍している方も多かった印象です。

エイチームはすごく活気に溢れた会社だなと感じました。僕はQiitaのインターンなので、エイチームに関することで知れなかったことも多いとは思いますが、**チャレンジしたい人、入社してからも成長したい人にはとてもおすすめな環境**だと思います。

# Qiitaのインターンについて
ここからはQiitaでのインターンの業務内容や感じたこと、得られたことを書いていきます。
## Qiitaのインターンのここがすごい!
(エイチームのインターンにも共通)
### 実際の業務に携われる
インターンシップは大きく2種類に分けられると思います。
- 就業型(今回はこっち)
- インターンシップ生向けのプログラム(グループワークであったり、ハッカソン形式のもの等)

就業型では実際のシステムを触り、最後にはそれが一般に公開されます。このような経験をインターンでできるのは就業型ならではだと思います。就業型の良いところはここから↓

### チーム開発の経験を得られる
下の方で詳細を書きますが、報連相やドキュメントの残し方、他の人が読むことを想定したコードの書き方や設計など、チーム開発でしか得られない経験や視点があると思います。

### コードレビューを受けられる
自分が書いたコードに社員さんからレビューをもらえます。ベテランの方からコードや設計で意識するポイント、PRの書き方等のレビューを受けられるので、非常にためになります!ベテランの方は経験も豊富で視野も広く、本当に参考になります。マジでお金払っていいレベルでめっちゃ為になる&力が付きます。
コードを直すだけではなく、開発の過程で意識するといいよ～ってことも教えていただけるので一気に視野が広がります
<!-- メンターじゃないよ -->

### メンターさんがつく
これが本当に心強いです。とくに最初はわからないことも多く、他の人に聞くのも少し勇気がいるので、メンターさんがいるのといないのでは全然違うと思います!僕も最初はわからないことばかりだったのですが、メンターの方が支えてくださったのでとても心強かったです。

### 同じ部署の方から吸収できる
ペアプロや1 on 1、お昼に話したりと部署内の方から参考になる話・技術を得られます。就業型インターンのいいところです。

### 人事の方とお話ができる
毎週人事の方と面談していただけます。そこまでしてもらえるの!?!?ってくらいですね。
面談では自分ができるようになったことを振り返ったり、エイチームに関して色々と質問することもできます。時には自己分析とかも手伝ってくださいました。お金払ってもいいレベルでは...?
他にも色々と相談に乗ってくださったり、他部署の方でお話を聞きたい方と繋いでいただけます。

### マネージメントの方とお話ができる
人事の方だけでなく、マネージメントの方とも面談していただけます。豪華すぎんか...!?
こんな体験、他ではなかなかと思いますし、入社してからもそれが普通というわけではないと思うので、インターンの特権ですね。
インターンの面接を担当してくださった方の一人がマネージメントの方で、1 on 1でも人を見る目や話す能力が溢れてました。

### 他の部署の方とお話ができる
人事の方にこんな人の話が聞いてみたいです～と伝えるとエイチーム内で部署に関わらず参考になる方を探していただけます。
僕は「院進するか参考になる方 & エイチームで複数の部署の経験がある方」とお話をしたいです!とお願いしたところ、後日その方とお昼に話す機会を設けていただけました。下の方でも書きますが、将来に対する考えもかなり変わりました。

## インターンではどんな業務をしたの?
インターン中は主にインターン生向けのissue(実装)をしていました。インターン生向けのものなので、社員さんが行なう長期にわたって開発するものや全体に大きな影響力のあるものよりも、難易度は優しめ(簡単すぎずやりごたえはかなりあります)で、限られた時間の中で幅広く開発経験ができるものが中心でした。それらの開発の中で、チーム開発で必要な経験やQiitaで働くイメージを体験できます。簡単に言えば普通に業務です。給料も出ます。就業型インターンは本当にいいことばかりです(みんなもインターンに参加しよう!!)

### インターン中に実装したもの
インターンで実装したものをいくつかピックアップしました。

#### ファイルをアップロードした時のエラーメッセージの変更
(フロントエンド・バックエンド)
失敗したら全部"Something went wrong"と表示されていて何があかんの?って感じだったのを、エラーの内容によって表示するメッセージを変更しました。
|before|after|
|-|-|
|<img width="200" alt="before" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572193/b7ec2dec-45b6-2f6e-33e0-a43770ef8f6f.png">|<img width="800" alt="after" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572193/8d6095eb-f9f7-ef56-de3b-495873a6bbc9.png">|

(画像のアップロード上限は1ファイルあたり最大10MB, 1ヶ月合計100MBまで, [詳しくはこちら](https://help.qiita.com/ja/articles/qiita-image-upload))
「9.8MBの写真ファイル(月容量超え)」に関しては、正常なファイルでも月容量が超えてしまう場合の検証になります。

#### 記事や質問等で自分に対する通報はできないようにする
(フロントエンド・バックエンド)
以前は記事やコメント、質問、回答、Organization、ユーザーなどなど、自分に対しても通報できてました。(スパムされたら困りますね)
フロントエンドとバックエンドの両方で自分に対して通報はできなくする、テストケースで自分に通報ができなくなっているか確認するという実装をしました。

そのほかにも、エディターのちょっとした挙動の変更やOrganizationの説明文の文字数カウント、表記の修正など、様々な経験をさせていただきました。
これらの経験を通して、コーディング技術や設計、レビューの書き方など、幅広い経験を積めたと思います。

# インターンを振り返って
## 苦戦したこと
- シンプルにわからん!って場面はやっぱりある(Qiitaの開発環境に関することも、実装に関することも)
- 自分の説明が未熟で社員さんに聞いてもなかなか伝わらない
- 社員さんに教えてもらったことがわからない
- シンプルにわからなさすぎてどう聞けば良いのか困ることも
- Ruby on Railsを初めて経験したので、言語特性やActive Record等のRails特有の機能にかなり苦戦した
- 普段はWindowsなので、Macに慣れるまではけっこう大変だった(ある機能無い機能、使い方やショートカットキーの違い等)

等、思い返せば色々と苦戦して、その度に解決策を探すということを繰り返していた気がします。でもこれって誰しも通る道だと思いますし、必要な経験だと思います。
こういった経験を通して、以下のようなことを学びました。

## インターンを通して何ができるようになった?どんなことを学んだ?
コーディング力やデバッグの知識も増えましたが、どちらかというとチーム開発におけるソフトスキルでの成長のほうが大きかったと思います。
### 問題に直面した時の解決能力・質問する時に意識すること
一番自分が成長したなと感じたのは、**チーム開発において困ったときにどう立ち回るか**というところだと思います。
初めは困ったらすぐ聞くこともありましたし、ながーく考え続けることもありましたが、困った時にどうすればいいのか、聞く時に意識しておくポイント等を知ることができたと思います。
社内向けのドキュメントで「[インターン生向け]困った時の対処法」としてまとめたのですが、そこで書いたものの目次だけ書いておきます。(かなり長いので)
1. まずは自分で考える、「わからないからすぐ聞く」はやめよう、でも時間のかけすぎも良くない。
1. 原因と対策の予想を立てておく。気がついたことをまとめておく
1. ドキュメントやネットで調べてみる
1. 生成AIに聞いてみる
1. 社員さんに質問しよう。色んな人に聞いてみよう<-これ大事

今回はインターンの内容がメインなので、詳しい説明は省きますが、基本的にはこんな感じで解決してました。あとは積極的に質問をすること、毎回同じ人に聞くのではなく、その時々で違う人に聞くことでより多くの意見や視点を知ることも大切だと感じました。

質問する時に意識するポイントに関しては以下の記事でわかりやすくまとめられているので、こちらを参考にしてください。

#### エンジニアが意識すべき 「質問するコツ」 と 「質問に答えるコツ」
質問する側・される側のお互いが意識することがまとめられているのでめちゃ参考になります

https://qiita.com/wataru86/items/ea4306b08a5c980e2e2f

#### 未経験エンジニアが周りに質問しまくったら爆成長できた件
「[インターン生向け]困った時の対処法」で書いたこととかなり似てます。
何も考えずに丸投げは良くない。でもずっと悩み続けるのも良くない。これ本当に大事です。

https://qiita.com/segawa_m/items/3cc1703072e4638ddb6f

### コードやコミットメッセージ、PR等他の人が見るものを書く時に意識すること
Qiitaの社風としてドキュメント文化を上げましたが、今回のインターンを通して他の人が読むドキュメントの残し方、PRの残し方や意識することを学びました。
このインターンを通して、これまでの自分がいかに適当だったかを思い知りました。PRのコメント?たまにしか書いてなかったですね。コミットメッセージに「微修正」って書いたこともあります。あぁなんて罪深い...

### Gitの使い方・レビューの受け方
シンプルにGitの使い方もかなり上達したと思います。基本的な機能は以前から使ってたのですが、rebaseやfixup等は全く使ったことがなかったので、このインターンで使いこなせるようになってよかったです。
他にも、良いコミットメッセージの付け方やコミットの粒度、わかりやすいPRの書き方等、チーム開発ならではのgitの使い方を学べました。
下の2記事で--fixupと--force-with-leaseを学びました、是非参考に

https://qiita.com/inukai-masanori/items/82eb0626fd75f3eb0922

https://qiita.com/wMETAw/items/5f47dcc7cf57af8e449f

### 新しい視点
ここまでに何度も書いてきましたが、やっぱり視野の広がりをすごく感じました。
ベテランの方に「自分はこう考えたのですが、意見をお伺いしたいです」と聞いたりすると、そんなやり方があったのかー!とか、たしかに言われてみればそうだな～!みたいなことばかりでした。インターンでベテランの方の考え方や意識しているポイントを知れるので、是非参加してほしいです

## インターンを通して気がついた自分の強み・これからの課題
インターンを通して多くの方からレビューをいただく上でこういうところが自分の強みだな、こういうところが今の自分の課題だなというのを知ることができました。
### 自分の強み・これからも大事にしたいこと
#### 新しいことを取り入れることのハードルの低さ・伸びしろ
昔から周りの人に言われていたのは、気になった言語や技術にどんどんチャレンジすることだと思います。経験したことない技術にチャレンジする抵抗がほとんど無いことは非常に強いと思います。新しいことをどんどん取り入れることができるということは、伸びしろがたくさんあるってことなのかなと思います。
今回のQiitaでもRuby on Railsは初経験、休日に少し勉強したことで初めよりコードや言語特性、動作等がわかるようになりました。

余談ですが、自分は「現状維持=退化」だと考えていて、周りがどんどん良くなっていく中で現状維持をしようとすることは相対的に価値が低くなっていると考えています。新しい技術を取り入れずにはいられないんですね。

#### 問題ネガティブに捉えるのではなく、解決しようとするところ
マネージメントの方に言われたのが、何か問題があった時にそれを「わー大変だ～」で終わるのではなく、それを解決しようとするところが良いと言われました。
振り返ると、[第61回 工大祭 (2023年)](https://www.koudaisai.com/61st/)でサイトを1から作り直してGitを導入したり管理体制を整えたのも、それまでの管理体制やコード・サイトの質が悪化していたところを改善しようと行動に移したところが当てはまるのかなと考えました。

#### 自分で考えて行動するところ
他にも、言われたことを自分なりに理解し、その上でさらに必要な改善等を考えるところが高く評価されました。言われたことだけをやるのではなく、それ以上のことをやるのって大切ですよね～。

### これからの課題
#### 設計力
個人開発や少人数での開発が多かったこともあり、設計の甘さが身にしみました。これまでの開発では、関数の使い回しや分割は意識していましたが、自分がわかればいいので他の人が読むことを想定した書き方というのをあまり意識していませんでした。コンポーネント間の依存が強かったり、実装する場所が少し適当なこともありました。インターンでは、言われれば確かに～とはなっても、自分でそれを思いつけなかったので、これからは依存性や結合度、他の場所で実装できないか等、視野をもっと広く持つことが大切だと感じました。シンプルに、チーム開発をもっと経験することも必要だなと感じました。

#### 言語化能力
インターンではわからないことがたくさん出てくるので、必要があれば社員さんに相談することが何度もありました。その時に痛感したのが、とにかく説明が下手!本当に伝わらない!話のポイントがわかりにくかったり、相手が理解に困ったりということが何度もありました。質問を重ねる上で何がいけないのかを考えて、「問題に直面した時の解決能力・質問する時に意識すること」に書いたことを意識するようにしました。はじめと比べたらまだましにはなったとは思いますが、まだまだ説明力が不足していると感じています。
僕のメンターの方は説明が驚くほど上手で何度も助けられました。僕もメンターの方みたいになりたいです。

マネージメントの方に相談した時に言われたのが、文章を書くことでした。確かにこの記事のように振り返って文章化することで考えがまとまってきたと感じました。

#### 視野の狭さ
こっちを修正したらあっちも修正しないといけないよね、みたいな場面で片方だけ修正してもう片方を修正し忘れることが何度もありました。
セルフレビューでもっと視野を広くして確認しないとなと思いました。
(純粋に寝不足で注意散漫なのと、複数のissueを同時に進めている関係で忘れているというのもあるかもしれません)

視野の狭さで言えば、設計のところでももっと視野を広くしないといけないですね。

## インターンを通して変わったキャリアパス
自分の周りは大学院に進学する人がほとんどで、自分の学科は7~8割の人が大学院に進学するそうです。そのため、周りの雰囲気としてもとりあえず大学院に行くって人がほとんどで、大学3年生の今、就職活動をしている・インターンに参加しているって人は知人でも3人ほどしか知らないです。(数%とか?)なので自分も、研究も面白そうだしとりあえず大学院に行こうかなーって感じでした。
ですが、今回のインターンを通して、院進する選択肢が全てではないとかなり感じました。Qiitaの方から色々な話を聞いたこともですが、特に大きかったのは「Qiitaのインターンのここがすごい!(エイチームのインターンも含む)」にも書いた、他の部署の方と話せるというところで、院進するメリットや院進しないメリット等様々な話を聞けたことで、就職する手段も選択肢として全然ありだと感じるようになりました。
最近は院進するのか、就職するのか、院進するのであればwebに関連する研究室なのか本業の画像処理系に行くのかでかなり迷っています。これで将来が大きく変わると思うとなかなか決められないですね...

少なくとも、Qiitaのインターンは将来について考えるとても良い機会になりました。将来のエンジニア像もはっきりしてきたと思います。


# 大学院に進学する予定の人もインターンに行くべき理由
最後に、エンジニアを目指す人は院進する予定だとしてもインターンに行くべき理由について書いていきます。
結論から言うと、**学部生のうちからインターンは行ったほうがいいです。エンジニアになりたいのであればより行ったほうがいいです。** エンジニアとしてバリバリ活躍したい方や大手に就職したいという方はほぼマストな気がします。

## 大学では教えてくれない、インターンでしか得られない経験
大学とインターンや開発系のバイトの違いとして、大学はどちらかと研究向けであり、インターンや開発のバイトはもっと実務向け・実践的であると思います。こういった違いから、会社で必要とされる技術力は大学で網羅することはできないと思います。(研究職は別ですが)
また、チーム開発も、大学で数人グループの開発をすることはあっても、もっと大人数で開発をする経験はなかなかないですし、ベテランの方からレビューをもらうということもほとんど無いと思います。
こういった点で、インターンでしか得られない経験がたくさんあるので、自分からインターンや開発系のバイトに参加して習得する必要があると思います。

他にも
- インターン先の会社について知れる
- 自分がその業界に合っているか・自分が行きたい業界を知れる
- 院生の時の就活に向けた練習になる
- ESを書いたり面接の対策をする過程で、自分がやりたいことや将来について考える機会になる
- 開発経験としてアピールすることができる

などなど、メリットしかないです!これだけメリットを聞いたらもう行くしか無いですね!
インターンに行けることも大事ですが、ESや面接を経験しておくだけでも十分な成果だと思います。インターンに落ちたとしても落ち込まずに次に活かしましょう。

唯一デメリットを挙げるとしたら、インターンの日程や期間にもよりますが、時間がかなり食われます。自分は普段からスケジュールをギチギチにするのに、さらにギチギチにしたせいで毎日忙しすぎました。いつも助けてくれた友人たちには感謝です。

# 最後に
1ヶ月半のインターンでこれまでの数年分に匹敵するくらいの成長があったと思います。Qiitaのレベルの高さからでもありますし、これまでのチーム開発の経験が少なかったことから、このインターンではより多くの意見や視点を得ることができたことがかなり多かったと思います。
1ヶ月半本当にお世話になりました。🙇‍♂️
自分も将来はQiitaの社員さんみたいな視野めちゃ広つよつよエンジニアになれるよう精進します。

# 一緒に読んで欲しい記事
### Qiitaの長期インターンに参加して。
過去にQiitaのインターンに参加した方の記事です。この記事をある程度書いてから読んでみたら内容も結構似ていて、インターンに参加するとみんなこんな成長をするものなのかなーと思いました。(みんなもインターンに参加してつよつよエンジニアを目指そう!)

https://qiita.com/mugiajinoocha/items/149c2c1b24c0abc9859d

### スクラムとは結局なんなのか, スクラムにおける朝会の目的は進捗共有ではないよという話
Qiitaのマネージメントの方の記事です。記事の中でも書いてありましたが、非常に参考になるのでぜひ読んでほしいです。

https://qiita.com/getty104/items/c8936328d1a7cbf74728

https://qiita.com/getty104/items/35ccb10ce660e7487ef8

### エンジニアが意識すべき 「質問するコツ」 と 「質問に答えるコツ」, 未経験エンジニアが周りに質問しまくったら爆成長できた件
こちらも記事の中で出てきた、質問する時に意識するポイントがまとめられた記事です。本当にためになるので是非!

https://qiita.com/wataru86/items/ea4306b08a5c980e2e2f

https://qiita.com/segawa_m/items/3cc1703072e4638ddb6f

### 応用情報技術者試験をたったの1ヶ月(100時間)で合格する勉強法
インターン中に書いた自分の初記事です。応用情報を受ける予定がある方は参考になれば嬉しいです。
トレンド1位とれたので、かなり反響はあったのかなと思います

https://qiita.com/Murakawa_Takuya/items/7940956d88e13d348610

# 最後にちょっとだけ
次に書く記事をどれにしようか悩んでいて、いくつか下書きがあるのですが、皆さんが興味があるものを教えていただきたいです
これバチクソ気になる!というのがあればコメントで教えてください^^
(こういう時に投票機能欲しいな～)

- 「画像処理でサイゼリヤの間違い探しをボコす方法」もしくは「間違い探しを自動で解いてくれるサイト作った話」
    - React, Firebase, Google Cloud, 画像処理(アフィン変換, 差分処理などなど), AI
- 「Apexchartsでサイトに多機能なグラフを表示する方法」
    - JS, [Apexcharts](https://apexcharts.com/)
- 「Openweatherで無料で過去の気温や天気情報を取得する方法!(予報も可!)」
    - JS, [Openweather](https://openweathermap.org/)
- 「Firebaseでサーバーから特定ユーザーにWebプッシュ通知を送る方法」
    - React, Firebase(主にFirebase Cloud Messaging)