1年間のエンジニアインターンで学んだこと
1年間のインターン
こんにちは。1年エンジニアとしてインターンを経験して学んだことをアウトプットしたいとして今回この記事を投稿させていただきました。これからエンジニアインターンを始めたい、または始める人に向けて参考になれば嬉しいです。
1. 自己紹介
まず、軽く自己紹介ですが経営学部出身の私は、大学でプログラミングやプロダクトマネジメントの勉強を通じてエンジニアの道に興味を持ちました。3年冬から4年春まで、EC系の会社でエンジニアインターンを経験。最初の3ヶ月は研修期間を過ごし、その後はスクラム開発チームの一員として実務に携わりました。軽音サークル活動や卒論執筆と並行しながらも、インターンにできる限り力を注ぎました。
2. 技術面での学び
フレームワークとスキル
研修ではExpressやRemixをTypeScriptで開発。インターン以前はDjangoで個人開発をしていましたが、Expressは軽量なフレームワークだったので自分でセキュリティ対策や認証認可の実装が必要だったため、サーバーサイドの理解を深めるのに最適でした。
実務での経験
実務では、GraphQLを使ったFastAPI(AWS)とRemix(Shopify)の開発に携わりました。特にGraphQLは理解するのに苦労しました...(未だに理解しきれていない気がします)
設計とアーキテクチャ
またDDDを取り入れたリファクタリングと新機能実装にも取り組みました。当初はDDDの概念に苦戦し、チームの足を引っ張ってしまう場面もありましたが、本や記事を読むなり、復習したことで設計知識を深められました。
開発プロセス
スクラムチームに入れさせていただいたことも貴重な経験でした。2週間のスプリントサイクルで全てのスクラムイベントに参加させてもらい、アジャイル開発プロセスの改善を間近で見ることができました。
3. 社会人としての学び
主体性
技術力だけでなく、自分が役立てる場所を見つけて手を上げる姿勢がとても重要だと実感しました。途中で話についていけなくなった時は、Sentryなどのツールを調査したり、活用方法を提案するなど、何もタスクを振られない時も貢献できる場所を探すことを意識しました。
心理的安全性
テックリードの方のコミュニケーション能力の高さにはマジで驚きました。本当に良い意味でひとたらしのような人でどんな内容の話でも関心を持って聞き、自分が困っている時も常に優しく対応してくれました。自分のインターン先ではGatherというリモートワークスペースを活用していたのですが、Gatherでもマイクをミュートにせず、質問や意見を共有しやすい雰囲気を作っていたいだき、強い心理的安全性を感じました。だからこそ自分なりに役立てるとこを探そうという意識が芽生えたりしたのかもしれません...
粘り強さと継続力
学生生活(卒論やサークル)との両立はときどき難しい時もあり、無理なスケジュールを組まざるをえない時もありましたが、インターンが楽しかったし、もっと役に立ちたいという思いがあったので多少無理してでも稼働することもありました。けれどもこれが最終的に自分の技術力を向上すること、社会人として成長することに繋がったと思います。結局は質よりも圧倒的に量だなと...
同時期に採用された他のインターン生の中にはコミットできずにフェードアウトした人もいたため、余計に粘り強く続けてよかったと思いました。
プロダクト開発の面白さ
toCだったので自分が開発に関わったプロダクトを友人に使ってもらう時にはめちゃくちゃ嬉しかったです。ユーザーの反応を直接見られることは大きなモチベーションに繋がるなと実感しました!
4. 苦労したこと
同期との比較
特に悩んだのは休学してフルタイムで働いていた同期との技術力の差でした。最初はから同期と比べて精神的にもモチベーションが下がる時もありましたが、自分は大学生活と両立してるんだから仕方がないと、いい意味で割り切ることで気にしないようにしました。ただそんな同期の存在が良い刺激となり、成長に繋がったとも思うので一概に比較が悪いとは言えないかもしれません。
実務への適応
初めは実務についていけずわからないことだらけできた。けれども、大学の授業がある日も毎日インターンに出向き、できる限り稼働して、早くキャッチアップするように努力しました。特に初期段階では「質より量」が大事だと思います。
技術的キャッチアップ
DDDなどの設計手法は実務で壁にぶつかることが多かったです。そんな時は一度立ち止まって、本や記事で体系的に学び直すことで、その後のコード理解速度が格段に向上するとおもいます。
5. これからインターンする人へ
-
質より量!! - 初期段階では、とにかく多くの時間をインターンにコミットすることで成長のスピードが変わる!
-
人と比べすぎない!! - 自分のペースを大切にしつつも、刺激をくれる仲間を見つける!
-
自主的に技術なキャッチアップをする!! - 特に実務で必要になった知識は、本を読むなど自主的なキャッチアップをする!!
-
手を挙げる勇気を持つ!! - わからないことは質問し、自分にできそうなことには積極的に挑戦する!!
-
コミュニケーションを大切に!! - 技術力と同じくらい、チームでの関わり方が重要!!
6. おわりに
インターンではチームの皆さんに本当に助けてもらいましたし、採用いただき、1年間働かせていただいたことには本当に感謝しています。長文の記事でしたがお読みいただいてありがとうございました。
Discussion