Arjun Sunil
How to become a software engineer
How do I learn to code? Where do I start?

This is a question that I get asked way too often.

Now, I wouldn’t say that I have made it big, cause there’s only so much you can learn in a short span.

So, here’s the story about how I became an okay coder/programmer/software dev.

How did it start?

I have been around tech for about 7 years or so; but I started by coding by myself really late.

Back when I was doing my Bachelors, I remember being exposed to these languages:

  • C
  • Java
  • Objective-C

While I did have a full time course with BSc. in Mobile Application, by the end of this; I was someone who absolutely hated coding! Infact,

I used to clear the exams by rote memorization. Here’s how:

Print this pattern

* *
* * * 
* * * *
* * * * *

The only things we’d get asked were things like the question above, and I used to byheart, the loop parameters.

Two loops, one increment, other increment and you get that pattern.


Decrement first loop, increment second loop.

You get the gist.

Yep. That was me at the Mid 2016 when I was done with my Bachelors.

Infact, when I was leaving town for my Masters in Compute Science, my best friend asked me, you hate coding; why on earth are you going for another degree in the same thing!

I really didn’t have an answer that time, but I am glad I went on anyway.

Where did things change?

My senior Arjoonn Sharma used build random stuff all the time and he used to write Python as if it was his mother tongue. Every time an idea would strike, new repo on Github and he’d get right to it. He’s the person because of whom I got exposed to Python.

My Masters was MSc. in Computer Science, specialising in Machine Intelligence.

Yeah, a loadful, I know. but the coursework was pretty cool! So, since this was based around Artificial Intelligence, it seemed like a no brainer I would have to learn Python some day or the other. I mean I had the option of R, but lets face it; it’s R. Getting an API service live with R, might be possible sure but not as easily as with Python.

I was never a Grade A student. Hovering around the average was more like my zone. I mean, if I could put in just 10% effort and get the same degree as person who would put in his whole life into the same thing and get maybe a 90%, like whats the point?

I didn’t really see a point in putting in the extra effort, so never really did too well academically.

But now things were different for me. I had a fire lit under my ass cause I had to get my masters and a job soon. So I set out to Learn how to Learn.

That’s where I was introduced to spaced repetition.

I talk about this in following writeup:

You can also checkout the source from where I learnt directly on coursera:

Spaced Repetition

Having learnt the benefits of consistency and spaced repetition over time, as compared to doing all at once, around December 2016, I decided:

New Years Resolution: Learn Python


Well, there were still about 20 odd days left for New Year’s Eve and I had nothing to do till then. So I decided to start off early! Yeah, I am still shocked to this date, that being a procrastinator I didn’t put this off till New Year.

I created a public repository on Github so that I can track my progress with the Contributions chart.

My goal was to make it green every day, consistently for as long as I can.

It wasn’t to be the best programmer in the world, but to learn something consistntly.

So, with that said, I started off my journey on December 9, 2016 to solve one problem a day.

That’s it, that’s all I did to learn how to be a dev.

I kept solving one problem after another from one these places depending on how I felt each day.

That helped me learn how to break down large problems into smaller bite size ones and solve them.

There is no secret sauce. Consistent Hard work and spaced repetition is the only thing I have done to get to where I am today.

Now of course as of publishing this today, there’s something called #100DaysOfCodeChallenge and there’s a lot of variations of names around that. But the core fundamental concept is the same. Spaced repetition.

So if you’re trying to be a better dev, just remember this:

You will never remember anything if you do it all at once, unless you’re superhuman.

It’s the same as trying to become a ripped body builder in by working out for 7 days straight!

All right, that’s about it.

If this post helped you learn or grow; do share with your friends and help them grow as well :)

Peace ✌🏾

Last modified on 2021-03-07

Comments powered by Disqus