Ndifreke Ekott

Thoughts, stories, ideas and programming

30 Aug 2022

Good Bye PHP. Embracing New Overlords Beyond

I have been meaning to write this article and have gone over it in my head several times but today, I finally got to ink to paper (you know this is digital right? 😀).

For the bulk of my career at least in the last seven to eight years, PHP, the web’s programming language, has featured predominantly in my CV. It paid the bills, I devoted time to honing my skills and keeping up with frameworks and new language features as the language grew.

I first started working with PHP in 2007 and got my first proper programming job as a backend developer in 2009 - 2010. There was a break from 2010 - 2012 in which I explored the now open source world of DotNet. And from 2013, I was back again to PHP.

I got into PHP by accident after I realised there were quicker ways to build websites and database applications compared to setting up Java web servers and learning EJBs. The first time I invoked the function mysql_connect and was able to connect to the database with just a function call, that was when my PHP journey took off.

My journey with PHP started with 5.0. While I sat through the 5.0 - 5.4 evolution, there were times I disliked PHP and wanted to go back to Java. I do like statically typed languages. I then tried to pick up Java again and instead fell into Scala which brought Functional Programming to my awareness. I then discovered Laravel. Laravel I would say was the framework that kept me in PHP though I never worked professionally with it.

Then as luck would have it, I fell into the Symfony space and for once I felt, PHP was catching up with the Java style of programming. Then PHP 7 arrived and I will say things were looking up. Over time, however, I realised my interest in what the PHP language offered waned. I read articles on the proposed PHP 8 and found myself less excited or curious. I didn’t feel the need to learn more. I shook off that feeling anyways as there was work to do.

Now, while I was doing PHP within the confines of the Symfony framework, I got exposed to Python. I picked up Python to maintain my company’s publicly available SDK and maintain a couple of AWS Lambdas built in Python. I must confess before now, I disliked Python.

As I worked on more Python-based projects, I spent less time on PHP projects except to add very few features or fix bugs. I began to think and express programming thoughts with Python-like syntax. I dove right into the Python ecosystem picking up python courses from Udemy which was helpful. I later was charged with building a new Microservice in Python and that I will say was my complete conversion.

With the current economic climate, recession in the air, the war in Ukraine and all the craziness on the news, unfortunately, I was made redundant from my current place of work. I jumped into action applying for all jobs both PHP and Python. I knew I had to justify my capability in Python though looking at my cv and work experience, PHP stood out the most. This I would say was a difficult task.

A lot of companies place a value on your ability on the number of years you have used a language. Job posting had phrases of the sort - Must use python for 5 years. Those interviews were difficult, as trying to tell them that a language is just an implementation detail but we move on.

I did have a couple of PHP interviews and there was an exciting one I went through. The Pay and benefits were okay. Good for PHP to be fair. I was given a take-home assessment (I know right? 🙄). I completed the task and I just needed to add Unit tests to the work. I found myself struggling to sit at my computer and write out PHP Unit test. It dawned on me - I wasn’t into PHP anymore. I then focused my effort more on Python roles afterwards.

I currently work in a Python-based setup and finally get to work on a Django codebase. And I do feel a sense of satisfaction and contentment in that move. My interviewing process, exposed me to different companies, what problems they are solving, and how varied the Python ecosystem is. PHP is still great but still stuck on what I would call the Webby ecosystem.

I still hope to do one last thing in PHP which would likely be course material (No promises) but mostly to introduce the API Platform. If I can get this video resource created and published, I feel I can completely move on. I loved the API Platform project and would love those still doing PHP to take a look at it.

So what do I look forward to in the new Python phase of my career? I hope to firstly, get good and comfortable with Django and its accompanying libraries. Pick up a few frontend skills especially Javascript with Vue/React. I think I will spend more time gaining more full-stack skills.

And since I love learning - I am also nursing a second language to accompany my Python. Currently, Go is looking like a winner. I still struggle with its syntax. I would love a functional language but adoption of F# isn’t high and is anyone using Scala now? So you see I still have a lot ahead to look forward to.

My gratitude still goes out to the PHP community, the Laravel UK group, and the people I met at PHP meetups and conferences. PHP is a good language to grow a career in and if you are into the web, definitely pick up PHP.