I’ve recently given notice at my job (to move to the Bay Area), and the process of wrapping up in New York has given me the chance to reflect on a lot of skills I’ve learned in the past few years. One thing that’s been really amazing is learning how to code, which has changed the job that I’m doing now as well as my career trajectory.
With the proliferation of MOOCs (Massive Open Online Courses), it’s remarkable how easy it has become for people (students and the rest of us) to learn things on their own. In my case, I’ve gone from a base of zero to creating a new job in about two years, all through web-based tools.
Recommendations for beginners
My first suggestion for anyone with no coding background is to take a basic intro class online. Udacity is a for-profit MOOC platform that offers a great Intro to Computer Science course. They’ve been tinkering with their business model, but as of now, they offer a free two-week trial for any course. Each course comes with a coach, and you get a certificate if you complete the final project. At $150 per month, it’s a little pricey, but even if you “quit,” you still get all the lectures and quizzes. I really can’t recommend their Intro CS class too much. David Evans is excellent at explaining new concepts, and the lessons progress at reasonable pace. Two years after finishing it, I still come back to refresh myself on some concepts.
From there, you’ll need some practice with the syntax of whatever language you want to learn. Currently, Codecademy is the champion for bite-size lessons on a variety of languages. It’s (so far) totally free, and some of the lessons can take just a few minutes. What I really liked about Codecademy was that the site is relentlessly positive, and that the courses progress in very small steps. If you only have ten minutes, you can finish a lesson, get practice in a new language, and get positive feedback.
Once you have some of the basics, you’ll want to move on to more specific material. I’ve been focusing on data analysis and visualization. Last month, I completed Udacity’s Data Analysis with R and started on Data Wrangling with MongoDB.
Right now, I’m taking Coursera’s Introduction to Data Science course. Coursera is fairly different from Udacity. While they both offer lectures with regular quizzes, Coursera’s classes normally start and end on specific dates, and certified completion requires longer, more in-depth assignments. The Intro to Data Science course, for example, involves a fair amount of writing Python code, which I then need to upload to have a grader check. It’s a lot of work for someone with a full-time job, but being able to do the lectures and quizzes whenever I want is a real advantage over a traditional course.
Over the next year, I’ll keep exploring coding subjects that I’m interested in and posting here what I’ve learned. I expect that online materials will only improve, so it should be exciting to see what I can learn.