Even if you're not working in a purely tech role, programming skills are a valuable career asset. The more you can do, the more opportunities you will have, both in your current job and with prospective employers. If you're out of work or underemployed, these types of courses can help fill in resume gaps, as well as giving you new expertise.
You don't have to spend a lot on class fees and tuition. There are many free and low-cost courses you can take to get started if you are a beginner who is just getting started or an expert who wants to add to their portfolio.
Whether you have no programming experience at all, or you're an expert in multiple languages, there's a wealth of quality materials online that are made especially for you – some for free, and some for a small monthly subscription.
These sites tend to cater to a very specific audience – whether it's the level of programmer or language covered, or they're marketing to a more "youthful" audience. When you're looking for an online training course that fits your needs, consider these factors:
Price: You won't be paying much. In fact, free is great, and certainly possible to find. But if you give yourself a budget of $30/month for the courses, your options will multiply.
Prestige: Before you dedicate an evening to a new language, consider the source. Many of the online training classes have ties with respected universities (or even NASA), or ties with companies and agencies that can consider you once you've completed the courses.
Purpose: Does the site specialize in what you're interested in learning, or is it more of a clearinghouse of technocentric training material? Look around – if you're interested in learning Ruby and you find someone who puts bread on their table by teaching only that language, you've found your starting point.
Process: What is your learning experience going to be like? Will you be watching hours of videos, or will there be quizzes, activities, and evaluations to help you practice as you go? Look for a site that has a useful, active forum that will help you if you get stuck.
Recommended Training Courses
Coursera: With connections to 35 different educational facilities and universities, this free site offers a great variety of courses, each rich with quizzes, documentation, syllabi, and the like, as well as a killer forum. Targeted to all levels of learning.
edX: The home of university-level courses from MIT, Harvard, and Berkeley – all at no charge. Classes are limited, and offered with a set beginning and ending schedule. Those with at least some programming experience will be most comfortable.
Google Code University: A broad-brush approach to learning, with free videos covering many programming and markup languages, as well as related topics, and is best suited to those with at least some programming experience. Think: YouTube with quality control.
Lynda: Around since 1995, this website sports more than 140 instructors and hundreds of short, high-quality videos on programming and all things technological. With subscriptions starting at $25/month, the courses are best suited to those hoping to hone an existing skillset.
Rails For Zombies: This is a great place for beginners to "sink their teeth" into Ruby at no cost. With a wide variety of quirky videos, downloadable presentations, and a browser-based tool to help you experiment with code, it's sure to please.
Treehouse: With agreements in place with Facebook and other companies, this is a great place to train yourself in a new skill, then get hired doing it! For $29/month, beginners can cut their teeth in IOS, Android development, starting a company, and more. Hundreds of short, amusing videos, and badges to reward you for your accomplishments as you go.
Udacity Free and provided to you from instructors with a background in Google, Stanford University, and NASA, this site provides 14 high-quality courses for those interested in learning Python. The lessons are rich with tests, quizzes, and activities, and the site has an active forum where questions can be asked and answered. The site is targeted for beginners, but is best for intermediate users.