How I got into programming

It started a long time ago, but as you can guess, it was a fundamental experience, so I remember some details. I was in elementary school, 4th grade. My family is not religious -I’m not even christened!- and at fourth grade everyone in my class, except for a select few, started going to bible class. My parents asked me if I wanted to and since I didn’t see the point, they didn’t force it. I’m not really sure if my lack of religiousness would’ve allowed me to even participate. Anyways, this meant that the school had to ‘deal with us, outliers’. There was this old man (Mr. Endre) who handled the not-so-huge computational needs of the school and the town council. He helped where he could, so he was tasked with teaching a Computer Class. The school had a bunch of Commodore 64s and some small TVs, and most of the time Mr Endre simply let us play with them. He also brought some games on 5.25″ floppy disks, taught us how to load the games, etc.
At home we had a Commodore VIC-20 with a 16k cartridge extension. It was still far from the 64’s 64k, but it was more than enough. We didn’t have a floppy drive though, only a cassette drive (called a datasette). I asked my father to hook it up to the TV, and I started playing at home too. It wasn’t as convenient as the school machines, and I couldn’t play those fancy games. They kind of started to bore me.
One day I’ve found my dad’s book about Basic. I was fascinated by it, although a lot of things didn’t make sense. I’m not sure why my dad had it, to be honest, he never picked up programming. Anyways, I started reading the book and basically typed in some things that were programs. I didn’t fully understand what was happening, but this mystery lead me on. I couldn’t get enough. I remember one of the greatest revelations was figuring out conditionals – just the fact that I could GOTO to different lines based on some condition opened up a huge space. I also found a way to get input from the user (thinking about it now, these three concepts (conditions, variable assignment and GOTO) meant I’ve found Turing completeness). Combining these things I wrote my first program: a joke teller. It asked if you wanted to hear a joke. If you said yes, it told you one and asked if you liked it. It was a very basic conversational program. I remember gluing the pieces together took me weeks – multiple instances of the computer class plus my free time at home. It wasn’t like I had long continuous, uninterrupted intervals when I could focus on the problems. I had to think about things for days, come up with theories, test them, then wait some more days until I had the chance to touch the computer again. As a fourth-grader, I had to deal with a lot of other responsibilities :)
In a nutshell, this is how it started for me. I think I decided that I wanted to be a programmer then – in fourth grade.

Managerial tasks

My manager has been away for three weeks. This left me as the person in command for everything related to our project. Unfortunately this didn’t get me out of my own tasks, leading to challenging weeks.

At the beginning, it was very overwhelming – I needed to run two sets of daily stand-up meetings, I had to answer almost all emails coming from our clients, I had to handle other client meetings, and -most importantly- I had to make a lot of steering decisions. My only issue with the latter is that I don’t feel that I have authority over things and people. Surprisingly I started to notice that team members (who are actually my peers, not subordinates) do require some form of “leading”. They had various questions on small things and a lot of times they felt lost without some guidance. I haven’t noticed before that we had to make so many decisions on various levels starting from Ux and minor code changes to actually setting future direction for many-many things. What I had found useful is getting into a system to handle all these separate threads of work. I started taking notes in all meetings, went over emails multiple times a day to make sure nothing is missed and eventually got the hang of things. It was a good, eye-opening experience. I also feel that I proved that I can handle these types of tasks as well. The only thing I’m not really sure if I actually want to in the future :)

I imagine my career more of as an architect/tech lead. I have no problem coding or managing people, but ideally I’d like to focus on bigger things related to technology.

Being the keeper of the fragile status quo

I’m not really sure why, but lately I’ve been finding myself in situations when I need to be very diplomatic and basically serve as the peace keeper. It might just be adult life, me maturing or just a coincidence, I don’t really know.

My manager has been on vacation for a week (and will be for another two), so I inherited all his responsibilities. This means that I need to find the balance between client requests and things that we as a project need to accomplish – these of course might not have direct impact on new features or bugs but will be beneficial in the long run. I need to drive the interaction between to more senior guys who basically can’t stand each other, because we need some bug fixes from them. I’m also responsible for keeping the team move without glitches; this means finding acceptable compromise for all members.

On top of the regular “work drama”, I’ve also found myself excusing some parts of my extended family to others. Trying to keep the peace and relative smoothness between my parents and in-laws plus wife and parents – giving it a little more thought, basically all the combinations that you can think of.

Maybe I just really grew up by now? Maybe before I didn’t really care for what people thought of others or how they felt? Anyways, I’m finding myself becoming more and more diplomatic. I also use this newly found ability to navigate storms to my advantage.

Does the fact that I only noticed this now mean that I’ve been so naive for not realizing this was such a huge part of life?

I envy C/C++ programmers a little

I have found this post on HN, and while I read through it, I had a strange thought. While I do coding professionally (aka do my job), I take care of much higher-level problems much more quickly (you could say in a bigger hurry). I realized that I envy people who can afford spending so much time and effort investigating and solving such a seemingly trivial problem. I’m not being condescending by all means here, I just find it interesting that some people has the blessing of actually handcrafting so little parts of a software system. I never get to spend a lot of time on such little pieces. Yes, I do optimize, I do try to be smart and there are times when I have the luxury of coding features for days uninterruptedly, but it’s usually not the case. I think about my code as a woodworking master who designs and creates furniture: I pay attention to little details, but use a lot of bigger pieces. Sometimes I miss playing with small Legos.

Why you too should strength-train

I’m pretty sure there’s no need to emphasize how regular physical activity is not only good, but rather a necessity in our lives. We have evolved as a species needing to fight for survival. In the last century or so we have managed to grow above this, but our bodies haven’t changed that much. We can assert that sitting in chairs 8+ hours a day is not what our bodies were designed for; to alleviate this, we need to incorporate some sport in our lives fairly regularly.

A lot of people who do sports stuck with some form of cardio. They run or bike kilometers, swim three times a week and think that they have done everything in their power to be healthier. While doing LISS (low intensity steady-state) cardio is pretty beneficial, it’s probably not the most effective way of getting more fit. After a certain amount it won’t make you leaner, might be detrimental to your joints and you will probably stop progressing, although that’s the most important aspect – continuously increasing the pressure under which you put your body. Strength training can help resolve all these issues.

No, I’m not going to give you a guide on how to start doing it. There’s a huge number of write-ups that do this. Instead, I’d like to give you some more generic thoughts, plus convince you to start doing it.

First of all, you have lots of types of strength training: barbell/dumbbell training, using kettlebells or doing bodyweight exercises. Even a mixture of these is not a bad idea! What you need to keep in mind is not chasing numbers. Be comfortable with the weights and exercises, always keep good form and focus on you goal – getting healthier. This is why some types of training are not recommended at all: take crossfit, TRX or any other new, trendy fad off your list. Not focusing on form while trying to get as many reps as possible in a limited amount of time is not a good way to start. Dropping out of form will result in injuries. This is not what you have started this for, right? What you actually need is a good program that has been proven to work by a large group of people. You can choose Starting strength, Ice cream fitness, Pavel’s Power to the people or /r/bodyweightfitness/’s Recommended routine, to list a few. Just keep at it. Be consistent. It will take a couple of months for you to have any noticeable changes, but it will happen. A good program will guide you through all possible events and will keep you progressing. By the time you should look into a new program or any more advanced routines or variations, you’ll know a lot more and you’ll be able to find your next challenge.

People, especially women often say they don’t want to look so bulky and they don’t want big muscles. Don’t be afraid, you won’t Accidentally Arnold. That takes years of commitment, proper dieting and devoting all your free time to it. If you manage to do this however, be sure you can sell the recipe – people will pay great amounts of money for it. What can you expect then?

  • You will develop muscles; this itself has a lot of benefits
  • Get more resilient to illness
  • Get leaner
  • Have a stronger core, thus fix your posture
  • Have sturdier bones, joints and ligaments
  • Move much more freely
  • Gain better body-awareness
  • Improve your balance
  • Have better sleep
  • You’ll be able to handle higher workload (both mental and physical)
  • It will clear your head

There are studies proving most of these points, if you don’t believe me (and why should you?), I suggest hitting up google scholar with some keywords such as muscle size benefits.

In the future I’ll tell you why this is of course not enough. To have good results, you’ll need to pay attention to your diet, and of course you shouldn’t become a bro who dismisses cardio completely – you should actually run/bike/swim too, after all.