true positives lab

14 Oct 2018

Why I love programming and why I don't like writing code

I was first introduced to code when I was 12 years old. And for some reason, we just didn't hit it off right away. At that age, a boring console calculator app written in a strict programming language completely killed my desire to pursue it. Over time, I gained experience with new technologies, but my relationship with them didn't work out either.

When I was a senior at the academy, my advisor suggested I choose between two incredibly boring topics for my thesis project. Just thinking about either option made me feel despondent. That's when I clearly realized that I didn't want to waste my time on something that wouldn't benefit anyone. And that was the turning point.

Around that same time, I was talking with people in the printing industry (hi, Sasha). We came up with the idea for a joint project, which we set out to work on. And the most interesting part: it was all about a calculator(!). A big, complex calculator. So I chose the most flexible and versatile tool available to me. More than three years have passed, but I still consider that calculator my most interesting and challenging project 🙂. There was a need for it, and I managed to figure out the problem, find, and implement a working solution that no one believed in at first. And it was simply the first one 😉. This led to two graduation projects and, unfortunately, an unfinished commercial project. But you have to be able to admit that not all ideas can pass the user test.

I like to perceive programming as a tool, an applied skill, the popular craft of the 21st century. Today, I think the hardest part of this craft isn't the solution: the implementation, the actual writing of code. What matters far more is understanding the value you're working toward, framing the question, and finding and understanding the problem. And only then, if it's truly needed, going about finding an elegant solution, choosing the tool, the design, and the implementation.

Rereading the previous paragraph, I realized I'm not really writing about programming, but about an approach to life in general. But the pattern maps onto programming too 🙂

So it turns out that the better you understand the value, and the more you study the problem before you start working on a solution, the better you understand the situation. And the better you understand the situation, the better the solution turns out. There are also fewer problems to solve, because with experience comes the realization that not every problem deserves a solution. And the fewer solutions there are, the fewer problems they bring 👍

And I actually do love writing code. I like knowing that a solution will benefit someone, designing it, and watching how flexibly it turns out. But I try to write little.