Tell us a little bit about yourself
I live in Wroclaw in Poland with my girlfriend. I have been a programmer since 2014. I worked for companies like Nokia or Tieto. Right now I am self-employed. My one-man company is called Sausage Software and right now I work with companies like Bustec Ltd. where I am a software engineer and with Relyon IT Services where I am a so-called technical verificator of C++ developers.
How did you get started in programming?
I am not the one of those who started programming before they could walk. I wrote my first ‘hello world’ while I was studying Civil Engineering in 2014. My friend was talking a lot about programming and I found it very interesting. Few books and tutorials about C++ later and everything changed.
What are some of the languages you use today and why?
Certainly, I use C++ as my main programming language but I’m also a Python fan because I’m really interested in machine learning and artificial intelligence. These two languages work together pretty well.
Also, I have some skills related to functional programming paradigma using OCaml or Scala that I’d like to expand. I think this type of programming is very instructive and will allow you to look at the problem from a completely different perspective.
What type of applications do you develop?
Right now I am part of a team that develops drivers and user applications for high-performance data acquisition devices and in my spare time, I develop a chess engine.
What’s your biggest passion these days related to programming?
For sure it is associated with machine learning and AI. My next goal is to develop an agent that can beat me in chess and maybe some others more advanced players. I want to achieve this without using any heuristics related to chess board evaluation.
What still sucks and shouldn’t be in programming?
Undefined behavior. Right now there is something around 200 UB in C++. However, I don’t really have any idea what should be done in this matter. Hope people smarter than me will find some way out.
What are some of the most important skills developers can have?
A programmer should be clever for sure but the ability to pass information in the simplest possible way is the key in my opinion. Making things simple.
How did you learn about Typemock and what was your first reaction?
I was looking for a tool that can help me write unit tests in C++. At first, I was suspicious because it seemed to me too straight forward. I used to write a lot of boilerplate code to just make things works, mocks etc.
Do you have tips for readers who are just starting out with Typemock?
Use documentation – really I found there everything I needed while writing my tests!
How do you convince your manager to write more unit tests or practice TDD?
Hm, If you have to convince your manager how you should doing your own work then you are in some troubles. However, in such a situation I would ask him to just read about it additionally I would give him the book “Clean Code” by R. C. Martin.
Any tips on making managers understand the importance of using Typemock?
You should ask them like this:
Do you want to have a thing, that is able to tell you in approximately 20 seconds (depending on the project), whether your code works fine? Additionally, if something is not this thing is able to tell you what is broken.
I am pretty sure what would be the answer.
Do you practice TDD and if so, what are some of your favorite code katas?
Stack implementation, Prime factorization, Fibonacci sequence
What are some of your must-have tools or libraries that you use in your daily working life?
Visual Studio, git, bash console, Qt, Total Commander, Notepad++
Who or what inspires you in the technical world?
Robert C. Martin aka Uncle Bob and Jason Turner (C++ Weekly)
When you need a quick recess at work to regain focus, what do you do?
Just talk with someone, read something or just give it a break and try tomorrow. Most of my best ideas came to me before I sleep.
What’s your horror story from the coding trenches?
Some people, someplace far away, couldn’t use their payment cards or internet because I delivered the wrong file…. and this is how it happened:
We were providing a software update for a large company in the telecommunications industry.
One of the changes concerned the configuration of updated units. This equipment was responsible for LTE services.
Our changes have passed all the tests. But unfortunately, I have delivered an incorrect configuration file – with some error in parameter values.
The problem was revealed when the network was heavily loaded and the result was a very frequent loss of connections.
There was a large supermarket in the area, unfortunately card payments needed a stable connection. And when it comes to money, you can imagine that people are getting nervous easily.
After a few hours of investigation, we found the root cause and were able to fix it remotely. And worst of all, this all happened on a weekend. Not my best day….
What’s the best advice you’ve ever received or what advice would you give your younger self?
Read smart books and listen to smart people.
What are some interesting links you can share about yourself?
What is one question that we should have asked, and we didn’t and what would be the answer?
Why did you choose to programme? For me, it’s like a technical art and I love it. Also, it gives you a lot of freedom today.