The wrong question: “I want to learn to code, what should I do?”

If you want to learn to code and build stuff and you’re starting by asking someone else what you should do, you’re already thinking about it the wrong way. Immediately, right now, with no preparation, in the blink of an eye, you can take a huge step toward your goal by realizing that you don’t need an answer to your question. You can do it all by yourself. Everything you need is waiting for you. Go get it. No one can stop you. Ready?

Go to Google and start asking questions. You want to make a webpage? Ask. You want to know what the different coding languages are and which you should learn? Ask. You’ve started building stuff, and now you want to know how to add a border, change the color, add a form, fix an error, install software, host a website? Ask. The answer to every question is out there. Engineers know that better than anyone. Even the best engineers ask Google questions all the time. The biggest difference between you and an engineer is the mindset.

After you have the right mindset, here is how the execution will go:

You start asking Google questions, which leads you to all sorts of resources on StackExchange and Quora and a million blogs and other websites. You find twelve tutorials on HTML and nine on CSS, and you bounce around between them to find the best ones. You do several of them, including some of these and these. You download a free text editor, maybe Eclipse, or you find one already waiting on your computer. You make a couple simple web pages, and while doing that, you realize that every answer really is on the internet.

You want to add cool features to your website. Google tells you how to make a button change colors when your mouse hovers over it. You realize the power of CSS and you start watching these videos. You want to click on your color-changing button and have part of the page change without going to a completely new page, so you ask Google and realize you should learn the basics of Javascript and jQuery. You find tutorials and you can soon write simple code that produces magical results.

You want to supplement your solitary learning with human contact so you join the community by following the blogs and Twitters of designers and engineers, and going to Meetups.

You buy a Mac because you’re embarrassed that you ever used anything else. You continue to build momentum, and you start researching engineering jobs. You realize that your front end skills are coming along, but you want to be the complete package, so you figure out that Ruby on Rails is the way to go, you find this, this, and this, and you watch these, and you learn it!

You’re now building stuff and you are completely confident that anything you want to do, you can figure it out without having to ask someone. And no one can stop you!

You’re so grateful for all the resources that are available for free that you want to contribute, so you start your own blog about building websites, you Tweet about it, and you put your code on Github for everyone to use and learn from.

You’re done.

This difference in mindset of “Who is going to stop me?” versus “How do I do that?” applies to learning and life in so many ways. Get in the mindset that you can do it yourself, whatever it is, if you just dedicate yourself to doing it. You’ll be shocked by how much you can learn and how far you’ll get. That mindset separates people who do from people who don’t.

"Leaders are not, as we are often led to think, people who go along with huge crowds following them. Leaders are people who go their own way without caring, or even looking to see, whether anyone is following them. ‘Leadership qualities’ are not the qualities that enable people to attract followers, but those that enable them to do without them. They include, at the very least, courage, endurance, patience, humor, flexibility, resourcefulness, stubbornness, a keen sense of reality, and the ability to keep a cool and clear head, even when things are going badly. True leaders, in short, do not make people into followers, but into other leaders."
- John Holt*

In conclusion, to answer your question: “I want to learn to code, what do I do?”

Learn to code.