Think Then Code by Dominic Umbeer


Dominic sitting in an armchair

The Technical Leader - Enable people to do their best work

After being an individual contributor for many years, I have realized that strong technical leadership is required to accomplish great results with a group of people. It does not necessarily mean managing people but supporting people to their best possible work.

Supporting people to their best possible work.

The impact as a technical leader can be rewarding because you don't only appreciate the outcome but also the growth of personalities. Your focus shifts as a one-star chef once told me: “I'm the oil that keeps the machine running.”

The Product Engineer - Build products and businesses

Product engineering aptly describes the essence of my work these days: Solving problems and serving the needs of users by finding technical solutions. Those solutions serve as the foundation of building a business.

Solving problems and serving the needs of users by finding technical solutions.

I have served that role in various positions during my career as a software developer, engineering manager, and CTO. Even though all functions include multiple responsibilities, I always try to focus on the user first. The rest follows automatically.

Building products in a professional context brings me back to my early days. It has run like a red thread through my life since I tried to sell T-shirts online.

The Software Developer - Think then code

I gained my first development experience during my time as a working student. The company developed software for the car industry, and I worked mostly on internal tools and built prototypes.

I can remember a situation where I had trouble finding a way to structure my code. I added code and deleted it five minutes later, over and over again. At some point, I decided to ask for help and approached my former boss. A couple of minutes into the conversation, he stopped my explanation and said, “Erst grübeln, dann dübeln,” which is literally translated to “Brood first, plug later.”

It seems obvious, but it completely changed how I approach problems. Most of the time, I try to understand the problem, find options, and select the option that solves the problem best in the current context.

I found a meaningful slogan for my work attitude that has followed me since my first coding job: Think then code.

In April 2020, I read a tweet from Guillermo Rauch, where he answered this question: Describe software engineering in three words or less. His answer was, “Think then code.”

The Student - Learning to solve problems

Honestly, I never had a plan in mind for my career. Luckily for me, my parents recognized the potential of working in the software industry. They pushed me to take an apprenticeship and, afterward, to continue by studying computer science.

I can still remember my first day at university and the welcome speech that the faculty director gave us. He directly took all our excitement away by saying that we were not going to learn game programming. At first, people started leaving the room. He continued, however, and said something that still sticks with me and is an essential part of my career: “The most important thing that we try to teach you is the ability to understand problems and solve them on your own.”

Core skill: The ability to understand problems and solve them on your own.

I didn’t give it much importance back then, but in retrospect, it is a skill that gives you superpowers. Everything in our industry develops and changes so fast that you need to understand the core of a problem and find an appropriate solution.

With many years in the industry, I have realized that this skill is one of my biggest strengths. I understand business and technical problems and find technological solutions to build successful products.

Earlier Days - Entering unknown waters

In my late teens, I noticed a few people in my hometown area who tried to start small businesses. I cannot remember much about them anymore, but I can remember how I was electrified by the idea of building my own business.

Back then, my best friend and I had the glorious idea of designing, producing, and selling T-shirts online. We registered our business and trademarks, full of enthusiasm. We borrowed money from our parents, ordered hundreds of T-shirts, and built an online shop. Needless to say, we failed. We did everything wrong that we could do wrong. Despite that, it was a fantastic time, and I enjoyed the whole journey a lot.

My driver and motivation: Building, fighting, overcoming obstacles, having a common goal, and working with other passionate people.

Years later, I realized that the excitement did not come from starting or owning a business. It was the process of building, fighting, overcoming obstacles, having a common goal, and working with other passionate people.

Those attributes are still my main drivers and motivation.