- プログラマ
- IT業界1年目〜3年目
- PHPer
事の発端
副業案件を獲得するためにいくつかの面談を受けている際に面接官に言われた一言です。
PHP はネットに落ちているコードで簡単に作れるでしょ
納期短いけどどうにかしてくれ
いやぁ〜、恐ろしい。
要件次第で色が違ってくるのがシステム開発というもののハズですが、仕事という観点で見た際にPHPで作るシステムは簡単に作れるという考えを持っている人がいました。
なぜ、こうもPHPの立ち位置が低いのか僕なりに考えてみました。
(そもそも「PHPで作ればシステム開発は楽になる」という考え方事態がおかしいのですが。。
PHPが舐められている原因
駆け出しが増えすぎた
PHPの業界内の立ち位置として駆け出しエンジニアが選択するファースト言語という特色があります。
(かくいう僕も初めて選択した言語はPHPでした)
駆け出しエンジニアに選択されやすいという特色が故、ロースキルのプログラマが大量生産され、業界内での評価がガタ落ちしたのではないでしょうか。
また、2020年〜2023年の間にインフルエンサー達によるフリーランスの布教活動の波も影響していると思います。
仕事を発注する側から見た場合、経験年数が短く、「PHPできます」という人に対して不信感を抱くのも当然かもしれません。
自由にかけてしまう
PHPの特性について、コードの型を指定せずに書くことができる柔軟性があります。
これは素早くコードを記述できる利点を持つ反面、実行時にエラーが発生する可能性が高まります。
この特性は、プログラムを実行するまでエラーが検知されないため、デバッグや修正が手間取ることがあります。
この柔軟性から「動くものは簡単に作れる」というイメージが生まれ、結果として経験豊富な開発者からはPHPが好まれない傾向にあります。
一部のエンジニアは、この柔軟性が多くのインシデントやバグを引き起こす原因と見なしていることもあります。(僕の上司もPHPの言語仕様が嫌いです。笑)
特にセキュリティや安定性が求められる場面では、この特性がリスクとなることがあります。
過去にインシデントが多数報告
実際にPHPコードの柔軟性が原因でセキュリティ上の問題や重大なエラーが発生した事例が多く報告されています。
CVEデータベースを見てみてください。PHPの報告が多数上がっていますよ。
PHPに限らずインシデントの内容をチェックすると勉強にもなるので一度見に行ってみるのをオススメします〜
じゃあPHPerはどうするの?
正しいPHPを学ぶ
PHPの最新の機能や改善点を把握し、セキュアで効率的なコーディングを心掛ける必要があります。(エンジニアなら当たり前だろ!ってマサカリ飛んできそうですが笑)
かくいう僕もPHP8でリリースされたmatch式を知らなかった過去があります。しっかり学びましょう笑
また、静的型付け言語ほど厳格な型指定はできないのですが、PHPの型システムを利用したセキュアコーディングやジェネレータを使用してメモリの過消費を防ぐコーディングを意識する必要があります。
PHP以外にもスキル身に付ける
新卒が優秀になってきていることやChatGPTの登場など、PHPだけができる人は本当に不要になってきているのを肌で感じます。
そのため、以下のどちらかに裾のを広げていく必要があると思います。
- PHP + フロント(React or Vue + TS)
- PHP + インフラ
僕はフロントがあまり得意ではないのでインフラ周りを勉強中です。
PHPは素晴らしい言語だぞ
近年のPHPは、安全性や効率性の向上に焦点を当てて進化しています。
例えば、PHP 8や8.1のリリースでは、型付きプロパティや名前付き引数など、新機能が追加されました。
PHP8.2ではreadonly classがリリースされています。
これにより、コードの品質向上やエラーハンドリングの改善が実現しました。
そして何よりもPHPは数多くのシステム開発の実績を持っています。
2023年においてちらほら「PHPはレガシーだ」という意見が出てきていますが、今も現役に稼働しているシステムが多数あります。
過去の先輩PHPer 達が遺してくれた数多くの仕事がまだまだ残っています。そしてこれからもまだまだ増えていくでしょう。
何かと批判されがちなPHPですが、世の中に価値を届けることができる可能性に満ちた言語です。
正しい知識と幅広い知識を持ち合わせたPHPerになっていきましょう〜