If you are planning to pick up a new skill in 2015, computer programming might be a good pick. Why? Because as a coder you have the opportunity to attract a new rewarding career, new business opportunities or just the self satisfaction of geeking-out after creating something awesome!
Learning to program isn’t as hard as it used to be. The modern programming languages has become much easier to grasp by non-programmers as the programming language is closely matched with english and also the syntax is more forgiving. (Remember the days when you had to put a ; semicolon after every line of code, annoying!)
However the syntax are still very different for many of these languages (some are easier and some are harder) so you need to study them and see what suites you the best. Whatever language you choose, you need to 100% focus on the language to learn, study its syntax and the basics of programming so that you can code something up easily.
Choosing the Right Programming Language to Learn
There is no one programming language that is better than the other. If you can learn one then it’s fairly easy to pick up another. So instead of wasting time in researching too much into which language to learn, focus on what your end goal is. For instance, If you end goal is to create a mobile app for iOS/Android you should learn Swift or Java. If you are more into creating web sites, like this blog for instance – your best bet is HTML/CSS & PHP/MYSQL. If your plan is to create a more advanced web application, you may go with Ruby on Rails, Python, Microsoft’s .NET etc.
Some Resources on What Language to Learn:
15 programming languages you need to know in 2015 – Mashable
Here are the Highest-Paying Programming Languages – Tech.co
9 Apps Built by Self-Taught Coders – Mashable
What is the best programming language for Startups – Quora
Five Best Programming Languages for First-Time Learners – Lifehacker
How Much Time Do I need to Learn to Code?
Typically you can pick up a programming language in 6-8 weeks. You may need more time depending on how complex/in-depth knowledge you want to acquire. Ultimately it’s all about practice, practice & practice! If you can go into a total immersion you may even learn it much faster. You can refer to the philosophy of 80/20 rule – Learn 20% of the most important things that will give you 80% of the results. Also breaking down a big thing into smaller chunks often helps to grasp any concept fast. To learn these fast learning hacks read – 4 Hour Chef by Tim Ferriss & First 20 Hours by Josh Kaufman.
9 Awesome Online Resource for Learning to Code
Below I have hand picked 9 Resources for you that can make your journey of learning to code freakishly simple. All you need now is your determination, focus & commitment to learn a programming language and I can assure you that following any of these resource can make you a decent coder in no time.
Lynda is one of the oldest player in Online education that offers thousands of courses in software, creative & business skills. They have a rich database of courses which covers almost all major programming languages.
1. All-you-can consume buffet of courses.
2. Membership starts at $25/month and you can access any course you want.
3. They have mobile apps with offline viewing capability. Meaning you can watch it on the go, even when you don’t have internet connectivity. (So you have absolutely no excuse to not Learn)
4. Well produced videos, good quality video & sound.
5. Upon completing a course, you can generate a nice looking PDF Certificate for print.
6. Course Delivery: via Videos, Transcription (Text).
1. If you want their practices files, example codes you need to sign up for their premium package of $35/month.
2. Sometimes their courses can be pretty basic. They give you a starting point but doesn’t go in depth of many of these concepts.
3. No Interactivity, exam, quiz etc.
Sign up: Free 10 day trial of Lynda.com
Teamtreehouse often referred to as just Treehouse is relatively new in this space. However they probably has the best quality courses on programming that you will find online. Their videos are very professionally produced and the course instructors have crafted the curriculum in such a way that as a student you can follow a “Track” which consists of multiple courses to get you from a zero to a hero in any programming language. I am a bit biased towards them as I’m a Treehouse student myself.
1. Best quality video production. Excellent curriculum.
2. Membership starts at $25/month with Unlimited Access.
3. Ability to pause membership when you are busy and can’t commit to their program. – This is a huge benefit.
4. They have interactive quiz and code challenge system. So you will be assessed automatically on your progress.
5. Course delivery: Video, Text, Interactive Quiz/Code Challenge.
1. Their courses are in depth and long. And often times, I have noticed that the instructor assumes you are a complete noob thus tries to over simplify thing with fancy animation, graphics, examples etc. Why is this a con? Well its not if you are just starting out. However, if you are not a new programmer it may get annoying sometimes.
2. They have gamified learning with fancy badges, code challenges etc. In one sense it’s pretty good, especially if you are starting out. However the regular interruption with code challenge/quizzes often gets annoying. Sometimes you may just want to watch something quickly and get over with it. At treehouse, the videos are broken down into very small pieces of 4-8 mins and in between they will include a quiz or code challenge.
Sign up: Free 14 day trial of TeamTreehouse
Codeacademy is an interactive learning platform that offers coding classes for FREE. Oh boy, did i just say Free? Yes absolutely free! The only catch? Their platform is fully interactive. So there are no video tutorials. You basically learn by doing and get instant feedback. I find codecademy an excellent starting point for any new programmer. Its an excellent way to learn the syntax of a language as well.
1. 100% Free resource to learn Programming.
2. Fully Interactive platform.
3. Assessment, Exercises, Feedback.
4. There is a codecademy mobile app for IOS Users.
1. No video Tutorials. You can only learn by doing.
2. No love for Android users.
3. Limited number of courses available. They still haven’t touched many of the mobile programming languages.
Code4Startup has a great project-driven approach of learning to code, created by a Ruby developer Leo Trieu who is currently based in Melbourne. He currently juggles this along with his day job and family. But I can tell that he is doing a pretty decent job so far. His project-driven approach to learning to code is pretty interesting, basically you get to remake/clone popular internet sites as you learn your way to becoming a developer.
1. Basic courses are free and currently they have only one PRO course that costs $99.
2. Project-driven learning.
3. Course Delivery: Video.
1. As Leo Trieu writes on the site, English is not his first language. So sometimes you may find it difficult to understand him. But for me It was never a problem. He is a champ!
2. He currently focuses on the technologies that he likes or knows. He is the only instructor. Thus if you are looking for a wide variety of courses you may have to look elsewhere.
Udacity is a very serious contender in the online video based training space. They have partnered with many tech companies like Facebook, Google, MangoDB to build courses on Udacity platform. Their programs can be closely compared with courses conducted by Universities as most of the times you will need to sit for an exam to get certified. The courses can run for 6-12 months depending on your schedule. They also offer short courses on many topics which are available for free on their site.
1. They offer certification that are recognized by most tech companies.
2. Their courses are very much in depth and covers a wide range of technologies.
1. The programs can cost you some money $200/month for their nanodegree
Udemy is a platform where you can go and learn from anyone who has something to teach. If you do a quick search, you can find a lot of paid courses on the programming language you wish to learn.
1. No Monthly Subscription – You buy the course once and it’s forever yours.
2. Lots of discount codes available online. Never pay full price for a Udemy course. Just look around online and you will find a code that may give you upto 90-97% off! So a $199-$299 course may end up costing you 10 bucks!
1. No moderation of quality. The videos are produced by the Instructor themselves, not udemy. So you will need to go over the course description, syllabus and review before you decide to enroll.
2. Often times, the intro/marketing video of the course is very well produced and promises a lot of things. But the actual course can be disappointing and not upto the standard of other resources available. I suggest you take a “Free Preview” of the course and watch a video from the bottom of the syllabus to understand the teaching style, speech, clarity and video quality.
Skillshare has a similar model as udemy, however instead of charging per course they let you access all courses for a flat fee of $10/month. Many of the courses are published by Independent instructors but there are some courses where Skillshare has taken charge of the production.
1. Very affordable price point at $10/month.
2. Most videos are of good quality and I believe Skillshare takes an active interest in the quality of courses being produced. since its a membership business model.
1. I often see that the courses being offered are basic and not in depth.
2. The courses are not exclusive to the platform. Sometimes you may find the same course elsewhere.
3. Not a lot of variety when it comes to programming language.
Codeschool is similar to TeamTreehouse. They have gamified the learning experience with badges and achievements. The site believes in ‘learning by doing’ approach. Currently they offer various paths of courses for IOS, Ruby, Web development etc.
1. Offers a Free account that lets you take their 10 introductory courses.
2. Interactive platform with various forms of content: Video, Audio, Text, Quiz, Code Writer etc.
3. Monthly subscription starts at only $29/month
1. They don’t update their course library as often as they should. Technology changes fast and sometimes I feel that codeschool is a little behind. For example their IOS course is still stuck with Objective C and IOS 7 where as everyone has moved on with Apple’s new language – Swift and IOS 8.
I frankly didn’t know them up until i started writing this piece. But they seem to have a lot of courses/tracks on programming. Basically the site is free as the courses are mostly curated from places like Youtube and other sites. But overall the site is pretty well made and I would definitely like to give them a try,
Signup: Get going wit Bento at bento.io
Other Resources on Learning to Code:
– Digital Inspiration has an excellent compilation of sites and books by programming language. Do check it out!
– There is a great thread on quora titled: “What are the best resources (sites, books or tutorials) for learning programming?” with over 149 answers from the community.
– Hacker.io is a great site where users contribute free programming tutorials that they find online. The videos are all categorized, so all you need to do is click your programming category and you will find a lot of tutorials from youtube and other video sharing sites.
– iTunes University offers a lot of Free programming courses which are basically videotaped lecturers from top universities like Stanford, MIT and bunch more. Download the iTunes University app on your phone and do a search for the language you wish to learn. If you are on a PC/Mac, you can also view iTunesU from your itunes.
IMPORTANT: Question for you!
Hopefully I have served my purpose of helping you find a good resource for learning to code.
– If you want to learn programming but can’t start to learn despite of all these awesome resources provided, write in the comments why and I will try to help you out :).
– Did I miss out a great resource that you are a fan of? Let me know in the comments!
– Are you a self taught programmer who have built something cool? Drop me a line and I would want to speak to you!
– Share this article with everyone you know so that they get a chance to learn to code as well!
Note: I’m working on our commenting system. So for now put your comments on twitter by tagging our twitter account @techblokedotcom.