According to a new survey whose results were summarized in a recent Gizmodo article, CEOs are planning on slashing junior roles in the near future to focus on mid-level roles as work on low-level, simple tasks shifts to AI. Juniors are being told to study Javascript, Typescript, and even Java and Kotlin, emerging from their flowy robes and fancy cap clutching a C.S. degree in these topics, and then being told they don’t have a job because AI can do it. To these juniors, I have a rallying cry that is equal parts fervent and encouraging: learn PHP!
My friend Mike Page gave a great UnCon talk recently at PHPTek 2026 about how pervasive and trope-y the idea of PHP being a dead language has become. There are countless memes about it, from two-headed hammers to chronologies of “it’s <year>, PHP is out, learn <lang>”. I am here to state, unequivocally, and I especially hope you hear me if you are a junior engineer worrying about your burgeoning career:
The rumors of PHP’s death have been greatly exaggerated.
me and a metric crapload of other paid professional PHP developers
At the same conference I mentioned above, I stepped into an impromptu job fair to support a friend. In that job fair, I heard no fewer than three companies mention that they were looking to hire for a role supporting a “port old PHP to new PHP” role. The “from” codebases ranged from CodeIgniter 3 to older versions of Laravel. The “new” codebases included Symfony, Laravel, CakePHP, and possibly more. Not a single “we’re escaping PHP for Node” or “We’re rebuilding our legacy backoffice in React from PHP5”. No, from PHP to PHP. And, despite the name, this was a Javascript con, too! Indeed at the end of 30 minutes I realized that there were quite a few React- and Vue-first developers in the room with us. In speaking to some of them afterwards, I found out that it’s not just PHP developers that are seeking to learn PHP. The language has an immense amount of pull and gravitas, once you look past the memes.

An additional reason I hear cited all-too-often for avoiding PHP is that it’s old. If your argument is “this language is garbage because it was created in the early 90s” then, first, I shall challenge you to a duel as that is when yours truly was born–and indeed I have aged like a Lagavulin–and second, I would ask if you had you seen the most recent PHP release? It was November 2025. PHP is a language that is still going strong after 32 years. Somebody even got PHP version 1 from 1995 working and responding to HTTP requests. In addition to the PHP language itself, most of the popular PHP frameworks place an extremely high value on backwards-compatibility (see Symfony framework’s Backwards Compatibility Promise).
Something important to keep in mind: “it works” is not the same thing as “good code”. There are dozens of features that are present in more modern versions of the PHP language that older versions can only dream of. But if you need to write something once and have it work forever, PHP is a safe bet.
Shift your attention now to framework-of-the-week land. In my career I’ve had the dubious privilege of maintaining a 5+ year old React application. Opening the Dev Console in my browser was complete carnage: deprecations, warnings, errors…ketchup and mustard everywhere making it impossible to locate and fix the actual issues my users were reporting, like componentWillMount has been renamed, and is not recommended for use, or the same for componentWillReceiveProps, or even this fun block of deprecated dependencies that would require weeks to fully refactor:

That codebase became “don’t touch it unless you HAVE to” very quickly. AngularJS was gaining some steam as one of the first SPA frameworks when Google rewrote it from scratch and shipped it as a different framework that just happened to share the name. But, if you built on AngularJS 1, you didn’t get an upgrade path, you got an EOL notice. What if, in that time, you built a projection-ready app that needed to run for 20 years? This is not uncommon in the government and educational space. I have never heard of this happening with the PHP language itself. Frameworks? Sure, but not the core.
Why does one class of languages rot and the other doesn’t? For PHP, backwards compatibility is a language mandate. Don’t believe me? Check the RFCs, see how many are rejected for not considering X or Y edge case that would adversely impact users of older versions of the language. The syntax for attributes (#[MyAttrib]) was in no small part decided because the ‘#’ symbol is a line-comment in older versions of PHP, meaning that versions of the language that weren’t compatible with that syntax would simply ignore it. I greatly admire the folks that are submitting RFCs to the mailing list, because so much thought goes into every little detail. That community will not let a backwards-incompatible comma get through. Meanwhile, it seems all-too-common that Javascript frameworks need transpilers and reinvent themselves biannually, leaving the carcasses of their code on your hard drive to clog up your technical debt queue.
I greatly admire the folks that are submitting [PHP] RFCs…that community will not let a backwards-incompatible comma get through.
Aside from stability, what is so great about PHP that everyone is missing out on? SO, so much, and this is the part of this blog that I was the most excited about writing. At my current job, I have the great opportunity to work on a bleeding-edge API: latest PHP version, latest features, latest dependencies. If it’s stable, actively maintained, and fits one of our use cases, then it’s a candidate for use. Here are some of my favorite PHP features that you may not be aware of:
- Attributes – attach metadata to your classes and methods to add yet another solution for sharing code between unrelated parts of the codebase. I used this to build attribute-based routing which helped me clean up a 200+ line config file that was a manual update chore.
- Reflection – scan your PHP files to get information about the AST without building a tree parser. I did that once, in Roslyn for C#, it was…ok, it was actually kinda fun…but not something I would want to do again. Reflection and attributes go together hand-in-hand.
- Enums – represent magic strings and other primitives in your app as an actual typed object. Loosen the coupling between the values in your database and what is read in your code. I’ve used enums to sidestep complex issues in apps with big databases that would have required a risky query otherwise.
- Tooling like PHPStan and Rector. The former is what I call a “bug preventor”…it prevents bugs before they happen. The latter is an engine for rapidly applying boring refactorings in a methodical way, saving you literally dozens of hours of manual edits and embarrassing reverts caused by AI mishaps.
- Mutation testing with Pest. You’ve got tests, bravo, but how good are they? Pest will modify small bits of your SUT to see if your tests catch them. If testing is more than a casual nice-to-have in your project (and it should be), you should absolutely try mutation testing with Pest.
These are just a handful of basic features, there are even more advanced ones that even I haven’t played with yet, like fibers (pause/resume live code) and async (coroutines).
That’s nice, but, I’m a junior dev that just graduated and I don’t even know what half of these things are, except maybe async. We didn’t cover this stuff in my CS labs! Why should I care?
You should care because features like these are what turn a regular-old-boring PHP app into an enterprise-grade powerhouse, and that’s where the money is. Ever wondered how to write scalable code? This is how. Ex-FAANG folks I’ve talked to tell me these are exactly the patterns they expected new hires to bring on day one.
Here’s the PHP advantage: these are language-level features, documented in one place, and guaranteed to be backwards compatible across major versions. In JS land, the same patterns live in framework documentation, and they’ll be subtly different from React, to Vue, to Redux, to Angular 5/6/7/8/9/…/21, or whichever new framework is the flavor of the week.
And, *grabs soapbox and stands upon it*, here’s my issue with FAANG, by the way. They are the ones who have caused this mess of creating and proliferating so many JS frameworks that it’s impossible to know which one is right to learn, then abandoning them in service of their latest business venture. (Seriously, go to killedbygoogle.com and search for ‘javascript’.) FAANG churn is a huge part of why JS is the way it is.
Conversely, PHP is stewarded by The PHP Foundation and is not owned by anyone. So it can’t be killed by anyone. Now, as fun as it is to dunk on Big Tech, I will say that their commitment to advancing computer science is admirable. But how they’ve done it, I vehemently disagree with, and I’m not the only one. FYI, I’m not an embittered, rejected job applicant: I’ve never applied to work for them, and I never would. If I were to exit the PHP ecosystem, I would go for a C++ or Python-focused team. Why? Because those are two other languages that aren’t owned by a corporation and therefore can’t be killed off.
So, juniors, I sincerely hope that your transition from higher education to the corporate world is smooth and easy, but if it isn’t, here is my advice:
- Learn concepts first, and languages second. Once you’ve learned the concepts you can learn any language. And, don’t worry about picking a framework at first, either. Frameworks come and go, languages last for as long as they are maintained, but concepts live forever.
- That said, if you have to pick a language to learn, pick PHP. IMO it is extremely easy to learn and understand because it makes so many powerful features easily accessible natively, and even more functionality (Redis, MySQL, advanced debugging) is one extension-install away.
- Here’s the most important bit: if you already have Javascript experience, your time was not wasted. I have yet to work in a PHP position that didn’t require some Javascript knowledge. Your experience is additive, not detrimental. On your resume, I would put “Javascript”, though, rather than <FrameworkOfTheWeek>
Myself and millions of other PHP developers know what the rest of the tech world seems to not know: PHP is alive and well, and there is a bevy of work to go around. Maybe not at huge multinational companies, but at your local mom-and-pop shop or small business. Happiness with your work and a stable paycheck matter more than the names on your resume, I have lived it both ways. In a few years, or maybe less, when the AI bubble “pops” and there are massive volumes of crap slop code to clean up, remember your old friend PHP, and the companies I mentioned earlier looking to port old code TO PHP, not FROM PHP. Help mop up the AI slop and replace it with nice, clean PHP.


















