What’s a typical day like?
Nowadays, I’m developing software for the Dutch rail system, NS. I work in close collaboration with the customer. We work a lot from home, so when I get up, I switch on my IDE, my coding editor, and usually start programming because I like to do that in the morning. So basically from 9 to 11, I’m writing code. Then at 11, I have a stand-up. In the afternoon, sometimes I have meetings or sometimes it’s more coding. Right now our team is working on a big project to refactor a particular part of the customer’s systems. It’s been rewired into a new version which has better performance and costs less resources.
Why were you drawn to this project?
Well, I don’t like driving cars. I don’t have a lease car. I always take the train. I am an NS consumer myself. I also like working a bit more for the public. In the past, I worked a lot for banks and commercial parties; it was OK, but it feels more valuable to work for NS. I really like what they are doing with all those trains in the Netherlands. It’s also technically interesting and quite challenging in terms of constraints, limitations, and creativity. There’s nothing for granted: running a software system on a train is hard. Plus, I can explain to my mother what we’re doing.
Does your mother know coding?
No, she doesn’t. But if I explain – by saying that when you’re sitting in the train and you hear this voice announcing the next stop, that’s our system – then she understands what we’re doing.
What drew you to the company?
The reason I joined Schuberg Philis is because in most companies you are kind of expected to make a whole career of your time there. You get a salary raise if you become a manager, but if you like engineering, you get stuck in an HR system designed to keep promoting you at the expense of being able to do actual engineering work. And all the time, you have people telling you what to do, but those people really don’t have a clue what you’re doing, so what they ask you to do doesn’t make sense. And I hated that. I had a big struggle working in a lot of companies because every company has managers and HR – except Schuberg. We have teams where you, as an engineer, work together with other engineers. If you want to do engineering, you can do that for the rest of your life, no problem. So I was sold. At first, I didn’t believe it; I thought: this cannot be true, but it’s actually true. Here you can just do coding and engineering, and nobody tells you to stop. Actually, they say: “Do more.” It’s been eight years since I began working here and that hasn’t changed.
Without managers and HR, how do you determine what you’ll be working on?
What I also like at Schuberg is that you can choose your projects. The project essentially has to sell itself to the engineers. For instance, every year there’s the Tech Market, where every customer team has a presentation about the work they do, and the idea is that you attract other engineers to come work on your team. It’s also a bit of a friendly competition, where the engineers can see if they like another project better than their current one. Of course, you always have constraints; you just cannot say to your current team: “Oh yeah, I want to move tomorrow.” But if you really like something, you can say: “Hey team, I see this other project. Can we find a way so I can gradually switch teams? Maybe we have to find another engineer to take my place.” So, it’s not a free lunch – you have to arrange things well – but it’s perfectly fine if you want to do something else. That is seen as a good way of taking responsibility for your own journey. I had been working before with another customer team when I heard about the project of my current team, had a conversation with them, and realized I really wanted to work on their project. Then I came back to my team and we found a way so I could switch. That’s how it works, and I’ve never seen this in another company.
Besides being able to code as much as you want, what else do you find remarkable about Schuberg Philis?
Even though we are a tech company, we have the slogan “It’s the people, actually.” We really believe in human interactions, being available to the customer and your teammates. We are very open and discuss everything that’s bothering us. There’s really this culture of speaking up; I’ve never seen that elsewhere. We call that the DNA of Schuberg Philis, and it’s usually told by engineers to other engineers, so bottom-up. This makes the culture quite strong, and it hasn’t changed much since I began here. The leaders of the company have just encouraged the engineers to be themselves and to be in the lead with the customer, and that’s what makes this self-steering culture happen.
For others who also don’t know coding, could you give an example of how, as a programmer, you are called to be creative?
You write a program, and that program talks to another program, but that other program is written by another team. That’s all nice and dandy, but then how to make sure that your program works with the other program? It takes creativity to find solutions for that. This is one of the problems you face as a programmer: you work in a very complex system and your part is only one small part of a bigger system. It’s very challenging to change your program and make sure that it does the things it has to do, that it’s performant, and at the same time that it works well with all the other systems. Experience, thinking, and creativity are needed to make that happen. So, in your daily work, you’re facing all kinds of limitations and constraints all the time. You have to find a way to figure it out. There’s no handbook saying how – there are some principles and tips – but every situation is different. I’ve been doing this work now for 20 years, and every project is unique. But I like to find ways to apply my creativity at work. I did a lot of painting and drawing for about 10 years, and worked as an artist for a while selling paintings. I’ve always been very creative and done creative things besides my work.
Did you encounter similar limitations and constraints when working on a painting?
Less. If you want to do a painting, it’s more about: what’s the story you want to tell? Which is also hard, but that’s a different kind of problem; it’s more an open problem where there’s no solution. In coding, you have closed problems, so there are solutions; you know that the work is done when the program works. But with a painting, you never know when it’s done – it requires a different kind of creativity. Then again, coding is also a bit of telling a story. If you write a good program, it’s clear what it’s about. I like programs which communicate very clearly that this program is doing this thing and not the other thing. There’s an art to building a program in such a way that it’s truly clear for another person what it does.
Curious to know more about how more colleagues spend their days? See the whole series here.