Start today — learn to code

You’ve read the posts, you’ve silenced the haters, and you’re ready to jump into code. There are thousands of online and in-person resources to help you get started. A lot of people don’t know where to begin — and there’s no right or wrong starting point — but here’s an overview of what worked for me.

Dedicate time and pay money.
If this is something you really want to do, you have to feel invested in it. If you dedicate time usually set aside for something else and you pay money for it, you’ll feel the need to actually follow through. People often say, “Well, can’t you just learn to code online for free?” Yes, you can. But have you done it yet? Free isn’t always good.

Look for an in-person class to take.
Learning from online tutorials and books was hard for me. It felt like each one assumed I knew about a certain amount, when in reality I knew absolutely nothing. So, finding an in-person class that I was invested in was the best solution for me.
– General Assembly has basic HTML/CSS classes that run in the evenings in a number of cities. GA also offers paid live-streams if you can’t attend in person.
– Check SkillShare offerings in your city. If there isn’t anything, once you learn, you can teach a class and fill that void.
– Starter League in Chicago has a number of intensive code courses.
– Dev Bootcamp is another intensive program currently in San Francisco and opening in Chicago in April.
– Check your local colleges. Often community colleges or technical schools will offer coding classes.

Do an online program.
If you can’t find an in-person program, or you learn fine by yourself through videos and tutorials, try one of these online programs.
– Treehouse
– Code Academy
– Code School
– TutsPlus has a wide range of courses and bite-sized tutorials that will only take you an hour or two.

Get a GitHub profile.GitHub is a place to store all of your code, keep track of previous versions, and interact with other coders. Here’s a great guide to getting started with GitHub.

Start with HTML and CSS.
HTML and CSS are the building blocks of the web. HTML is the language used to describe the structure of web sites and CSS is the style that is applied. They’re pretty intuitive. Play around with ScratchPad to see — in real time — what changing the code does.

Add interactivity with JavaScript.
JavaScript takes your static HTML/CSS and brings it to life. You can build full web applications in JavaScript, as well as add motion, transitions, and interactivity to your site. Treehouse and Code Academy both have fantastic courses on JavaScript. Once you master the basics, learn jQuery, which is a js library designed to simplify your life.

Get into APIs.
Most major web apps you’re familiar with — Facebook, Twitter, Instagram, etc. — have APIs (application programming interface) that help you interact with them to build powerful applications. Code Academy has a great course on APIs where you’ll build a search engine for YouTube or SoundCloud, send texts with Twilio, or accept credit card payments with Stripe.

Add a backend.
Having a solid understanding of HTML/CSS and JavaScript is gold, but if you’re hooked, jump into the backend to build really powerful applications. Start with a language like Ruby, Python or PHP.
– Learn Code The Hard Way is a great resources to get going.
– Code Academy has a really thorough Ruby course.

Go to hackathons.
Even if you’re intimidated — actually, especially if you’re intimidated — go to a hackathon. There’s Red Bull, ridiculous ideas, sweat, and code. Hackathons are filled with talented coders who want nothing more than to geek out with you. Join a team for a weekend and build something. It’s a great feeling and you’ll meet some awesome coders who you can learn from.
There’s a great hackathon meetup group you can join and be notified about hackathons in your area.

If you ever get stuck …
Chances are someone’s been there before and the answer is on Stack Overflow.