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.
#### 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.