Learning to Code is NOT Easy


One year ago I quit my job in Economic Consulting to start an ed-tech company as a non-technical co-founder.  Some of the messaging I hear frequently in the community just simply doesn’t mesh with my experience from teaching myself to code.  I frequently hear phrases like “coding is simple” or “it’s as easy as learning your A, B, C’s or counting from 1 to 100“.  While this may be true about the most basic concepts of programming, when was the last time someone asked you to recite your ABC’s or count to 100 in a job interview?

I’ve completed about every tutorial, course, exercise or coding MOOC that you could name and there is one common trend among them; they’re almost all easy.  While it is so very important at the earliest stages of learning that you feel success so you can remain motivated to continue learning, most of the popular resources are largely overlapping in material and of decreasing marginal utility if you’re seeking to become an expert of anything but the basics.  Learning to code at a level that is materially useful and rewarding is most certainly not easy;  if it were, we’d have a lot easier time finding and hiring great web developers.

There is a huge need for more intermediate and advanced resources to help learners move beyond their programing “abc’s” and into the becoming makers.  IMO, this is why there is such a huge demand for intensive training programs like Dev Bootcamp, The Starter League and Hack Reactor (formerly Catalyst Class).  This bullet point from Hack Reactor’s site perfectly sums up my experience that lead me to join the class.

“Learning to code on your own is a maze of overlapping programming tutorials and books. We have an expertly designed, project-based curriculum to teach you what you need to know as efficiently as humanly possible.”

3 weeks into the program, I have absolutely no buyers remorse (which I have felt 3 weeks into part-time long-form courses). I’ve been able to get the structure, support and help I’ve needed to get myself unstuck (there is a no-grinding policy) and back to focusing my limited time and energy on the things that will move me away from tutorials and the basics and into making and building awesome stuff.

I’ve had my moments in the past year that I’ve been so frustrated with what feels like a lack of progress that I’ve wanted to throw in the towel, but the satisfaction I feel in my little victories after I’ve built an awesome script, app or feature is among some of the most rewarding things I’ve felt in my academic and professional experience.  Rome was not built in a day, but building 12-14 hours a day 6 days a week with amazing instructors can certainly speed up the process.

About these ads


  1. As you continue to learn to code, you’ll realize that it’s not so much about coding as it is about problem solving. You’ve already learned a great principle that is requisite for problem solving, never give up. As engineers, giving up is not an option. Things will continue to be challenging, but the feeling you get upon overcoming the challenge is rewarding, as you’ve pointed out.

    Coding in and of itself isn’t the challenging part, it’s how to become an effective, relentless problem solver that tests your resolve. Just keep hanging in there, it only takes roughly 10,000 hours to become an expert.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s