自己紹介
こんにちは、Emotion Techでエンジニアインターンをしている渋谷です! この記事では僕が半年間のインターンを通じてどんなことを経験し、学ぶことができたのかを紹介したいと思います。エンジニアインターンに行くのはめちゃくちゃおすすめなので、この記事を読んで少しでもインターンに興味を持っていただければ嬉しいです! ※この記事はEmotion Tech Advent Calendar 20212日目の記事です
インターン参加まで
僕はコロナ禍で家にいることが多くなった2020年夏ごろから独学でプログラミングの勉強を始めました。個人でRailsを使ったアプリケーションを作成していましたが、独学だけでは得られる経験に限度があるし、実際の開発現場で勉強できればもっと成長できるんじゃないかと思ってエンジニアインターンへの参加を考えるようになりました。
がっつり勉強しようと思ったので最初から長期のインターンだけをwantedlyで探していました。書類で落とされるところもあれば、すぐ面談させてくれるところもあったりと結果はまちまちで、こうしたら受かるというのは正直よくわかりません。
しかしインターンの面接で自分が作ったアプリケーションやエンジニアを目指したきっかけなどについてちゃんと話せたときは良い反応がもらえて、最終的には現在働いているEmotion Techにインターンとして採用していただきました。
なぜEmotion Techを選んだのか
実は他に面接が通っていた会社もありましたが、面接で話している間に「エンジニアとして成長すること」をめちゃくちゃ重視しているのを感じられたのでこの会社を選びました。カジュアル面談や面接では自分が作ったアプリについてその場でフィードバックをしてくれたり、次に使うと良い技術についても教えてくれたりとめちゃくちゃ親切に対応してくれました。こんな感じでインターンにもどんどん教えてくれる環境があれば、あとは自分がどれだけ頑張るか次第なので「この企業ならチャレンジできる!」と思い、Emotion Techを選びました。
また、ちょうどEmotion Techも拡大期にあり、企業がどんどん大きくなっていく段階を中から体験できるのも面白そう!と思ったのもひとつの要因です。
実際インターンとして入ったあとの話ですが、開発部の先輩エンジニアの皆さんは開発者としての心構えやスタートアップあるあるとかを色々教えてくれるし、Emotion TechもPLAIDさんとの連携が始まるなど本当に変化に富んでいて、あの時この企業を選んでよかったなと思います。
インターンでやったこと
僕が半年のインターンでやったことを挙げるとこんな感じになります。
最初の管理者画面の新機能実装は環境構築が終わった直後にもらったタスクで、僕は「最初は本を読んで勉強したり、研修用のアプリを作ったりするのかな...?」と漠然と思っていたので、いきなりRailsを使った新規の実装をやると聞いた時は自分にできるかどうか不安でかなりビビってました。
タスクをやり始めてからはモデルの設計やSQLの書き方など、メンターに色々聞きながら記事やリファレンスを参考にして取り組んでいました。この時意識していたのは「できるだけ自力で考えてチャレンジする」ということで、メンターからも「時間はいくらでもかけて良いから」と言われていました。
テンプレート選択画面の改修はAngularを使ったフロントエンドのタスクでメンターが「興味があったら」といってチャレンジさせてもらいました。その段階でAngularやフロントエンドの経験はほぼ皆無でしたが既存のコードも参考にしつつ取り組むうちにどんどん身について行きました。(まだまだ未熟ですが...)
現在ではバックエンド・フロントエンド両方でリファクタリングやバグ修正を行っています。
学んだこと
できないと感じるものでもチャレンジすれば良い!
今考えれば「自分ができるかどうかギリギリのラインのタスクを振ってもらう」というのはめちゃくちゃ大事だったなと思います。
右も左も分からない最初は「できるわけない」と思って怖気付きがちですが、周りに教えてくれる人がいれば困っても何とかなるし、本や記事を調べまくって何とかタスクを達成できたあとの自分は以前の自分に比べてめちゃくちゃ成長できていると思います。
インターンであれば行き詰まっても教えてくれる環境が整っているので恐れずどんどんチャレンジしていくべきだと思います。
時間をかけて自力でチャレンジするのは大事、すぐに聞くのも大事
この半年間、時間を気にせずできるだけ自力でチャレンジすることを心がけたおかげで調べる力や問題解決力をかなり成長させることができたと思います。
しかし、同時に反省点でもあって、「自力で考える」ことを固執しすぎて時間を浪費していたなと思います。
ちょっとしたエラーで何時間も悩むみたいなことはしょっちゅうでしたし、テストコードのエラーの原因がわからず1日を潰してしまうこともありました。特にサービスの仕様など聞けばすぐわかるものは悩まず聞いた方が良かったです。
どんどん次の問題をクリアしていくためにも15分ルールとかを使って「考えること」と「時間を浪費しないこと」の両立を図るべきだったなと思います。
コミュニケーション能力はやっぱり大事
やっぱりエンジニアも人とのコミュニケーションの中で働く職業だと思います。新機能実装の際はビジネスサイドの方ともコミュニケーションを取りながら機能を改善していきました。円滑に仕事を進めるためにエンジニアも会話力とかちゃんと自分の意図を伝えられる力は絶対にあった方がいいと思います。
特にインターンは能力も未熟で色々と教えてもらったり迷惑をかけてしまったりする立場なので普段からコミュニケーションを取るようにしないと結構辛いと思います。
会社の人は皆優しいので懇親会や雑談などで積極的に話しかけて自分のことを知ってもらうように心がければ、すぐに良好な関係が築けると思います。
最後に
最後まで読んでくださりありがとうございます。もう一度になりますがインターンはめちゃくちゃおすすめです!先輩エンジニアの面白い開発の話が聞けたり、自分のコードの改善点を指摘してもらえたりするので技術力を身につけたい人や開発現場を体験してみたい人はぜひやってみて欲しいと思います。
僕の個人的な意見ですが、Emotion Techは勉強したい学生エンジニアにオススメな会社なので興味があればぜひ見てください!