PHP Software Development

Is PHP worth learning?

In other words: is PHP bad? No, it isn’t. It only looks that way.

After roughly 15 years of development in PHP the quick answer is: it is worth learning only if it helps you to get commercial experience and the first job faster. After all, number of websites based on PHP is huge, and they require maintenance – some dirty job has to be done on regular basis. Except that, many companies got stuck in Laravel-PHP upgrades loop. What happened is, that Laravel and PHP upgrades take significant amount of development time. Somebody needs to do maintenance and upgrades of old PHP code, and it gives opportunity to put foot into the door and find the first job in IT industry.

Commercial, real life experience in web development / software development is very important whatever programming language you use. It is because some business logic / patterns in online services architecture don’t depend on language. Payment gateway integrations need to be developed according to the specs provided by payment gateway company and are very similar, if not the same for different languages. Or, for instance some API library needs to be handled and it can be done in Python or PHP or using Node.js. And, it looks like PHP is probably one of the the easiest languages to learn, even with object oriented approach. You can quickly learn not only PHP, but also basic SQL is easy to learn with PHP, and there are no problems with installation of server using MAMP, with MySQL database for learning.

Many online services are built based on PHP, be it WordPress or Laravel or anything else. Long time ago PHP was the first choice for most online websites, so you can easily find large, old code base written in this language, which needs maintenance.

With languages like C#, Python, C/C++, JavaScript related stuff (REACT, Node.js, Vue.js etc) and in general frontend technologies situation is much more complex. It can be easier to create some kind of visual portfolio (frontend), but much more difficult to get real job. To put is simply – there is much job in PHP boring like hell, which needs to be done. Once you master PHP and get some commercial experience, it is better to pick up another language or frontend technology, and move on, because in coming years PHP will be more and more problematic (PHP upgrades inferno), and less paid.

So, I would say, PHP is good as a language to start software development career, to get first job and some experience, if you cannot get it with other languages. After that I would recommend switch to Python, C# or frontend stuff like REACT.

The problem with PHP is, that usually as a PHP developer you need to know frontend stuff anyway, and several other things on top of that. Whereas, if you know C#, or REACT, they don’t ask if you know PHP, so job is easier, and salary is often higher.

So picture this: you know PHP and you look for a job, but they ask for knowing also REACT (common scenario for online services based on Laravel) and salary is X. However, if you know REACT only, or C# only, they don’t ask about PHP, and salary is higher.

But, it may be difficult to get first job in C# or REACT and for that reason PHP may be useful as an entry option. All this is about typical Catch 22 scenario: to find a job you need experience, but to get experience you need a job.

Paradox is, that PHP developer with REACT skills is less paid than REACT developer. Strange, but very often true. So, it is better to switch to REACT and forget PHP, and when you focus on REACT only, you will have less work and higher salary.

If you decide to look for a job as a PHP developer, don’t look for job as a “pure” PHP developer. Look for a job as PHP developer who knows Laravel, or as a PHP developer who knows WordPress/WooCommerce, or Moodle, or PHP Slim, or other PHP framework. This is because PHP as such, as “pure” PHP, is useless (lower paid) compared to development in PHP frameworks, where you don’t need reinvent the wheel.

Anyway, for learning PHP I would recommend to learn basics and quickly go to Laravel, and REACT – useful for Laravel, after that switch to REACT and forget PHP, focus only on REACT, be expert in REACT. WordPress has advantage that you could create WordPress plugins or themes to be published on wordpress.org and this way get some visibility, more reliable portfolio, BUT, on average Laravel developers are better paid.

This way or another: PHP is good as an entry point, but after that it can become a dead end. However, if you can get a job as REACT developer (or in any frontend stuff) pick it up and don’t waste time for PHP.

Python language is a totally different story.