The PHP Paradox

Want to help support this blog? Try out Oh Dear, the best all-in-one monitoring tool for your entire website, co-founded by me (the guy that wrote this blogpost). Start with a 10-day trial, no strings attached.

We offer uptime monitoring, SSL checks, broken links checking, performance & cronjob monitoring, branded status pages & so much more. Try us out today!

Profile image of Mattias Geniar

Mattias Geniar, January 25, 2015

Follow me on Twitter as @mattiasgeniar

I was at PHP Benelux, the annual PHP conference for Belgium, the Netherlands and Luxembourg, and I realized 2 things about PHP that I hadn’t really thought of before. I call them the PHParadoxes (or PHP Paradoxes).

The Job Hunt

In most industries, it’s the employee that convinces the employer he/she is worthy to work at the company.

In the PHP-world, it’s the employer (aka the companies) that needs to convince the employee (aka the developer) that their company is worthy of their time and devotion.

In tech, it’s the companies that persuade the developers to work for them. In any other business, it’s the other way around.

I didn’t actually pay much attention to this thought. But looking back, I spent the entire weekend, with everyone I talked to, mentioning that we are looking for PHP developers. What a cool place it is to work at. How we have remote workers. How we have nerf-gun wars and stress-ball battles. How we use Neo4j as our graph database. How we have really smart developers in our team.

But in many other places, it’s vica versa. It’s the developer that claims their knowledge on frameworks, design patterns, multiple languages, …

Not in PHP. In PHP land, the companies put in way more efforts than the PHP developers to get them on board.

Why isn’t every industry like this? It’s not just the shortage on PHP developers. Most of the tech industry works like this.

But the health sector has a shortage of nurses and general staff, do you see them being this actively recruited? I don’t. What makes the tech sector so different?

You Know Nothing, John Snow

The closing keynote was brought by @SaraMG, mostly known for her hard work at HHVM and PHP core. She was going over the new tools in the pipeline for PHP and what the PHP7 landscape could, theoretically, be. It mostly covered features of Hack, that could make their way into PHP core.

And then she mentioned static code analysis “on the fly”.

php_hack_static_analysis

As soon as the file you’re working on is saved, it’s analysed and type errors (wrong casts, character conversions, …) could be shown. I loved this. The room loved this.

I loved it, right up until the point my colleague next to me, with no PHP background, said:

I don’t get all this excitement … this has been in Visual Basic for years, and it wasn’t even in PHP yet?

And he was right.

I’m working mostly in PHP and it has blinded me. My small efforts into Ruby and side languages like JavaScript don’t really count. PHP has been my dominant language.

But if I look at other languages, mostly languages away from the web, we can see an entire ecosystem of IDE’s, debug tools, compilers, standard libraries, … that help those languages. Think Visual Basic, C#, Java, .NET, … They all have tools that PHP, even after all these years, doesn’t have. And I don’t mean just IDE’s.

There are no complaints from PHP developers. I don’t think anyone feels they’re missing something. But maybe that’s just because we don’t know any better?

Either way, it made me think about other languages. About other development ecosystems that we can learn from, as the PHP community. I’d like to give a few other languages a try this year and see if some of those good bits can be ported back to PHP.

For many, PHP is the entry language into becoming a developer. Don’t let it be the exit.



Want to subscribe to the cron.weekly newsletter?

I write a weekly-ish newsletter on Linux, open source & webdevelopment called cron.weekly.

It features the latest news, guides & tutorials and new open source projects. You can sign up via email below.

No spam. Just some good, practical Linux & open source content.