My Experience Learning Web Development Online - Part One

A year into a Ph.D. in Chemistry I began to realise a career in academia wasn't agreeing with me. When thinking about how best to point my life in a new direction my mind naturally wandered to going back through University. Courses I considered varied from Aerospace Engineering to Education UX design. After a bit of introspection (but not before travelling to Brussels by Megabus to sit the GRE) I realised I didn't have the patience to sit through 4-5 years of lectures.

Luckily thanks to a Lifehacker post on the Codecademy Year of Code I realised I was more than capable of teaching myself new skills and that I enjoyed messing around with programming to tweet Samuel L. Jackson monologues without much effort on my part. My main worries were based on my reputation being damaged by quitting my Ph.D. and the chances of getting hired for a job in a field that I had no qualifications in. Eventually the stress of being unhappy in my current career and decision fatigue from my inability to find the path to fulfilment in life led to me leaving my position in Amsterdam and returning to Edinburgh to recover.

From then on I scoured the internet for free resources to teach myself the foundations of web development with the aim to build the startups I had been dreaming up. Here are the list of those that I found the most useful:

Great for Learning the Basics

Codecademy

As an early adopter of Codecademy I enjoyed being on and adventure to learn to program but the journey was quite disjointed. I didn't quite understand the usefulness of the Javascript lessons the launched with. I drifted off the "one tutorial a week" path at around week 8 and didn't return until the HTML and CSS lessons had launched. The visual feedback that each additional piece of knowledge of CSS I gained was giving my ideas a more refined look really gave me the hunger to keep digging deeper. The Python track allowed me to get away with using the service during the working hours of my Ph.D. as I would use it to automate data entry and handling.

Everything still appeared to be static though. When the Ruby track launched and I found out that it was the key ingredient in the preferred web framework of startups I hurried my way through the lessons (Ruby's similarity to Python helped a great deal). Ruby on Rails was never taught but at-least I knew where to go next.

The API projects are a great deal of fun and lead to a lot more experimentation. Breaking the rules of Twitter or ordering Sushi from the command line felt empowering.

Dash

Disclaimer: I found Dash after the period of time I spent learning Web-dev but I ran through the classes and I have recommended it to others with positive results.

Dash provides a very visual introduction to HTML, CSS and Javascript. Lessons are longer than the typical Codecademy tutorial and play out like interactive powerpoint presentations. Style is more of a focus, the quality of the completed tutorials (a mock blog and restaurant site) look like something a relative might try to coerce you into building them for free.

Udacity CS101

Much more focused on getting things done with programming rather than teaching you the basics. Using Python you iteratively build a web crawler and cover topics such as recursion. Lots of video content with guest stars from Duck Duck Go and Hipmunk. Opportunity to pay a small sum to receive an officially accredited qualification which should help you explain to employers what you have been doing with your time. I never finished the final exam (leading to Sebastian Thrun getting very upset about low course completion rates) but I definitely had lot of “oh, thats how this part of google functions” moments.

In Summary

All of the above are great resources and despite the Codecademy HTML and CSS content overlapping with Dash a bit of redundant learning on the basics is never a bad thing in my mind. Also worth noting that all of the above services have sandboxed development environments in the browser which means there is nothing for you to set up on your local machine. As much as this helps you hit the ground running you are never really pointed in the right direction of instructions on how to escape the walled garden they provide when you are ready to do your own thing.

Next time: Putting It All Together