Savvii Spotlight: Alain Schlesser [interview]

Gijs Hovens, January 18, 2019

On our visit to WordCamp Europe 2018 in Belgrade, we managed to interview some of the people that make WordPress what it is today. In this episode of ‘In the Spotlight’ we talk with Alain Schlesser. Alain is a WordPress developer, core and wp-cli contributor and currently living in the Eiffel area of Germany.

How did you get into WordPress?

I’ve been doing development for pretty much all of my life. I started at the young age of seven.

I mostly focused on game programming for a long time. But that was during a time where there were no frameworks or rendering engines. Everything you wanted to do, you needed to hardcode and do all your calculations yourself, and write them into some memory that happened to be the video card, and things like that, so that was pretty low level.

I didn’t pursue that as a career because in Luxembourg at that time, there was not much happening in terms of software development. So, the only place that I could immediately see to earn money while working in that field, was mostly technical support. It was not at all my cup of tea, so I never pursued that as a career.

But you liked the programming?

I liked the work but I didn’t think I could make it viable financially. So when I finished school, I applied to be a government agent. Mainly, because that was well paid. I thought, this doesn’t take too much effort, just do my eight hours of government work and then I have a lot of energy left in my spare time to do what I really like to do. I thought: Work and the things I’m passionate about, that’s two separate things – there’s no way to combine them.

Alain Schlesser

Alain Schlesser

I quickly found out, though, that working for the government was just draining all of my energy because I could not work in an efficient way. I could not achieve anything. It was also very political, so anytime I worked on building something, I worked on it for four years max. Then, there were elections and a different party got elected and I had to undo everything again and built something different in the opposite direction.

So, with time I became really sick of that work. And my wife was in the exact same kind of situation. At one point we decided to just quit our jobs in Luxembourg, sell everything and move to Germany. We just needed to move out of Luxembourg because it was very expensive where we lived.

I started freelancing and rediscovered development work. I just picked WordPress randomly because it had a big market share.

Tell us about your first WordPress experiences.

I learned WordPress and PHP web development because of the development work I did. I also did development work for the government, but that was at a completely different level. There, I was dealing with SharePoint intranets and Oracle databases and stuff like that.

So, I was certified in a lot of enterprise and government software. But I hadn’t done normal web development or PHP development before. When I started freelancing, I first needed to get into that. Then, I started doing small client projects and slowly got better at it.

I quickly noticed that the WordPress code was not what I had expected. It was, much, much worse. And pretty much all of the material I found to learn WordPress development was just either very basic or just plain wrong.

At one point I was even thinking about just leaving WordPress and switching to a different framework because the code was just so bad and it was very frustrating to work with WordPress.

Why didn’t you abandon WordPress?

At about the same time as I thought about leaving WordPress I attended the first WordCamp and got to know the WordPress community. And that was what made me stick with the project.

I thought, the code might not be great, but the project itself has a very positive global impact. Now I’m working in the WordPress space just to help keep this alive. Not because I like the code. It’s because the project itself is valuable.

I work on WordPress not because I like to code. It’s because the project itself is so valuable.

What would you like to achieve with the WordPress project?

There is a lot of momentum right now with Gutenberg. I’m currently trying to jump on that train and use some of that momentum to improve the server side of things. Gutenberg is all about the client side. And I want to improve the server side of WordPress: PHP code.

One year from now, I plan on having proper tools in place in WordPress Core to more easily keep up with the versioning pace of PHP. Because right now the gap is growing bigger and bigger between PHP itself and what WordPress supports.

We’re slowly running the risk of hitting the point where WordPress cannot adapt quickly enough anymore to a potential future version of PHP.

WordPress is known to just accumulate a lot of technical debt all the time because it has a very strict backward compatibility strategy. This makes it so hard to maintain the software because there is no mechanism built in to get rid of technical depth again.

Technical debt makes it harder and more costly all the time to adapt to new requirements, to adjust to the changing environment. And technical debt, if it is not controlled and grows and grows, it will eventually turn into technical bankruptcy because there will come a requirement that you cannot adapt to anymore.

I am afraid that WordPress’ technical debt will lead to technical bankruptcy. At that moment the debt is so large that WordPress cannot adapt to a new requirement anymore.

What are your thoughts on Gutenberg? The latest big change in WordPress

I think that Gutenberg tries to apply a lot of principles that come from the PHP world. And they want to just make them work in the in the JavaScript world, but it does not directly apply.

JavaScript is an entirely different environment. For example, the extensibility in Gutenberg is now built so that Gutenberg provides an interface that you can connect to, and then provide your own mechanisms.

But in the JavaScript world, you usually don’t produce lots of separate components because everything needs to be sent to the client first before it can be executed. So generally, in the JavaScript world, you bundle everything to make it as compact as possible.

And if you don’t do that, we might end up in a place where every plugin will add JavaScript client-side code to a WordPress site. The WordPress site then ends up with sending 20MB to your visitor’s browser just to be able to render a single page.

Can you give an example of a situation where this much code would load?

Gutenberg uses React as the main framework for making everything work. Then they discussed that they don’t want to force everyone to use React. So they put an abstraction layer on top of React, a wrapping interface that people connect to, so they don’t need to connect directly to React.

This will cause plug-in providers to all of a sudden use their own version of React. They might use Vue.js. They might use some other framework that might be popular – and you will end up loading multiple JavaScript frameworks to create a single page.

What were your first contributing experiences to WordPress like?

I think for some of the teams, like Core, it’s very intimidating to get started. And I think the environment could be more welcoming and better onboard new potential contributors.

I also think that especially for a team like Core, the feedback is not great. People might end up contributing once, creating a Trac ticket and never getting a response. The Trac ticket just stays there for three years and nothing happens.

I think that it is quite a big step from wanting to contribute to actually being a regular active contributor. I think that there’s a lot of hurdles along the way. The entire onboarding experience could be made much smoother.

The biggest hurdle is to get new contributors to keep contributing because they try once and they don’t get any immediate feedback. They don’t have any insights into the actual processes that decide what gets worked on what is just on hold. So it’s just very intransparent for them and a very frustrating experience.

How do you find balance in your work, contributing to WordPress and private life?

First of all, working remotely allows me to just pace myself in whatever ways I want. If I have phases of high energy, I can work a lot every day, but if I have phases where it’s more difficult, I can easily have some pauses, take a walk with the dogs, or spend the day just enjoying good weather.

Remote work does not make you dependent on a fixed schedule. You can just adapt to how your current situation is. And that makes it more sustainable in the long run, I think. And there’s a lot of changes between doing very intensive coding work and going to WordCamps and meeting a lot of people which also keeps everything interesting and fresh.

I generally think that whatever you do, it needs to be sustainable in terms of how you deal with your time and money, as well as your energy and health. So, everything you do should be sustainable. Otherwise, although it might be a great idea, it will only work for a limited amount of time.

It’s a big a big topic for me because I notice that in the open source world, for example, the money topic is often frowned upon. It’s bad to view things in a too capitalistic way because we’re ‘the open source community’. We ‘don’t care about money’.

I notice a lot of ‘we’re the open source community, we don’t care about money’. I disagree with that idea.

I think that’s not a good approach. I think whatever you can think of doing in life, it comes with a cost attached. And somebody will pay that cost in some way. And if it is not paid by a salary or by sponsorship or similar, it will be paid in health, family relations, or other “currency”. The cost will be paid, no matter what.

It is a matter of whether it is paid in a sustainable way or not. Because you don’t have that many families you can break. You don’t have that many bodies you can tear apart. So, it is not sustainable to pay the cost with something like that.

How do you keep those costs acceptable?

I try to not work for too low rates. But that’s not about getting rich. It’s just to make sure that whatever I do, it is sustainable for me in the long run. That I’m able to pay my bills and I’m able to make pauses when I need them.

What is your advice for other freelancers?

Try to keep a good rhythm. There’s no need for me to have any fixed hours, but nevertheless, I get up at 7:00 and start working from early morning on. Because I find routine and habits make everything easier. They reduce friction in your life.

Another advice is for days where you really have less energy for whatever reason. If there are problems that you can’t solve in your current state of mind, there’s no sense of running your head against the wall for hours. Then I just move to something else, have a walk with the dogs. And, well even just taking a shower sometimes helps solve the problems.

It’s just being flexible to do a different thing when the current thing I’m doing does not work and does not produce the progress I want. That’s the valuable thing.

This was something that I couldn’t do in the government job, for example. When I was working on a project if I did anything else I was not doing my job and wasting taxpayer money.

Is your way of working for everyone?

I think it’s not for everyone. I think it needs a lot of self-regulation and a lot of discipline to make it work. So I guess there are people when they’re working remotely as freelancers, they just mess it up in the long run because they need more structure and more pressure to get things done.

Freelancing requires a lot of self-regulation and discipline to make it work. So it’s certainly not something for everyone. But, right now at the point where I’m at in my life, I cannot think of a better way to do my work, for myself.

We thank Alain for his time and openness. If you are in the market for a WordPress developer or consultant, please check out his company Bright Nucleus.

Leave a reply