4 reasons why I love programming
Tags: watercooler, programming, womenintech
Published: 2021-03-19 10:43:39

I have talked about my experiences in programming, but I haven't really said what are the reasons I got interested in coding in the first place!

I have told how I started programming when I was a kid and how I later started my career as a developer in [My Journey into Software Development](https://dev.to/whatminjacodes/my-journey-into-software-development-5gac) blog post but here's four reasons why I enjoy programming.

#### 1. The feeling I get after fixing a bug
I love that feeling I get after spending time finding an error in my code and actually fixing the bug. I enjoy creating logic for my code and that it's my fault if there's some error. I either hadn't fully understood the problem or maybe I was just tired or careless and that's why I had an issue there.

Obviously I sometimes also get frustrated and hate myself when I do a "stupid" mistake but such is life. I'm a logical person and have always enjoyed logical problem solving so most of the time I see fixing the problems as a positive thing and a possibility to learn more :)

#### 2. I love learning
This second point says it all: I love learning. It doesn't really matter what I'm learning as long as I feel I'm advancing. Anything from writing in runes to building a PC to knitting a new pattern excites me.

But I don't have motivation to learn everything, it needs to be something I'm interested in or something that I know will help me later. Like for example I'm not really interested in building websites but I recently learned the basics because I'm sure webAR will be a big thing in the future and I'm interested in that.

I guess that also means I'm on a path to become a generalist but I don't see it as a bad thing :)

#### 3. I'm interested in the low level stuff
This is something I have noticed a long time ago. I always want to know why: why does something work like it does, why do we calculate something like we do, why does physics work as it does. My teachers must have been tired of me constantly asking why.

Maybe this is why one of my favorite languages is C++. I enjoy being able to maintain memory and do stuff in a low level. I'm still on my way to become a senior developer and it frustrates me that I'm not experienced enough to understand everything I would like to already understand. 

As one example of a personal win: I learned how to read and write PNG image files bit by bit with no prior experience in the subject in two weeks, because I really wanted to understand how it works. Do I necessarily need to know how writing a PNG file works? Well, not really, but now I do and it opened a whole new level of understanding software for me.

I also got a lot of self-confidence when succeeding and actually understanding a thing that felt impossible at first.

#### 4. I get positive encouragement when succeeding
The feeling when I actually succeed in something difficult makes me feel like I can achieve anything. For some reason I have learned to belittle myself ever since I was a kid so at some point I actually believed I am stupid.

So after successful experiences in programming I have actually felt smart and capable. I _know_ I'm smart and capable. And I know I will become an awesome developer in the future.