PHP
CakePHP
ReluxDay 14

エンジニアインターンを初めて3ヶ月、始めた理由や学んだことなどのまとめ

この記事はRelux Advent Calendar 2017 14日目の記事です。

Hello, World. おぬきち(@onukichijp)です。Reluxを運営するLoco Partnersにてエンジニアインターンをしております。

セブ島でのエンジニア留学から帰国後に、Loco Partnersでエンジニアインターンを始めてから早3ヶ月が経ちました。そこで本記事ではエンジニアインターン志望の方向けに、エンジニアとしてインターンを始めた理由やできるようになったこと、今後伸ばしていきたい点などを書いていきます。

エンジニアインターンを始めた理由

独学+海外プログラミングスクール留学でプログラミングを学習した僕が、エンジニアインターンを始めた理由は2つあります。

チーム開発を経験したい

インターンをする前までは、単独でWebサービスを開発したり、Githubでソースコード管理などはしていたのですが、チーム開発はしたことがありませんでした。ある程度の規模のサービスを運営する場合、基本的にはチーム開発をすることになります。

以前から、チームで共通のサービスを開発する経験がしたいと思っていたことと、単純にチーム開発のプロセスを学びたかったため、インターンとして入ることで学ぶことにしました。

プログラミングをしている時間を増やしたい

実はプログラミングの学習を始めた頃は、留学関連のベンチャーで編集のインターンをしていました。平日週3日の編集インターンをしながら、それ以外の時間でプログラミング学習をしていたのですが、「どうにかしてもっとプログラミングを学習する時間を取れないかな?」と思うようになりました。そこで思いついたのが、「エンジニアとしてインターンすれば週7日プログラミングができるじゃん!」ということでした。

インターン3ヶ月でやったこと

エンジニアインターンを始めて3ヶ月でやってきたことを振り返ってみると、大きく分けると以下の3つです。

  • デバッグ
  • バグ対応
  • フロントエンド改修

最初は先輩方の開発案件リリースのデバッグから始まり、徐々にバグ対応を任せていただき、今では毎週フロントエンドをメインに開発案件をいただいています。今後は引き続きフロントエンドやバックエンドの比重を増やしていきたいと思います。

3ヶ月で学んだこと

この3ヶ月で学んだことは書ききれないほどありますが、自分にとって特に大きな学びとなったものは「システム設計」「MVCの理解」です。

システム設計

まずはシステム設計です。インターンをする前にも、個人で開発しているWebサービスの設計をしたことはありましたが、それは本当に簡単で稚拙な設計だけです。

インターンを始めてからは、「ユーザーの視点」を考慮しながら設計を意識するようになりました。設計をする際には「このボタンを押した後に、ユーザーが望んでいるアクションは何だろう?」ということをいつも考えています。

また自分が考えた設計について、先輩のエンジニアの方々からレビューをいただけるので、それをもとに改善することで設計を学んでいます。

MVCの理解

そして、MVCの理解です。インターンをする前から、MVCフレームワークは使ってはいましたがあまり理解できていませんでした。ReluxでもMVCフレームワークを導入しており、日々の業務で触れるうちに自然とMVCの理解が深まっていきました。

エンジニアインターンのメリット

エンジニアインターンのメリットですが、圧倒的に「大規模なサービスの裏側を見れること」に尽きるのではないでしょうか。これは個人で学習していては絶対に学べません。

Reluxは会員数100万人を獲得していまして、そんなサービスがどのようなインフラ構成なのか、宿泊予約サービスのコア機能である予約処理がどのように構成されているのかを見れるだけで、相当な価値があることだと思います。

実際に僕も個人でWebサービスを開発する際に、Reluxの予約処理や会員登録を参考にしながら作ることがよくあります。

今後伸ばしていきたいこと

今後のエンジニアインターンで伸ばしていきたいのは、「設計力強化」「PHPの技術力向上」です。

設計力強化

やはりエンジニアであるからには、設計力を強化していきたいです。Reluxの開発チームでも、今期のテーマにシステム設計改善を掲げていますし、いかに効率的な設計ができるかが重要です。また一エンジニアとしても、単純なプログラミングスキル以上にそこで差が出てくるので、設計力を強化していきたいです。

PHPの技術力向上

あとは、Reluxでも使用している言語でありますが、PHPの技術力をさらに上げていきたいです。まだまだPHPという言語について理解が浅いですし、やはりまずは一つのプログラミング言語をある程度使えるレベルにまで持っていきたいと思っています。

まとめ

今回の記事でエンジニアインターンを始めてからの3ヶ月を振り返りましたが、率直にプログラミング関連のインプットが極端に多い期間となりました。多すぎて消化しきれていない点があるほどです。

今後はフロントエンド・バックエンドの開発案件を増やしたり、設計力とPHPの技術力を向上させることで、エンジニアとしてのレベルアップをしたいと思います。

本記事がエンジニアインターンを考えている方の参考になれば幸いです。