I Settled on WordPress Despite Being a PHP Hater

Those who know me personally or have worked with me professionally know I am very opinionated when it comes to tech, and I don’t sugarcoat it. So, it may come as a surprise when I launched this site, which is running in wordpress.com. Before you go bashing me for being a hypocrite, let me tell you my story about PHP, and why I made the shocking choice.

I have been programming since I was 14 years old. I started with BASIC. By 16 I was doing assembly (and it made me ask why the fuck I was torturing myself). At the age of 23, I joined a marketing company with a loyalty platform as its flagship product. It was my first official job in the IT industry, as a PHP developer.

Yes folks, I was a PHP developer.

In the one year I worked with PHP, I understood why many people love it and stick to it. It just works. You just need to have a good grasp of the flow, and it was “dead simple” to translate that into a working site. But in reality, it is far from simple. And it will only make you closer to becoming brain dead.

I will not delve into my hatred for PHP any further, as this topic has been beaten to death and beyond.

Everything wrong with PHP in one photo. Source

So, I hate PHP. I do not trust systems built on PHP. I have rescued numerous compromised PHP-based systems (including sites built on WordPress). But why am I trusting a site built on PHP, let alone WordPress? I am simply scaling my life.

Building a website isn’t easy, especially if it is exposed to the public. Over the past 10 years, the number of things to consider to ensure that a site is working and secure has exploded. At a high level, these are the things you need to consider:

  1. PHP Configuration and Tuning
  2. Web server tuning
  3. Database tuning
  4. Network topology
  5. Security
  6. Caching

…And the list goes on.

Now, I could have done all of this myself. After all, I have the working experience to deal with WordPress. Or better, I could revive my old blogging app. But I didn’t.

You see, the most valuable resource that we have is time. I could either invest time to build my new site (which is totally doable even with my crazy schedule), or go with an established platform, and have more time for my family. At this point in my life, I went with the latter.

From a tech perspective, I am not a PHP guy (despite my background). I don’t even want to touch it with a 10-foot pole. And most of my time will be devoted to security work, which is a never-ending race. I would rather let the real experts in the platform deal with this than me.

From a business perspective, how much is your time? I could get a VPS from Digital Ocean at $10/month, spend 40 hours for the initial build of the site, and another 20 hours for security before I write my first post. That, or pay a subscription to wordpress.com for roughly the same price, spend the first 20 hours for the initial setup, and then start publishing.

At the end of the day it all boils down to what brings value to you. Both approaches have their pros and cons, and I have used both in various situations. For this site, I chose to swallow my pride and value my time, rather than be the perfectionist tech guy who spends hundreds of hours tweaking.

A Lesson in Scaling Your Life

“…there’s no I in ‘team’. There is a me, though, if you jumble it up.”

Dr. Gregory House

For a huge part of my career, I have been put in situations where I needed to be that one guy to solve everyone’s problems. Many of my projects in the past are rescue projects. If you are a developer, you know that rescue projects are the shittiest kind of projects you can get into. You need to deal with other people’s broken code. You are given a tight (and sometimes impossible) deadline. And you’re expected to be the expert.

While it may be the shittiest job any developer could get, it is also the most rewarding. Thanks to those experiences, I was able to learn how things work at a level of detail that most wouldn’t dare to go to, in the shortest amount of time. Have you ever constructed an HTTP Request by hand? Have you ever experienced a bug caused by your favorite framework (I’m looking at you Spring and Grails)? How about rescuing a malware-infested linux server, or your client will go out of business in 3 days?

Eventually, I became a one-man-army. I can start a project, design it, build the infrastructure, create the UX, write the software (complete with unit tests), and deploy it into production with little to no bugs. Without any help. Just me, my wits, perseverance, and a crap ton of coffee.

I was very proud of my achievements and what I can do. There was no Team. There was Me.

There is a big downside to this. As I moved to bigger roles, the amount of time I spend as a tech guy started becoming less. I had to deal with the realities of running a business. From commercials, managing people, and dealing with various stakeholders, my time coding has been replaced by meetings, more meetings, and even MORE MEETINGS. I used to hate Monday. Now, I hate Friday (but that’s a story for another day).

The things that made me successful in this career became my biggest weakness.

The pressure to get things done at work. The responsibilities of being a husband and a father. I reached that point where I needed to scale myself. Literally. And thankfully, with experience, trial, and errors, I’ve been able to do so. Little by little.

So, how does one scale? With help from people. Because of my nature to be a one-man-army, it was a big transition for me from being the one providing help to be the one asking for help. If you are not the type to ask for help, you will be surprised at how people can be generous. And by asking for the right kind of help, you create a multiplier effect. Something that could have taken me months to get done can be built in a short amount of time.

What’s great about this is the multiplier effect. When you ask help from people, they too, will ask for help from other people. This can turn a ripple in a pond into a tidal wave.

Thanks to this ripple effect, in a way, I have been able to go back to my roots and do what I do best: dealing with tech. I still need to attend meetings every now and then. I still have to do my administrative tasks. The difference: I can count on my team to do the right thing.