A couple of weeks ago, Yoast hired you as a freelancer to expand the work you do on WordPress core. Can you explain this move and what it enables you to do? And what do you hope to get out of it personally?
For some time now, I have been working on WordPress core in my spare time. I have also invested a lot of time into creating educational material like blog posts and WordCamp talks. I had to do all this besides the client work I am getting paid for. As a freelancer, this causes a constant struggle where you’re trying to balance the work you think is important with the work that pays the bills. It causes a lot of stress, and you even miss many important opportunities because the financial pressure grows too big.
I was always able to produce a lot of open source work as a side-effect of my client work. However, working on the important issues of WordPress core is a different beast. I didn’t find a way to integrate these concerns into any client projects.
Being paid for working on WordPress core means that I can afford to spend the time on critical topics. I can now seize opportunities as they come. It means I can work on the areas of the core that do not provide an immediate ROI, but are necessary for a long-term improvement.
One of my overarching personal goals is to make WordPress future-proof enough to withstand the next few online revolutions without drowning in technical debt, and as a direct consequence, ensure the longevity of the community that’s surrounding it.
You are a very active member of the WordPress community and even a core-contributor to the latest couple of releases. What is it that attracts you to this community and how did you start off?
When I started delving more deeply into WordPress, I quickly noticed that the code did not exactly follow common best practices. Some parts of the code were well-built, but very generally, it all seemed as though people were constantly trying to reinvent the wheel, instead of reading up on accepted solutions for their problems.
That led me to frequently share best practices and tips whenever I found an opportunity to do so. A lot of the jobs and the traction I initially got came directly or indirectly from freely sharing my own knowledge and experience. But I was mostly working in isolation, except for the few Slack teams I was a member of.
This all changed after I attended my first WordCamp. It was WordCamp Europe in Vienna, and it was a wonderful experience. I was already wondering for a few months whether WordPress was the right platform for me. It felt like making several steps backwards as a developer, instead of progressing. But the first WordCamp changed everything for me.
Although I went to Vienna for professional reasons, it enriched my personal life as well. It made me aware of how much I truly appreciate the community that has gathered around the WordPress project. All of a sudden, all the technical drawbacks of the WordPress platform were secondary to the feeling of personal growth in the welcoming and inspiring community.
That’s why I now work hard on helping make WordPress the best platform it can be (… according to my own benchmarks and agenda, of course). I always try to be as positive and constructive as I can manage. There’s more than enough people that are more than willing to tell you all that is bad about the WordPress codebase. However, not many will be able to point you towards a possible path to improvement that will still meet all given requirements of such an old project. I, however, am working on moving from the former to the latter group.
Could you tell us a bit about the work that’s going on in WordPress at the moment? What key issues need to be worked on?
A lot of the effort is currently being focused on Gutenberg. This is the new editing experience that should launch with WordPress 5.0. However, there are many smaller groups still working fervently on other areas of the core that are just as important.
Right now, I am mostly focusing on the PHP/backend side of things. I want to work on the architectural problems that are plaguing WordPress. I also started a feature project to analyze and redesign the bootstrap process. In addition, I am helping prepare a bump of the minimum PHP version and try to fix the major performance issues of a normal request.
More generally, I think that WordPress needs more experienced developers with outside experience, that can help teach and enforce better practices. That’s why I also want to work on eliminating the hurdles that these developers face.
We need helping hands if we want to improve WordPress, right? Basically, anyone working with or on WordPress could make major or minor contributions to improve the CMS. Let’s say someone is interested in taking part in the project, what steps should he/she take?
An obvious first step is to head over to make.wordpress.org and read through the list of teams to see whether something catches your interest. There’s lots of documentation for most teams that take you through the initial steps of contributing for the first time.
Apart from that, just meet other people at the next Meetup or WordCamp in your region. Most WordCamps have a “Contributor Day” that is ideal for getting a feel for the project. There are also team leads present that will help you with the initial onboarding.
Finally, for the people who don’t know you yet, could you give us a little background on yourself and your work?
I started dabbling in software development as a child on a Commodore C-64. I learned to develop in Basic, and mostly tried to build text adventures, which was an early form of natural language processing. Later on, I moved through several other languages, covering C, C++, Assembler, Pascal and a lot of more obscure dialects.
I always saw game development as the most interesting area for myself. In this area, you not only needed to make everything work, it also needed to work as fast as possible. You always try to get around the then very crippling performance limits. This led me down several rabbit holes at once, learning about data structures and algorithms, artificial intelligence, graphics and sound driver development, etc.
When I later thought about what professional path to follow, I always tried to avoid the IT space though, as I associated it with frustrating technical support work, more than anything else. That’s why I ended up working as a government agent in the administration of a prison.
I ended up dealing a lot with IT anyway. Since then, I worked on a very diverse set of projects. I even accumulated some certifications along the way, such as for Oracle PL/SQL or Microsoft Sharepoint development.
As I was never truly satisfied with the work I did for the government (mostly because of the long delays and the nonsensical budget allocations), I read a lot about freelancing, remote work, and lifestyle design.
Then, about three years ago, my wife and I made the jump. We both quit our jobs, moved from Luxembourg to Germany and started a new life. I opted to freelance as a PHP and WordPress developer, as these made up the biggest part of the market. I just assumed it would be easy to find work for that reason.