Teaching Myself to Code

Teaching myself to programme has been stimulating and interesting, but far from easy. There are a lot of resources out there each with their own strengths and weaknesses which vary depending on your background, your current knowledge and how you like to learn.

### An upward spiral?? I would sometimes find myself in a situation where I’d have two books and three courses on the go. Although slightly overwhelming, I realised this was just how I learn. If I could not understand a concept (for example, ruby symbols – this has only just clicked for me recently!) then I would go to another source, read their explanation and keep following this pattern until it clicked. If I came across a resource or concept that still made no sense after multiple attempts then I would park it temporarily and come back to it further down the line. So, whilst it felt like I was going around in circles most of time, looking back, it’s only now that I can see I was making small incremental improvements the whole time because I kept on going.

### Learning Listmania So in no particular order, here is a list of courses and resources I have completed (or started). I may review some of these in depth in future posts, but in the meantime, do get in touch if you have questions.

#### Online courses Code Academy (html, css, javascript, ruby tracks) - Cheap and cheerful. A good forum if you get stuck and great for dipping your toe in the water. Learn HTML and CSS From Scratch in 30 days - Fantastic course and highly recommended. It’s very practical/hands-on and you will come out of this having hand-coded your very own responsive website. One Month Rails - Again, highly recommended. You learn to create a Pinterest clone using Rails and Twitter Bootstrap. The downside is that as this is aimed at beginners, a lot of the technical detail is left out so it’s not always clear why things work the way they do (sometimes referred to as rails magic). The guys that run this course also produce an excellent weekly news roundup of highlights from Hacker News. Learn Command Line the Hard Way & Learn Ruby the Hard Way - Very popular free course series from Zen Shaw. Not always clear but hey, its free! Just do it. And do it again and again. Then do it a thousand times more (you’ll understand when you start). Hartl Rails Tutorial – Very popular among newbie learners. I ended up trying this again recently and have been more successful on the second attempt because I had gained a better understanding of basic ruby / rails concepts from other courses. I am halfway through at this stage and hoping to complete soon. Treehouse - I signed up for a free trial and did not continue because there was a lack of support for the version of Rails that I was using (think they had not got round to updating he course content). You might have better luck than me…

#### Other online resources Ruby Monk – Useful resource but I found I had to come back to this after I had completed some of the items above. This focuses on the mechanics of the ruby language and less on practical application. Codewars – Very new on my radar. You are presented with a number of challenges referred to as ‘katas’ (for some reason the programming community often pays homage to the martial arts) to solve and get levelled up as you progress. Looks great and I have completed some challenges but will hold fire until I have learned a bit more about test driven development (a method of writing code popular in the Ruby community). Nitrous.io - an online service that provides all the tools you need via the browser to build web apps. I found this useful because I only have a laptop with 11" screen and could access everything from one window (e.g. command line, text editor etc). Ideone – a browser application that allows you to execute ruby code (good for trying out exercises listed in books below).

#### Books Eloquent Ruby (Russ Olsen) - Oh dear. Going to have to come back to this one! I ended up parking this and starting on the next book below which is highly recommended if you are a beginner like me. Think this book is more suited to people coming from other programming languages or who are more grounded in computer science concepts.

Beginning Ruby: From Novice to Professional (Peter Cooper). If you want a beginner text reference on Ruby then I recommend this.

#### Career Advice I came across a career guide from ruby developer Najaf Ali (Happy Bear Software). It’s an insightful resource and comes from someone with experience in the trenches who has gone on to be successful in setting up a career as freelancer. Ali’s guide is tough-talking and he does not hold back on making it clear that making a successful career in this field is challenging. The jobs are out there but the knowledge and skills required is immense and constantly changing. He says continuous learning is key, and ultimately you will get out what you put in. I emailed Ali with a few followup questions and he was super-nice and helpful.

### So there you have it… …A little about my learning journey to date, and hopefully, some useful links if you are looking to get into programming. My first day at Makers Academy is tomorrow. Time to chill out before getting some shut-eye. Speak soon.

Written on February 17, 2014