Building Trust Through Code. Meet Dominik
He left a successful career in civil engineering to join the world of software development, hoping that every new day would bring interesting problems to solve. He wasn’t disappointed! Discover what civil engineering and IT have in common, how software developers build trust with their code, and which book he recommends – though with a cautionary note. It’s time for the career story of Dominik, Senior Fullstack Developer at Bright Inventions.
When did you write your first "Hello world"?
It was in high school, in the early 2000s. Our computer science teacher tried to teach us some programming. The classes inspired me to explore the subject at home, so I asked my dad if he had any resources because he was keen on computers.
He gave me a rather thick book about Visual Basic, and I managed to create two applications that actually worked. In the meantime, I dabbled in creating simple websites, mostly blog templates, because back then, having a blog was a sign of being a respectable person on the internet. :) However, at some point, I got bored of it and put programming on hold for another twelve years. At some point, I even thought about applying to computer science studies, but my grades weren't sufficient, so I studied civil engineering instead and pursued a career in this field.
How long did you work in civil engineering before joining the IT world?
I worked at a planning and design firm for 10 years. However, after 9 years, I felt I had enough and needed a change. Since programming had always interested me, I decided to try to learn it on my own after hours. It was a risk, but fortunately, it paid off. At that time, many people questioned why I would want to change my stable career, especially after turning 30. I’m glad it turned out well for me.
Do you miss civil engineering?
Not at all.
Okay, but did this previous career help you in software development?
Yes, in some sense the principles are the same – both civil engineering and software development are about problem-solving. The difference is that as your expertise grows in construction, you accumulate solutions for problems you face, and are ready to tackle most of them. In software development, even with years of experience, you can still encounter issues that will keep you on your toes for days.
Also, having close contact with clients in civil engineering has been beneficial in software development, especially in terms of negotiating skills and the ability to explain technical issues to people without a technical background.
So what are your tips for explaining to people without technical knowledge which software solution will be better?
It depends on the issue, but usually, I try to present the problem from a business perspective. In some cases, clients desire overly complicated features, which might lead to more errors needing later fixes, thus increasing the software development workload that could have been allocated to other features.
Therefore, I always propose an alternative – a simpler solution, achieving the same goals, that will consume fewer resources and be less prone to bugs. Highlighting the aspects of time and money helps non-technical stakeholders make informed decisions.
You are a part of the team developing a mental health solution. How does this influence your daily programming work?
At first glance, code is just code to programmers, and it might not seem to matter what industry the app represents. However, with healthcare, it’s not that simple. We focus much more on subjects such as privacy and anonymity.
When app users, who may be dealing with mental health issues like depression or anxiety, download the app, they need to trust it. They won't do this if the app is full of bugs, UI issues, and other problems. So, everything we do either builds trust or risks destroying it. This definitely distinguishes mental health solutions from other types of apps, like entertainment ones.
Feeling this responsibility, I really appreciate being part of the product development process, where we work closely with the client to come up with solutions that not only help scale the product but also maintain our users' trust.
You joined Bright Inventions as a frontend developer, but you also have experience with the backend. Do you consider yourself a fullstack developer?
When I decided to make a career switch, I initially chose frontend development because I had some experience in building websites. I understood HTML and CSS, which I thought would help me at the beginning. I also enjoyed the fact that with frontend development, you can quickly see the effects of your work.
However, after concentrating solely on frontend for three years, it started to feel tedious, and I wanted to understand the development process more holistically. It's the best situation when I get to build a feature from start to finish as a fullstack developer. So, I would definitely consider myself a fullstack developer now – I wouldn't want to choose just one. Fullstack development is much more stimulating and offers more learning opportunities.
You joined Bright Inventions almost 3 years ago. Do you enjoy working here?
I'm happy working here. So far, I've met only fantastic coworkers. It’s also clear that Ula and other managers genuinely care about the employees’ overall well-being, ensuring that we have opportunities to continue developing.
I know you are a bookworm. What book would you recommend to programmers that isn't about programming?
I highly recommend “Thinking, Fast and Slow” by Daniel Kahneman, though I must warn you – it might leave you second-guessing yourself! It’s a fascinating read that can quickly give you a sense of imposter syndrome. Once you delve into it, you realize how "weak" our brains can be, making it challenging to hold firm opinions because you become aware of how easily you might be misleading yourself.