It’s not as hard as you think it is (until it is).

Back in early 2012, I really wanted to learn how to make videogames. I looked up the process of how games are made – Design Documents, Graphics Engine, Vector Algebra, Programming! – these words were extremely intimidating for 12 year old me. I googled ‘How hard is it to learn programming’. The results came up, ‘It will take you years to learn programming‘, ‘It needs hard work and dedication‘. The first thing that came to mind was that I was wayyy in over my head, but for some reason I decided to continue. I learned some C++ by reading Bjarne Stroustrup’s book on the topic and slowly I created simple command line programs that would ask your name and reply by saying ‘Hey! {name} Nice to meet you!’, which in my mind was pretty cool back then.

Move forward 4.5 years to Today, September 25th. I still love programming, making fun things, messing around etc. Reflecting on the past, I don’t feel my journey in learning programming was filled with trials and tribulations. I’m in no way making the assumption that learning has ended for me, on the contrary! I’ve learned enough to know what I can/should learn further. There were times where I had to spend an hour or two understanding a concept that seems amazingly simple now, but it wasn’t hard. I think people often misuse the word ‘hard ‘. I only use the word hard for things that even through practice and effort, I have managed to mess up.

What I’m trying to say is that when you look at some type of commitment you have to make (in this case, spending time learning how to code), your mind concentrates all the effort it will take into a small space/blob/time/thing. This is where apprehension comes in. You feel that your life would be consumed by the thing you’re trying to learn, but often learning/doing that thing is often a small part of life. You’ll still have conversations with people, you’ll still go to parties, etc. Through these small learning sessions, over time you will gain a deeper understanding.

I fail to understand why people are constantly in a rush to learn new things i.e. TEACH YOURSELF HOW TO PROGRAM IN 7 DAYS!
You cannot learn without putting in the effort. There is no magic weight loss diet that allows you to eat all the cakes you desire. There is no workout program that will increase your bench press by 100 pounds in two weeks. I call this Natural Justice. Nature has a way of shitting on your miraculous ideas and short-cut schemes and I love it for this. Want to build a machine that would provide unlimited energy? Nope, can’t do that according to thermodynamics.

Q. So far I’ve explained the ‘It’s not as hard as you think it is‘ portion of this post, but what about the ‘(until it is)‘ portion?
A. So you’ve learned the thing you wanted to learn. It’s been an arduous journey, but you finally finished. Now comes the easy part right? Umm.. No. The easy part is over, now comes the hard part i.e. Application and Invention. Once you learn something, you build a base upon which you research is going to be tested against. You have to apply yourself and figure out different ways things can be done that within certain constraints.

In the context of programming, once you learn the syntax, functions, classes, project structure then next phase of learning begins. While you apply your knowledge to build real world applications, you will face obstacles. Oh? The Cross-Origin Resource Sharing header prevents me from getting JSON data from the web server, how do I solve that? Oh? This function I’m trying to run is blocking the UI thread making the program non-responsive. Oh? Our servers are incapable of scaling based on the amount of traffic and are getting overwhelmed. As a programmer, you’ll learn different strategies to combat these and if you’re the lucky enough to be the first person to face these issues, you’ll have to think of a solution on your own.

TL:DR; Things worth learning take time. Chill out, you’ll get there eventually. When you get there, you’ll realize you’ve only just started.

Other Stuff


AryanMann Written by: