Tuesday, May 05, 2015

The new age of learning

Assumption: You are a working individual. Your company company offers training courses, and because there is dedicated budget for it, and because its part of your KPIs, you go on a course every year. Usually its a vendor related course, or maybe a TOGAF course here and there. But its boring, apart from the free lunch coupons. But how will that keep your skills relevant for the next 20 years? Can you afford to go (back) to university to (re) do your CS or Engineering degree?

I have recently been blown away by the plethora of online training. This is not just CBT Nuggets (which was very good though, it helped me get by CCNA). I am talking about online learning that is two way, and customised and focussed for your specific area. Its as good, or maybe even better, than a good university degree. MooCs, and its variants, are changing the way we will learn.

"Well known MOOC providers include courses from: EDX, Coursera, Udacity and Khan Academy with content supplied by some of the leading universities and technology companies around the world such as MIT, Harvard, Berkerley, Stanford, Google, AT&T and Facebook"
 
I recently took a MooC from Coursera for Web Application Architectures. It was a ahigh quality course. I watched the videos, completed the quizzes after each video, and then completed the assignments. Each contributed to the final mark. To make sure that I would dedicate myself over the 6 weeks, I paid for the Verified Certificate. It was worth it.

The content from MooCs covers all learning subjects. I believe some content even tops University offered equivalents because of the real life applications, e.g. these Micro Degrees on Big Data: https://www.coursera.org/course/datasci and https://courses.edx.org/courses/MITx/15.071x_2/1T2015/info

Regarding programming, I have come across some really cool places to learn how to code:

Learning web development - my rails journey

Even though I have not been a typical software developer in my career, I have used my coding skills (google, copy, paste) to create PoCs at work. Recently it has just been limited to pulling in a WSDL in java to test how the SOAP API works. I tried my hand at Android development a few years back. But the one place that I never really dabbled in was the web. I did help to maintain a few JSP pages a few years ago,  but I barely knew what I was doing. And with the rise of responsive websites, I have always regretted not knowing anything about HTML, CSS, javascript and web frameworks.

In my pursuit of relevance, I recently took a MooC course about Web Application Architectures: https://class.coursera.org/webapplications-003/quiz

It explains MVC, HTTP and a bunch of related concepts, using Ruby on Rails as the tool. I dont regret learning rails, and I have since started expanding my learning with these resources:
I highly recommend railstutorial - it is extremely well written, and takes you through the concepts while developing a few apps.

Not related to Rails, but it contains a nice story on how frameworks win over flat coding: http://symfony.com/doc/current/book/from_flat_php_to_symfony2.html

Whats next? According to http://www.quora.com/What-should-a-fullstack-developer-know-in-2015, I need to know these:

  • HTML
  • CSS
  • Javascript