Jari Kemi, born and raised in Sweden, is a Finnish backend developer, who also wrote the first lines of code for Tantan, a Chinese dating app. Tantan has a massive 100 million users around the world and a laudable 4.2 / 5 rating in PlayStore. Jari’s background includes a successful sports career at junior level, having competed successfully in weightlifting competitions on national and European level.
Jari took a career step into the unknown in 2017, when he decided to take on a new challenge, namely becoming a freelance software developer. I met up with Jari nearly a year after when this happened, to hear his thoughts on entrepreneurship, and also to find out what characteristics and skills make him such a successful backend developer.
Jari Kemi, Backend Craftsman and entrepreneur
You call yourself a Backend Craftsman. Is there a particular reason to this choice?
I wasn’t sure what I wanted to call myself but Backend Craftsman feels right. I wanted a title that says that I am passionate about my profession and that I want to create something unique.
What makes backend development beautiful?
The backend is divided into logical sections: one part of the whole only does what it’s intended to do and nothing else. Beautiful is also that each part of the equation can be moved, deleted or new blocks can be added without having negative consequences on the architecture as a whole.
With backend development, things need to be done more prudently, especially when it comes to a high performance backend development where 20 000 - 30 000 http requests per second is the norm. In this case, the technical implementation needs to be designed more rationally than with a smaller amount of requests.
The creative part of software development is coming up with new solutions. Even though a new solution might seemingly come out of nowhere, the reality is that you’ve tried several solutions out to solve a problem. Only once you can appropriate, improve and combine the good parts of your previous attempts and rely on your experience, you can come up with a new solution that works.
What unites the best developers?
Backend development attracts a particular type of person. Backend developers typically never receive glory for their work, but rather the backend is simply expected to work and generally it’s difficult for others to understand what is happening in the backend to begin with. When the backend for some reason doesn’t work, a backend developer will definitely hear about it, but when it’s working well no feedback is generally given. A backend can’t really work extremely well or nicely, it either works or it doesn’t. Backend developers however do know what makes a solution great, but as a backend developer you need to be a bit humble because others can’t really see or understand what it is that you do.
If I had to hire a new developer, I would emphasize communication skills. A good development team recognizes that the work in itself needs to be fun and the aim should be to grow and learn together.
Why did you decide that you want to be a software developer?
After high school I had to decide what I want to do with my life and I liked math in school. I didn’t want to study mathematics though because the career paths weren’t that appealing, so I ended up choosing software development because it combines mathematics and creativity and the work is also applied into real life solutions.
What was it like to study programming?
I loved coding but the studies themselves weren’t terribly interesting. I was more interested in sports at this stage. I did weightlifting in the Finnish national team and I spent more time doing that than studying. I did do my own software development projects though and I became interested in parallel programming. Finally, in a course at university, we got to use a supercomputer and to work with algorithms, which made studying significantly more interesting.
What do you get your kicks from in programming?
Just like in sports, the challenge is what attracted me to programming. I became hooked to coding at university, where we had team programming competitions in which you had to solve as many problems as quickly as possible, in four to six hours. That was fun and challenging.
Does sports and programming have any similarities?
In whatever you want to be good in there are similarities. Sometimes in weightlifting, even when you train really hard and you follow the training program to a t, no apparent progress is made. It feels the same in coding, you work really hard day after day and it feels like nothing is happening, but one day the pieces fall in their places and the hours you’ve put in pay off.
The athlete mentality has helped me. In sports, you set the goals and you try to reach them, and you don’t expect it to be easy. The only way to become better is by working hard. This also applies to coding.