There Is No Overnight Success In Coding

Popular tech sites like Techcrunch and Hacker News and other popular media are filled with stories of young geniuses who build something in a weekend and/or raise a ton of VC funding and/or sell their startup to Google or Facebook for millions of dollars. Just yesterday, I was reading a story about a 16 year old who created a viral iPhone app while also doing well in school and playing sports. The media, of course, always skips or minimizes the part in the story where the “genius” worked really really hard to be where he/she is today.

This type of consistent media coverage of only extremely successful geniuses and their products makes it really hard for someone with no prior computer science experience to feel like going through the pain of learning to code is worth it. After all, you’re never going to be as good as the 18-year-old MIT-dropout who is building the next Facebook and is succeeding.

And even if you can overcome the obstacle of being ok with the fact that you’re not going to be as good as the geniuses in the media and decide to learn to code anyway, you’re going to be faced with a very intimidating community of hackers who have very little tolerance for beginners. Just check out the comments on Hacker News. Even Paul Graham thinks Hacker News new-comers are dumb.

I think the key to getting more people to learn to code is taking out the intimidation factor from the hacker culture. This tactic actually worked amazingly well at Harvey Mudd. By restructuring their CS Program to have a beginner-friendly track, Harvey Mudd’s CS Program now consists of 40% women!

It took me a while to overcome the above obstacles (I did it with the help of a supportive hacker friend), and I’m really glad that I started learning. And now that I am learning (and loving it), I know that there is so much more to learn, and it is very intimidating to know that I can’t learn EVERYTHING right way. For web development, for example, I need to know HTML, CSS, Javascript, Ruby on Rails, how to configure servers, how to configure a database, and I’m sure that’s just the icing (there is also little things to know like how to use the Terminal command line effectively and how to store your code on  Github).

I now think of learning to code as more of a lifetime task that I will never complete. Meanwhile, I can use what I already know to work with others on different projects, and maybe one day, I’ll know enough to build something of my own.

Enjoy the article? Join over 20,000+ Swift developers and enthusiasts who get my weekly updates.