約一年間のエンジニアインターン生活を振り返る
はじめまして!おぬきち(@onukichi_jp)です。
現在大学4年生で、これまでサーバーサイドエンジニアとしてスタートアップでインターンを経験したり、自身でWebサービスの開発も行なっています。
noinoiでは、スタートアップでのインターン、エンジニア、起業をかじっている身として、リアルな情報を発信していく予定です。
今回は「エンジニアインターン」について書きます。
目次
・エンジニアインターンを始めた頃の技術レベル
・エンジニアインターンで取り組んだ業務について
・僕が考えるエンジニアインターンのメリット
・最後に
プログラミングの学習を始め、少し実力がついてきた人は「エンジニアインターン」をすることを考える人が多いと思います。
そんな僕も大学3年生からプログラミングを始め、少し実力がついてきた頃に、エンジニアへの第一歩としてエンジニアインターンを始めました。
とはいえ、「どのくらいの技術力があればインターンができるのか」、「エンジニアインターンってどんなことをするのか」など、色々とイメージしづらく不安に思う人は少なくないと思います。
この記事では、これからエンジニアになること目指している人向けに、エンジニアインターンではどんなことするのか、そのメリットについて、僕自身の経験をもとに書いていきたいと思います。
エンジニアインターンを始めた頃の技術レベル
僕はプログラミングの学習を始めて6ヶ月ぐらい経った頃に、さらなる技術力の向上を目指し、宿泊予約サービス「Relux」を開発・運営する株式会社Loco Partnersでフルタイムのエンジニアインターンを始めました。
インターンを始めた当時の技術力はこんな感じです。
・PHPの初歩的な文法は理解している
・フレームワークでデータの登録、更新などはできるがMVCの理解は浅い
・HTML/CSSで簡単なページのコーディングはできる
・SQLはSELECT文、UPDATE文などの基本だけ理解している
・Gitはほぼ未経験・AWSなどインフラは完全未経験
Progateなどのオンライン学習サービスをメインにプログラミングを学習していたので、チーム開発の経験などもちろんなくGitHubも使用経験もなかったです。またローカル開発環境での経験だけしかなかったので、インフラも全くと言って良いほど分かりませんでした。
エンジニアインターンで取り組んだ業務について
では、このようなほぼプログラミング初心者の僕が、フルタイムエンジニアインターン生活でどのような仕事をしてきたのかをみていきたいと思います。
■インターン生活 1ヶ月目
取り組んだ業務
ローカル開発環境の構築、サービス設計の理解、サイトマップの作成、文言変更系の業務、管理画面のユーザー情報更新機能開発
最初の1ヶ月ですが、とにかく最初のローカル開発環境の構築が死ぬほどつらかったのを覚えています。これまで小規模なサービスしか触ったことがなく簡易的にローカル開発環境を作れるサービスを利用していたこともあって、ここが一番つらかったです。
その他は実際にサービスのコードを触ってみて、全体像を理解することから始めました。宿泊予約サービスは他のサービスと比べ複雑で、サービスの全体像を理解するのにかなりの時間を要しました。
1ヶ月目の終盤あたりから、やっと実際の開発にも入れるようになり、文言変更や簡単な機能開発を通して開発フローを理解していきました。
■インターン生活 3ヶ月目
取り組んだ業務
検索ロジック修正、ランキングページ作成、キャンペーンページ開発
インターン生活3ヶ月目にはやっと開発フローにも慣れ、普通にタスクを振っていただけるようになり、検索ロジックの修正やキャンペーンの開発を担当していました。
毎回担当する業務が全て未経験なものばかりで、例えばAPIをあまり理解できていない状況でAPIを書く業務を担当させていただけたりと、非常に苦労して大変ではありましたが一方でできることが増え楽しくもありました。能力を超えた業務を担当させていただき、本当に感謝しかありません。
■インターン生活 6ヶ月目
取り組んだ業務
クーポンのサジェスト機能開発、キャンペーン開発マニュアル作成、開発合宿の企画・運営
そんなインターン生活も6ヶ月目にもなると、サービスの全体像を掴めるようになってきました。また実力が着々と付いてきたため、とにかくたくさんの業務を任せていただきました。個人的にはこの時期が一番活躍できたと感じています。
また開発業務以外でも、エンジニアチームの開発合宿の企画・運営もさせていただく機会があり、最もインターン生活に本気で取り組んでいた時期でした。そして大変ありがたいことに、実力がまだ伴っていないながらも、エンジニア部門の月間MVP賞もいただくことができました。
■インターン生活 9ヶ月目
取り組んだ業務
メール送信処理機能、クーポン割引の計算処理機能
インターン生活9ヶ月目より、休学をしていた大学にも復学したため、インターン生活も週3日勤務になり、タスク量自体は減ってしまいましたが、それでも変わらず開発タスクを任せていただいていました。またこの頃にはMVCをしっかりと理解できるようになってきており、最初に比べると丁寧な設計でコードを書くことができるようになっていました。
僕が考えるエンジニアインターンのメリット
約一年間のエンジニアインターン生活を経験した僕が考える、エンジニアインターンのメリットは以下の2つだと思います。
1. 大規模サービスを開発・運営する機会
僕がエンジニアインターンで非常に学びになったのが、やはり大規模サービスを開発・運営する機会です。僕がインターンしていた当時はサービスのユーザー数が150万人に達したというところで、個人サービス開発や受託開発ではこれだけ大規模なサービスに触れる機会にはなかなか出会えないと思います。
大規模なサービスが一体どのような設計、インフラで動いているのか、そしてサービスが成長していくなかで、出てくる技術的な課題にどのように立ち向かうのか、ということを知ることができました。今後は自分自身でサービスを作っていくので、この経験はいつか絶対に活きると感じています。
またプログラミング学習を始めると、オンラインの学習サービスやプログラミングスクールで学ぶ方がほとんどかと思いますが、それよりも実際に動いているサービスの開発に携わる方が、実用的な技術が身につくのでおすすめです。
2. できるエンジニアの方々から学べる
僕のような初心者のエンジニアは、業務はもちろんプログミングの学習をしていても、とにかく解決策がわからず詰まることが多いと思います。ある程度は自分で調べることも大切ですが、できるエンジニアの方に聞くことで、3日悩んだような問題が10分で解決することはざらにあります。
このように初心者のエンジニアにとって、できるエンジニアの方々に質問し放題の環境は大きなメリットですし、僕もおかげさまで早いスピードで技術力をアップすることができました。
最後に
プログラミング学習を始め、エンジニアになるための第一歩として、エンジニアインターンをすることを僕はおすすめしたいです。
また今後は、エンジニアインターンをする企業の選び方についても、僕の経験を元に書いていきたいと思います。
#startup #noinoi #エンジニア #インターン #スタートアップ
僕のTwitterです。よかったらフォローお願いします。
この記事が気に入ったらサポートをしてみませんか?