Blog: Dear software engineer, please drop the ego.

Melissa had a confidential talk with a software programmer turned head of HR of a growing tech business (over 100 employees) in Amsterdam. Melissa talked to him about his switch from engineering to focus on human development, his perspective on the disconnect between tech and business, and his advice to business & programmers to change their way of thinking.

How did you switch from software engineering to HR?

My brain shut off. I was responsible for 400 machines, talking to each other, and all I could think of were those computers. Each thought was about code and network traffic. At one point my brain switched off. I can’t even describe it. I don’t know how burn-out feels, but this was hell. I didn’t sleep, and when I’d get out of bed in the morning, the first thing I thought was how computer 221 was probably going to crash, and immediately a solution popped in my head on how I needed to solve it. There was no space for normal thoughts anymore. No room for anything else. I needed to stop.

I needed time off, a lot of time off. And looked for answers on the question “How do you reprogram your mind?”. I went the spiritual route. I visited all the great religions, from Israel to Istanbul, going to Thailand, Malaysia, Sri Lanka and other South Asian countries.

In South Asia there is another rhythm,a different experience of time and a different mindset about the reality around you. It taught me the relativity of time and that happiness is a choice. I came back to Europe, and I saw a lot of unhappy people in a rush. People are constantly busy. If you hear somebody say “I am busy” I see that as a clear signal that something is wrong.

Relativity of time taught me to not give a sh*t. I’m less focussed on what I want to achieve, more focussed on what I’m doing right now. I do have a vision, a dream, that helps me stay motivated. But I let that go, and focus on what I can do right now. I ask myself “what is the most important thing I can do today?”

After I came back from my time away, I organically grew into HR. First with on-boarding new people and now responsible for training people. And it fits my new perspective perfectly. Training people is all about the process. It evolves everyday, it’s evolutionary.

What’s not working at the moment when it comes to tech and business?

“There is a lot lost in translation between tech and business.”

Business people don’t care about the details of their request. They think fundamentally differently, not realising how important it is to make sure the programmer understands what the business needs, and what the requirements are. Most (business) people assume everyone knows what they know, the false consensus effect. In software engineering this leads to creating something that does not solve any real-life problems. Or even worse, in creating code that will never be used in production environment. A so-called waste.

If there’s no real talk about what is meant by the request on a detail level, the programmer will decided what is meant by the detail. This way the programmer codes to have fun, to improve their skills, not to add value. Really good programmers don’t program for fun, but to add value for the end user, the customer.

“Software engineers can have a huge ego that gets in the way of good coding.”

To be able to program software, you have to be smart. It is also what is expected from you. Which also means that it is extremely hard to admit when you don’t know something. The effect is that engineers tend to defend themselves by just talking in complex language, making things extra complicated. It’s like a defense system.

Programmers like to argue for the sake of arguing, to protect their ego. They’ve had no or extremely little training in self-reflection, in communication, in understanding the other. The focus is solely on the technical. Developing soft skills are considered overrated.

“There is too much focus on technology.”

Programmers also focus on the technology itself. An example is that programmers can become extremely enthusiastic about a new technology. They love to have a long list of skills on their CV. And they love to discuss the pro’s and con’s of different technologies with their fellow programmer.

Even though it would add no extra value to the client, they will find ways, develop arguments, why the business manager has to adapt this new technology. Such attitude is picked up by the whole team. The effect is a lot of wasted code. After university engineers are joining real-life development teams and get immediately immersed in this tech-driven spirit. They are concerned more with the quality of the code than the satisfaction of the customer.

Managers don’t see this. They don’t know. They can’t know. They don’t understand. They assume developers know what they are doing. This is a problem.

What would be important to change, in order to tackle these challenges?

“Don’t start coding, start talking!”

Software development is like predicting the future. You are creating something that does not exist yet. You should always question the status quo. Teams should start first with fully grasping what needs to be done, and how problems can be solved. This takes time.

Most teams spend the majority of the time developing code. This should be completely switched. If you take most of the time discussing each problem, and how to solve the problem, with the customer in mind, there would be much less waste of code. Not only within the team, but also cross-team and cross-level. If the manager does not have time, make him aware about the consequences.

After such a process, the programming could be done in no time. Programmers are really smart people. The coding won’t be the problem.

This means that it is actually essential for a software engineer to focus on the other. As a programmer, you would have to take into account how the next programmer can use your code. You would want to clearly understanding your business manager. And you would always have the customer in mind, while making decisions and building the product. And most importantly in order for you to have this mindset, it would mean that you have to drop your ego.

Thanks for reading this blog. If you have similar experiences, or have found ways to solve these problems, we would love to know more. This could be an interview about your solutions, or an in-take to understand how we might help you.