PHPエンジニアの仕事とこれから

PHPエンジニアとしての経験を最近のトレンドも踏まえて、仕事の内容・環境・感想の観点からまとめました。
PHPエンジニアを目指す方にとって少しでもご参考になればと思います。

仕事の内容

PHPエンジニアの仕事内容ですが幅広く携わる事が出来ます。
例えば、ECサイトやCMSを利用した企業のコーポレートサイト、応募フォームやお問い合わせフォームのあるWebサイトなどです。

Webサイトだけでなく、サーバーサイドで処理を実行することによりシステムを構築することが出来ます。簡易的に表現するとWebサイトのフロントエンドと、データベースの間を繋ぐシステムを開発出来ます。

そのため、PHPエンジニアに限らずサーバーサイドでシステム開発を行うエンジニアは、フロントエンド(HTML,CSS,JavaScript)とデータベースについても知識と技術を有する必要があります。

最近の流行りとして、CMSのWordPressを使用してWebサイトを開発する事が多いです。
WordPressはPHPとMySQLを使用しています。
WordPressそのままでなく、カスタマイズを行うことも案件として多々あります。
カスタマイズの中でも、既にプラグインとして世に出回っている機能もあるので、実際に開発する前に検索してみましょう。

また、PHPのフレームワーク(CakePHPやZendFrameworkなど)も様々な種類があります。
そのため、案件の仕様の特徴をとらえてどのフレームワークを導入するかを、メリット・デメリットを考慮して検討する必要があります。
フレームワークを導入する場合は、フレームワークの特性をそれぞれ知っておく必要があります。
サーバー上でのPHP動作環境の構築情報が充実しているため、準備時間が短時間で済みます。

さらに、PHPでシステム開発する場合はサーバースペックの検討や脆弱性の対応が必要となります。
サーバースペックはシステム全体を考慮し利用者がスムーズにWebアプリを利用出来るかを検討します。
その時に、PHPシステム内に不要な処理があるかどうか、それがサーバーへの負荷になっているかなども考慮する必要があります。

この様に、PHPやサーバーの特性を知ることで最適なWebアプリを提供することが理想です。

仕事の環境

PHPエンジニアだけでなくWeb系のシステム開発を行うエンジニアが働く環境ですが、長時間労働が話題です。
実際、納期の直前などは深夜残業が発生する可能性もありますが、最近の「働き方改革」の影響により改善傾向にあります。

Web系のシステム開発業務と「働き方改革」は親和性が高いです。
便利なツール(GitHubやBacklog、Slackなど)でソースファイルの共有やコミュニケーションが取れるため社内で業務を行う必要性がなく、インターネットと電源がある環境でPCがあれば、どこでも仕事が可能なのです。

また、長時間労働よりも「生産性」を重要視しているため上記の様な便利なサービスを探したり開発して、作業の高効率化を目指しています。
開発した便利ツールがサービスとして世の中に出る事もあるかもしれませんね。

PHPは初学者が学びやすい言語でもあるため、PHPエンジニアの人口は多いと思われます。
そのため、言語別のエンジニアの給与ランキングなどを見ても決して高給とは言えません。
その代り、PHPエンジニアが多い分PHPに関する情報は多く、検索するとたくさんヒットします。

最近ではRubyやPythonといった言語の案件や求人が増えてきましたが、PHPの案件や求人もまだまだたくさんあります。
フレームワークを利用した開発経験や、仕様設計まで行えると給与に反映される可能性があります。

仕事の感想

Webサイトの制作会社ですと、CMS(特にWordPress)の開発ばかりメインとなる傾向があり、業務内容の範囲が狭まります。
受託系の業務も行いつつ、自社サービスを開発している会社などでは様々な開発業務を行えます。

特に少人数の企業では、PHPのプログラミングだけでなく上流工程から任されることもあり、スキルアップに繋がります。

PHPエンジニアはJavaScriptエンジニアなどのフロントエンドエンジニアよりも、広い範囲で知識と技術が必要とされる場面が多いです。
例えば、PHPやフレームワークの特性だけでなく、DB(MySQLやPostgreSQL)との接続、PHPバージョンによる互換性、WebサーバーではApacheやNginxの設定など、PHPで開発したシステムが動作する環境に対する知識が必要です。

PHP初学者の方は、会社の研修だけでなく実際に自分で環境構築やWordPressのインストールなどを試してみるといいでしょう。

既にPHPエンジニアで転職を考えている方は、今までどの様なシステムを開発し、その際に何を利用したか(CMSやフレームワーク、PHPのバージョンなど)を整理して自身のスキルセットを確認することをお勧めします。

その中で、開発したシステムで利用したCMSやフレームワークの選定理由などを技術的観点から話せると自身のアピールに繋がります。
扱いやすく読みやすい言語のため初学者にはおススメです。
別の言語で開発されていた方であれば、比較的早く習得可能な言語だと思われます。

PHPエンジニアの仕事内容は幅広く様々な経験が出来ますし、自分自身で簡単にシステムを開発する事が出来ます。
Web系のシステム開発を行うならPHPが出来ると便利です。