実務&チーム開発未経験者が1ヶ月間の就業型インターンで学んだこと

はじめに

こんにちは、エキサイト株式会社の就業型インターンに参加させていただいている岩田です。今回は1ヶ月間、就業型インターンでやったこと、学んだことについてご紹介します。

自己紹介

情報系の学科に所属しています。プログラミングを初めて触ったのは大学1年生からです。趣味はアニメ鑑賞やゲームです。

大学3年生の春休みにWeb業界に興味を持ちました。5、6月の2ヶ月間で初めてPHP(Laravel)でWebアプリを開発しました。チーム開発経験や実務経験などは全く無く今回のインターンが初めての実務&チーム開発経験でした。

やったこと

今回のインターンでは、ヘルスケア事業部で「エキサイト電話占い」のフレームワーク移植タスクをさせていただきました。

基本的には現行の旧フレームワークで書かれたコードを新フレームワークで書き換えるタスクを行いました。マネージャーに移植方針を確認してその通りに実装するような少し癖のある業務も割り振っていただきました。

学んだこと

適切に頼る

わからない部分を自分で判断した結果、タイムロスとなってしまうことがありました。逆に質問した際にREADMEや社内で共有されている資料を読めばわかるようなことであったことも多々ありました。以上の経験から指示を仰ぐべき状況を判断する能力、調べる能力が大切だと学びました。その結果、自分で考えて整理した上で質問する姿勢をメンターさんに評価していただけました。

テストコード

私は今回のインターンで初めてテストコードを書きました。個人開発では想定される動作を実際に行って確認するだけでした。しかし、顧客に提供するプロダクトの場合ではあらゆる操作を想定し理想的な動作をすることを確認する必要があります。私が書いたテストは単体テストです。機能を追加するだけで無く、追加した機能が正しく動作するかを客観的に証明できる形で確認することが重要であることを学びました。

良いコードを書く

良いコードを書くということは哲学的な課題であるとおっしゃる方がいるくらい、答えのない課題だと思います。今回のインターンで私自身が感じた良いコードについてご紹介します。

最適解を導く

ある1つの処理を実装するとき、同じ言語や同じフレームワークであっても複数の書き方があります。その中で最適解を導くことで良いコードができていくのだと学びました。 例えばPHP(Laravel)ではweb.phpというファイルにルーティングを書きます。web.phpにリダイレクト処理を書く場合の2種類の書き方を示します。

Route::get('/old-url', function () { return redirect('/new-url', 301); });

Route::permanentRedirect('/old-url', '/new-url');

どちらも301転送のリダイレクト処理ですが前者は3行、後者は1行であり後者の方がコンパクトにまとまっています。これは簡単な例ですがこのように最適な書き方の選択をコツコツと積み重ねていくことで良いコードが書けるのだと学びました。

書き方を統一する

私が今回のインターンで初めて実務で使われるコードを読んだ時、書き方が統一されていて見やすいと感じました。チーム開発である以上、自分以外の方が書いたコードを読む機会が非常に多かったです。書き方が統一されていることで共通する処理、独自の処理の違いがわかりやすくコードの理解にかかる時間を大幅に短縮できました。チーム開発を効率的に進めるための工夫を学びました。

まとめ

今回のインターンは私にとって初の実務経験であり、初のチーム経験でもあったのでたくさんのことを学びました。コードの書き方を統一したり、メンターさんやマネージャーに判断を仰いだりするような個人開発ではできない貴重な経験ができました。現時点の自分にできること、できないことがわかりました。前者を自信に後者を課題として今後も成長し続けていこうと思います!

おわりに

インターン参加前の不安が吹き飛ぶくらいに温かく対応してくださったメンターさん、社員さんのおかげで非常に充実した時間を過ごすことができました。1ヶ月間ありがとうございました!