Learning to code is a serious endeavor and takes a tremendous amount of dedication and practice. Yet, anyone who is truly motivated can learn to program. So, what's the secret that people who learn to code know that people who fail to learn to code don’t know?
Photo by 1871.
Since the entire premise of my tech education company is that anyone can learn to code, we can reasonably eliminate such possibilities as needing to have a natural affinity for all things technical, be a mythical super-genius, get a superb education, or have started the learning process at age four. That brings us to the bottom line: motivation.
That doesn’t completely answer our question, because there are plenty of motivated people who try to learn to code but ultimately fail. So where do they go wrong? What's the secret that successful people know?
The key to learning to code is to just go out and build what it is that you want to create. (That's why our bootcamp program has each developer-in-training create her or his own Capstone project - a web app built from scratch that does anything the developer wants.) If you want to learn computer programming, it’s most probably because you already have an idea of what you’d like to build, but don’t have someone (reliable) who can build it. So you want to do it yourself - and you should!
But then, some aspiring coders proceed to build all sorts of other projects in order to ‘level up’ to the point where they can finally create the project of their dreams.
This is a subtle - but costly - mistake, because it’s easy to quit the learning process when you’re building something that is only half-interesting to you. Don’t be afraid to create the project that motivated you to learn to code in the first place! Don’t worry that your project will have been started by a novice (you!). You can always come back and improve things with every piece of knowledge you accumulate.
You’ll find that when you're building something you're truly interested in, anytime you encounter a problem, you’ll be motivated to do the necessary research to get over that hurdle because a solution means you can keep moving forward with your project. Conquering each setback will allow you to 'level up' at a surprisingly quick pace. If you were building some tic-tac-toe game (and didn’t really want to) and encountered an obstacle, you might not find the sufficient willpower to solve the problem and continue to make strides in your learning.
Several years ago, when I first began mentoring others to learn coding (before founding ACLTC), I had planned to have my students work on a project that was easy to understand, with features that were unambiguous and wouldn’t require a lot of explaining. So I decided that my students would each build a blog. A blog is simple. It has authors, posts, comments, and tags; all the perfect ingredients for being able to explain database design and all other sorts of good stuff. Great! I thought.
I proposed this idea to my very first student. He turned to me and said, “Um, is it okay if we build the project I had in mind, instead?” At that point I had a "duh" moment and couldn’t believe I didn’t think of that in the first place. Of course he should build what he had in mind! That would be the most motivating project of all, and would ensure that he remained dedicated to the project (and therefore to his coding education).
So go ahead and build your dream project - today. You’ll start with baby steps, but as you find you need to know how to create each additional feature, you’ll do what you can to find the answers, gain the knowledge and skill you need, and eventually become a real builder.
-Jay Wengrow, Founder of Anyone Can Learn To Code