Published in


Here’s What 2 Year Long Self-Taught Coding Taught Me

If you want to get anywhere, you must not fear exploration.

I was 4 in 2001. That’s when I first used a computer to go “online”. Since the beginning I had always been an inquisitive child. I knew how to set up a dial-up connection, go online, check e-mails, chat on yahoo messenger, google stuff up and what not! Despite of the dotcom mania, Microsoft Paint and Pinball had always been my favourite. I loved to write on MS Word and take casual printouts. That made me feel quite powerful.

Well now as I write this, I am a senior in college pursuing engineering degree specialising in Information Technology. Now things have changed — there’s no “dial-up”. Neither do I play Pinball nor do I take casual printouts and feel invincible.

As a child, nobody really listens to you. Everyone takes you for granted because you’re a 4 year old kid. But you know what? The computer took my commands very seriously. It did everything I asked it to do and that’s how, as a child, I felt empowered by using the computer.

I wanted to make everyone feel like their voice is being heard and action is being taken. That is why I wanted to make applications. Applications listen to people from every ethnicity, caste, religion, gender, colour. Applications don’t discriminate.

This is how I figured out that I should learn how to code and if possible, teach others how to code.

Now, I have groomed myself to make production-ready applications. Even though the learning is never ending, the satisfaction gained from applying classroom knowledge into practical world is unparalleled.

Recipe of Success, Does it Even Exist?

Mediocrity is achieved when one operates within the comfort zone. Excellence is achieved when one operates outside the comfort zone.

If I tell you that there is a pre-cooked and tested recipe of success, would you believe me? Most of you will say: No. Then why is that we keep googling “how to be successful” or watch videos like “common habits of successful people” ? Is it because we want to draw parallels from the articles and videos?

Well, short answer: there is no recipe to achieve success.

Long answer —

During the 2 year long journey of learning how to code (I’m still in the learning phase actually and it won’t ever stop), the only thing that kept me going was that the reason why I started in the first place was achieved in everything I did. At no point of time I felt that this was a waste of time/energy.

We know how terrible it is to sit in front of the screen for hours trying to solve one error. The error not only stops the code from working but also drives you crazy. There would be times when you’d want to quit and just for a holiday. Who doesn’t feel low? But the real question is: even after all this, do you still want to come back and debug that bug? Do you feel like you’ve learned so much after debugging the little bug? Does it give you a kick to do more?

There have been several highs too. For instance, getting recognised in the industry and getting appreciated means a lot. When you run your scripts without a single error and warning in the first go. When your peer comes up to you to ask you a coding question, it feels important. When you start earning money out of the very thing you love to do, it feels like a fairytale. This feeling is liberating, empowering. It feels like you can do anything. Literally anything.

The crux is to never stop exploring. Technology is full of adventure. It teaches you subtle nuances, it teaches you patience, it teaches you how to maintain things.

In programming languages, thank god their are no accents otherwise some languages in some parts of the world would be so tough to understand! The good part about programming language is that, you can bend it in whichever form you like. The versatility of some languages like JS are beyond imagination. Once upon a time JS wasn’t thought to be a good tool to use, now it is everything.

Technologist is the new God. He/she can turn around your entire world with technology like blockchain, machine learning, internet of things.

A few clicks here and a few clicks there can create just about any application. Doesn’t this sound more powerful than anything else?

Top 10 things I learned during the course of these two years—

  1. Nothing comes easy. Nothing. Not even to the technologists: I’m sure you’ve heard of tutorials like “Do this in 5 min”, “Do this in 6 lines of code”. But behind those 5 minutes and 6 lines of code, a computer science marvel is sitting who applied very thoughtful engineering logics for you to achieve the results in 5 minutes. All the APIs of Machine Learning we are using today, they all have arcane knowledge put into use. Those APIs are easy to call than to cook. Fortunately/unfortunately, in this industry, just calling the APIs is not enough. You must know how to build it from scratch. In other words, algorithmic logic is indespensible.
  2. Always keep yourself abreast with latest trends: List of things that didn’t exist in 2006: instagram, snapchat, blockchain, internet of things, bitcoin, iphone, wifi, cognitive computing, cloud computing, uber — to name a few. You see, if you don’t keep yourself updated, you may become a 70 year old who doesn’t know what’s going on in this world. Eventually, Dawin’s Theory will act upon you.

3. There is no substitute for exploration: If you’re afraid to venture into deep waters then it’d be really hard for you to make it large in the tech industry. If you’re not learning anything new everyday, you’re too slow for the tech world.

4. Getting bugs in code is a blessing: It’s all about perspective actually. I see it this way — the more bugs, the more out-of-comfort-zone learning. Bugs make up about 40% of the learning.

5. Coding teaches you simplicity: One of the best things about programming is that ultimately every problem is broken down to the last bit of it which makes the problem look simpler. This same analogy can be applied to everyday life. Chances are that if you’re a master at programming, you’re a master at dealing with life’s curve balls.

6. Coding makes you a better expressionist: One of the best practices while programming is to keep your code readable using comments and clear logic. This means that there is no scope for you to mess up the code. Everything is clear, concise. This leads you to become a better expressionist.

7. Programming makes you a problem solver: The attitude with which you may come onto a problem will be completely different before and after you learn how to code.

8. You’re well aware of your surroundings: It’d be very tough for a fraudster to cheat on you because you know the system too well. For instance, chances are very low for you to get duped in a credit card scam. You’d know all the trickery and hence be aware of it well in advance. You know the best practices to stay safe online. This may also make you a guru in your family.

9. Coding makes you realise the potential in you: Coding gives you a kick. It makes you feel that you can do just about anything to change this world. All you need is an idea, a laptop and an internet connection. You can go around hacking WiFi for fun, you can make cool artificial intelligence applications and what not.

10. Coding connects you to God: The very fact that coding makes you realise your true potential is what makes a person feel god-like. Every person has the potential to change the world, only that some of them channelise the energy within themselves. The more you explore your interests, the more powerful you’d become.

I wish each one of us becomes aware of themselves so that they come to know how technology can change their lives. It’s worth giving it a shot.



Elijah McClain, George Floyd, Eric Garner, Breonna Taylor, Ahmaud Arbery, Michael Brown, Oscar Grant, Atatiana Jefferson, Tamir Rice, Bettie Jones, Botham Jean

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store