20 Ways To Learn How To Code

20 Ways To Learn How To Code

Rosie Allabarton

So you’re thinking about learning to code. You’ve heard rumours of Swift in late-night cafes, your friends are whispering about Node.js and for weeks you’ve been wondering who Ruby is and how you can meet her. The only thing you’re sure of is that you’re missing out on something huge. Right now it seems everybody is getting in on programming and you’re the only one who thinks CSS is a new American cop show.

Luckily for you there’s a growing list of schools and online tutorials out there to help you get in with the tech kids. They won’t provide you with the required tortoiseshell-framed specs or obligatory fixed-gear bike, but they will get you coding and impressing your mates with your multilingual knowledge.

But how do you find out which way is the right way for you?

We’ll get onto that in a minute, but first why get into programming in the first place? We’ve talked on this blog many times before about why learning to code is such a good idea right now, namely the huge tech skills gap facing every single industry worldwide and the opportunity that this gap presents to those with the right knowledge and tech skills.

If you choose to do it freelance, you could pick and choose your own clients, handle exciting, creative projects, and work as and when you want to. Sounds pretty great, right?

Becoming A Web Developer

So, what are your options? It will come as no surprise that here at CareerFoundry we can highly recommend our own **Web Development program. **

Students on our Web Development Course learn front and back end web development from an expert in the field, helping them kick-start a tech career upon completion. As a student you can have your daily assignments reviewed, ask as many questions as you want, and meet with mentors weekly via Skype for a fully immersive experience.

Enrollment grants immediate access to our bespoke course materials, and you’ll be connected with your mentor within 24 hours. At only 10-15 hours a week, learning with us is very personalized, flexible and can fit around your other commitments, it is a great combination of the offline taught programs and the online content tutorials.

What other choices, both online and offline are out there for complete beginners, or experienced developers hoping to level up their skillset?

Before you start looking, you need to ask yourself some questions:

  1. Are you someone that would rather study with a mentor, or alone? (i.e. are you able to motivate yourself? If you’re the sort of person who leaves the washing up until the night before your mother-in-law comes to visit, then you may need a more personalized approach to your learning.)

  2. Would you be able to pay to study, or are you looking for free resources? If you are willing to pay, what’s your budget? And how long do you want to be studying for? Can you only study part-time or is fulltime an option for you?

  3. Are you comfortable studying solely online? Or are you someone who would rather be in a classroom environment? Would you enjoy a mixture of the two? How important is your student network to you?

  4. And when you’ve finished studying, what do you hope to get out of it? Connections to a job or network? Or are you simply learning for fun?

In this list we’ve put together the 20 best places you can learn to code and what each one of them can offer you, including price, availability, style of learning and skill level. Soon you’ll be joining in those conversations about Python without even mentioning Uncle Terry’s reptile collection.

1. Codecademy

Codecademy offers free coding classes in six different programming languages, Python, jQuery, PHP, Ruby, HTML and CSS. With its students including the mayor of NYC, Michael Bloomberg, Codecademy made a name for itself with its Code Year that drew in a large portion of its one million users.

  • Positives: Throws you in at the deep-end doing code with their ‘console’ approach from the start. Great for beginners who can see straight away what coding would be like as a professional.
  • Negatives: Lessons can be a little bit on the fast side for an actual beginner. And, while being able to ‘do code’ from the start is a great motivation for newbies, for those hoping to make a career in programming some extra theory and background in coding would definitely be advantageous. There is a support network of students and the CA team, but hands on guidance is tough to come by.

Online, free, no mentor

Skill level: Beginner/intermediate

  1. Codeschool

Codeschool teaches both existing and aspiring developers by pairing instructors with high quality content. Coding classes are accessible through the use of screencasts and video tutorials, and cover Ruby, Javascript, iOS, HTML/CSS. User-friendly interfaces and interesting storylines abound. Although a lot of the content is aimed at more experienced coders, the plus for beginners is that a lot of the less-advanced materials are available for free.

  • Positives: Great for web developers hoping to expand their skillsets, attractive design.
  • Negatives: It might be off-putting for beginners as many of the courses are aimed at more accomplished coders.

Online, free and paid options, no mentor

Skill level: Beginner/ intermediate

3. Coursera

Coursera provides users with a totally free database of MOOCS (massive open online courses) often from accredited universities. MOOCs are available to students, or interested parties, as video lectures on a variety of topics included all facets of programming. The benefits of these online courses are the availability and the variety: you can find a lecture on practically anything you want to learn and start your course whenever you want. The disadvantage is the lack of one-to-one learning, and studies have shown that when the student is solely responsible for his or her own learning completion rates are significantly lower and students quickly become demotivated. However MOOCs can be a great way to “look around” a subject before investing in another more personalized form of learning.

  • Positives: No cost, lectures from the best in the field, variety and availability of courses, get a feel for your interests.
  • Negatives: Very low completion rates, no personalized learning, helpful interaction or community is rare.

Online, free, no mentor

Skill level: Varies from MOOC to MOOC, but many are designed for beginners.

4. Stackademy

An eleven-week course of full-time coding, Stackademy, based in Berlin, is an intense, hands-on, offline learning experience. With no previous experience required, this is a good place for beginners to start. However with classes running from 9am - 6pm, five days a week this is really only a realistic option for people who are do not have other full-time commitments (family, work), and a budget besides that. And you have to be based in Berlin of course, but speaking from experience, that is no bad thing! Just steer clear of the currywurst.

  • Positives: An intensive “ bootcamp”-style of learning, fully-mentored, good price for full time program.
  • Negatives: Location-specific, inflexible timetable, inaccessible online.

Offline, paid, mentored

Skill level: Beginner

5. General Assembly

With both fulltime and part-time courses on offer, General Assembly, now famous for its “bootcamp”-style courses, gives students the chance to learn all facets of web development. GA has locations scattered over the US, a handful in Australia and one in the UK. Feedback from students is generally very positive, although the price tag of $11,500 might put many potential students off, not to mention the limited locations. Some online video tutorials are available, but also at a price.

  • Positives: Full-time, hands-on learning with experts.
  • Negatives: Price, limited online availability

Offline, paid, mentored.

Skill level: Beginner

6. Bento

Created by a developer at StackOverflow , Bento is a guided tour through the best free web development tutorials on the web, including videos, interactive classes, and reading material. Using Bento is free, and it will only link you to free resources in a logical manner for beginners.

  • Positives: A great system for figuring out what you need to learn next based on what you already know.

  • Negatives: Tutorials are from a variety of sources so the quality and style of teaching varies greatly.

Online, free, not mentored.

Skill level: Beginner through to advanced

7. Treehouse

Treehouse is an online interactive education platform that teaches students how to make websites or mobile applications using a variety of programming languages such as HTML, CSS, Java, PHP (Wordpress), Objective-C, Javascript, and Ruby, among others. Video tutorials tend to work in the following formula: show, explain, do it yourself which can be very effective. Quizzes are also used to keep students engaged.

  • Positives: Best practice is always taught, online tutorials available as and when you need them.
  • Negatives: A paid-for platform but no personalized learning, content of forums often scattered.

Online, paid, not mentored

Skill level: Beginner

8. CareerFoundry

Yep, that’s us! Online, mentored, for three months.

Our students learn front and back end web development from an expert in the field, helping them kick-start a tech career upon completion. As a student you can have your daily assignments reviewed, ask as many questions as you want, and meet with mentors weekly via Skype for a fully immersive experience.

Enrollment grants immediate access to our bespoke course materials, and you’ll be connected with your mentor within 24 hours. At only 10-15 hours a week, learning with us is very personalized, flexible and can fit around your other commitments, it is a great combination of the offline taught programs and the online content tutorials.

  • Positives: We’re the best! But seriously, weekly Skype conversations and a career-focused curriculum are unique aspects of our learning platform.
  • Negatives: We currently only offer a Ruby on Rails Web Development course and User Experience Design. But I hear talk of things to come…

Online, paid, mentored.

Skill level: Beginner

9. Udacity

Udacity started initially as an outgrowth of a computer science course run by Stanford University. Classes are taught with video lectures and integrated quizzes for the students, there is also regular homework that reinforces the ‘learning-by-doing’ model of education. Although the classes are free, the success rate for students is particularly low: A partnership with San Jose State University was suspended when in Summer of 2013 over half of the students failed their final exams.

  • Positives: Connection to a top-name university and high profile lecturers.
  • Negatives: Very low success rate.

Online, paid, not mentored.

Skill level: Varied

10. Bloc

A mixture of online courses with combined mentoring, Bloc offer the flexibility of online learning with a personalized tutoring process. Much more intensive (and expensive) than the CareerFoundry program, these guys do a great job for those looking to step it up a notch. Support from mentors and students is 24/7 but students really do have to put in the hours (at least 3 a day) if they want to get as much as possible out of the program.

Positives: Supportive student environment, committed mentors.

Negatives: An intensive study program, potential students need to be prepared to work.

Online, paid, mentored

Skill level: Beginner

11. HTML5Rocks

HTML5Rocks is a Google-founded collection of free online tutorials to help solve coding problems. These videos are a great way for those with a bit of experience to build upon what they already know, but with titles like “Debugging Asynchronous JavaScript with Chrome DevTools” beginners might be put off. Videos are accompanied by written instructions and diagrams as well as comments from other users which can prove to be as helpful as the videos themselves.

Positives: A great free resource for developers looking to level-up their skillset.

Negatives: Perhaps a tad confusing for beginners.

Online, free, not mentored.

Skill level: Intermediate

12. The Code Player

A collection of free online videos that teach students how to perform specific tasks. The unique thing about The Code Player is that students can actually watch code being written live during the tutorials (hence the name, The Code Player). The people behind The Code Player utilize live working demos to teach code, with the speed of each tutorial adjustable to suit the skill level of the person learning.

Positives: You can literally learn at your own pace by altering the speed of the videos.

Negatives: Some people might find the lack of instruction holds them back.

Online, free, not mentored.

Skill level: Beginner / intermediate

13. Eloquent JavaScript

A book that gives readers a mixture of principles and pragmatics. It’s available online for free and great if you want a deeper understanding of how coding works. Some reviewers have remarked that as this book came out in 2011 some of it is now a little bit out of date, but for the fundamentals of JavaScript you can’t go too far wrong with this book. It’s available online for free here: http://eloquentjavascript.net/

  • Positives: Good for the basics of JavaScript.
  • Negatives: Less good for problem solving.

Offline (and online), not mentored, free (online), paid (for the actual book).

Skill level: Beginner

14. Girls Who Code

Aimed specifically at girls aged between 13 and 17, Girls Who Code pairs students with a mentor who teaches them how to code, inspires and encourage them to get into tech. They aim to provide 1 million girls with computer science education and exposure by 2020, a goal we at CF fully support.

Positives: A great mission to try to get more women into tech.

Negatives: You will only benefit if you are a girl aged between 13 and 17!

Offline, free, mentored.

Skill level: Beginner

15. Khan Academy

A great place to start for people hoping to learn coding for art or games - though less for those wanting to learn business-orientated front-end development. A free learning platform, Khan Academy uses video tutorials taught by experts to cover a wide range of subjects.

  • Positives: It’s free and the content is raved about. A fantastic way to get a feel of subject before diving in deeper.
  • Negatives: You won’t find instructional ‘how to’ tutorials which can be a good way for beginners to get started.

Online, free, not mentored

Skill level: Beginner / intermediate

16. Code Avengers

A highly stylized platform, Code Avengers certainly looks good but newbies will have to learn without the help of video tutorials. The languages it offers are JavaScript Level 1 and JavaScript Level 2 as well as HTML/CSS. The site has gained positive reviews for instilling good habits in its developers-in-training, a crucial element of the learning process particularly if students are hoping to break into a programming career.

  • Positives: A great-looking website and great for learning best practice as a junior developer.
  • Negatives: No video tutorials, no mentors.

Online, part-paid, part-free, not mentored.

Skill level: Beginner / intermediate

17. Programmr

Programmr is a browser-based online learning platform which allows for much experimentation with different languages without the structure of (many) lessons. With no need to install a programming language or development environment this is really for trying things out for the web on the web. A great place to try out new things that you might have learned somewhere else. They also have contests with prizes for those with the best programming skills.

  • Positives: Great place to try things out without downloading any software.
  • Negatives: Really more of a testing ground.

Online, free, not mentored.

Skill level: Beginner

18. TryRuby

TryRuby is similar to Programmr in that it is a space where you can experiment as you don’t need to download any software to get going. But this time, it’s just with Ruby. A friendly and straightforward tutorial will help you get started and you will be coding within seconds of reaching the site. The site design is imaginative and very inclusive and welcomes people who literally know nothing about code. It also explains why as well as how. And it’s completely free.

Positives: Completely free, great for experimentation.

Negatives: More of a surface-level introduction to coding rather than a in-depth tutorial-led program.

Online, not mentored, free.

Skill level: Absolute beginner.

19. HacketyHack

With HacketyHack you can use the “Shoes” toolkit to build graphical interfaces. Designed for total beginners, you will learn the absolute basics of the Ruby programming language. The desktop application includes integration with the website, where “Hackers” can share what they’ve learned, ask questions, and submit feedback.

Positives: Good starting point for beginners as it covers the basics.

Negatives: Aimed more at kids than adults.

Online, free, not mentored.

Skill level: Beginner

20. Fullstack Academy Of Code

New York-based school for learning how to code, at $12,500 dollars this course doesn’t come cheap. However it promises to have you ready to start work as a developer in 13 weeks and they work hard to get their students into roles on completion of the course with a Demo Day for prospective employers, Speed Interviewing with connected parties and a Placement Coordinator to help you get connected with the right people in companies you want to work for.

  • Positives: There is a large emphasis on web development as a career and getting students prepared to go straight into jobs.
  • Negatives: A lot of money for what is only a 13-week course.

Offline, mentored, paid.

Skill level: Beginner

So, now that you’ve seen all of the options it’s time to take action! Do you have any more questions about learning web development? Chat with us in the box to your right or go to our Web Development course for all the details on what you would learn with us.

What You Should Do Now

  1. If you’d like a step-by-step intro to find out if web dev is right for you - sign up here for our free 7-day web dev short course.
  2. If you are interested in becoming a Web Developer check out our web development course (you'll learn the essential skills employers need).
  3. If you’d like to speak to an expert Career Advisor for free about how you can really get a new job in tech - connect with us here.

If you enjoyed this article then so will your friends, why not share it...

Rosie Allabarton

Rosie Allabarton

Contributer to the CareerFoundry Blog