Learning to Code
A lot of people have been asking recently, “How do I get into coding?” We happen to really, really love coding and are happy to share what we know. We realize that everyone’s journey is different and emphasize that there certainly is no silver bullet that guarantees success. With that in mind, we assembled some tips to help you on your way.
The most common starting point is using tutorials like these, which are great resources whether you’re knew to coding or want to broaden your horizons.
Here are a number of tutorials, getting started guides, and helps that can get you started:
Getting Started – Built for Kids
- Code.org – Their Hour of Code tutorial is the perfect starting point
- Scratch – Beginner level, but you can do a lot
- Tynker
- Khan Academy – Also great for math
- Codecademy
Ruby on Rails– A Great Beginning Language/Framework
- Michael Hartl’s Rails Tutorial
- Railscasts <3
- Why’s Guide to Ruby
- Ruby on Rails Guides
- Rails for Zombies
- Rails 4 for Zombies
- Ruby Monk
- One Month Rails
Python
- Introduction to Computing and Programming in Python: A Multimedia Approach
- Think Python
- Beginner’s Guide
- Tutorial
.NET
Grab Bag
- W3Schools – Great tutorials and resources. Let’s write valid HTML everybody!
- Coursera
- MIT OpenCourseware
- Ray Wenderlich
- Treehouse – You have to pay for it 🙁
- Learn You a Haskell
- Learn You Some Erlang
- LearnStreet – Also includes an online version of Java for Dummies, which was the first coding book I read.
- Bootstrap – Make designing responsive/mobile sites easy
- Coding 101 – A podcast for beginning and intermediate programmers.
That’s the easy part. How do you go from tutorials to the workforce?
You need experience. Like many employers, experience is always high on our hiring list.
Here are some thoughts on how to get it:
- Build stuff for yourself
- Build little web apps, JavaScript stuff, etc. Post them on GitHub. I built a flower page in JS for my fiancée, an NCAA tournament predictor in a language I’d never used, and a jQuery plugin that inserts a random “awesome” synonym. Nothing terribly impressive, but I learned a lot from each.
- Events like Beer && Code, Users groups, and meet-ups can be helpful to team up on some projects with passionate experts. I’m sure there are another at least another 25 meet-ups like this in town.
- Build stuff for others
- Talk to a friend that owns an auto shop or laundromat and offer to host their website. Even if it’s just a customized WordPress install that you through some widgets on, it’s a start. See if you can use your skillz to solve a problem for them. That’s what we do.
- Go to your favorite parent, tiny business, or nonprofit. What do they need? Maybe they just need “a program that takes the numbers from this file and puts them in the other one”. See if they’ll let you take a crack at that. I gained a lot of experience (and some cash) when I was young by writing programs and fixing computers.
- Contribute
- Find your favorite open-source project and make it better. You don’t have to completely re-architect Apache; fix that tiny bug that annoys you most.
- Check with your manager
- It’s very common folks to move from support to development. Some of our best developers did just that. See if there’s a way you can start to make that transition. Even if you don’t want to stay at your current company forever, having a year of development experience under your belt there will go a long, long way.
The code and experience you’ve accumulated over time will be one of your best tools in a job search. Point people to your GitHub profile, sites you’ve built and maintained, and happy customers.
Want to really learn quickly? Teach. Teach your friends, teach your parents, teach kids with us. Teaching forces you to really understand. Questions will always make you think twice.
In the end, anyone learning is a win. Learning technology is a double win. If we can help out, great. If you have other suggestions, please leave a comment.
Good luck with the learnings!
Thanks to NateF, Lane, Shane, Josh, Megan, Rees, Bryan, Jordan, Dalton, Matt, Byron, Cassey, and everyone else that helped me bring together these great resources.