Cyrille
4 min readDec 22, 2023

--

A couple of weeks ago I did an interview with a candidate for a PHP developer position and I was sincerely feeling he was dreaming about working with people with good practices but he was also stuck in a company with poor ones and he didn’t build any real competence that would make him standout from other candidates.

This reminded me that across my career I met a lot of developers hoping for perfection in a poor standard environment. These same people are often depressed about going from a company with poor standards to another that is similar because companies with great values never consider them.

Maybe you are one of them and if you do so then this article is done for you.

Let me first show you there is hope by sharing a bit of my own story.

I was at the same place as you when I started in 2018. I started working in the WordPress ecosystem which is infamous for its practices and indeed I started working on a project which I had to upload manually to the FTP and without any version control system just files we were sharing to each others.

Today I am still working in the WordPress ecosystem but at WP Media, me and my team follow SOLID principles, work using TDD, collaborate with a QA team and have a way more good principles that we use on a daily basis.

However even if sharing my accomplishments is pleasant maybe it is not the point here and you are surely asking yourself the question, what allowed me to make my way to that kind of company?

The answer is quite simple, small incremental changes.

People fear the change and due to that it will always be hard to make radical changes. Your bosses, superiors or even colleagues are no strangers to that.

The best way is to reduce the tension created by the change is by making it progressive. That’s why if you want to make a change you need to move small step by small step and not try to make all at once. Only that way you will make progress without having to face any of these blockers.

When you want to create a full CI pipeline checking the code quality and tests you need validations from your superiors that can prevent you from doing so.

However when you add a simple linter to standardize the code or using Docker on your computer you don’t have to ask anyone as your change is small enough to remain within your ownership. This might seem small but Rome didn’t build in one day and the same way these small changes will stack up making slowly progress toward your goal.

A good example to see that kind of progress over time is by looking at WP Media itself, my current company.

At WP media our code wasn’t always up to the current standards this is normal 10 years ago modern standards weren’t existing yet in the PHP community. However we did evolve the way we design and code software inside the company during these years to reach the point we are now.

The plugin was created in 2013 and at the base it was a bunch of functions without any POO, tests or what so either.

But as the time flowed some developers took some little initiatives and slowly good practices built up.

They first started using POO in the plugin then adopted Composer to handle the autoloading making the development environment slowly but surely easier to work with for developers. Once the machine started it never stopped and we are now still reaching for small improvements to make ourselves more productive.

That could be the same at your workplace but someone needs to make the first move and that person is no one else than you.

I know it can be a bit frustrating at the beginning to walk by extremely small steps but that is the only way to build experience on good practices in that kind of workplace and this experience will be valuable later even if you leave that company.

To the eyes of a company with good practices they will catch that you were the motor of it and you made actions to change your workplace towards better practices making you break that evil circle which is bringing you down.

At the end you will end up either building the workplace you dreamed of or joining one by getting hired in a company with better standards.

--

--