Its the end of the year, and like many places it is time to complete development plans and aspirations (for work!). For myself, I already have a rough guide of what I wish to achieve in the coming year, however for my colleagues who have just finished university its a crazy world out there. It feels like you know so much and at the same time know so little. After four years of finishing my undergraduate studies I think its time to reflect on the books, courses and principles that have brought me to where I am today.

Relearning and Reading

Statistics

One area which required attention particularly after two years of working was relearning my statistics. It wasn’t so much that my statistics was deficit instead it was the realisation that many of the results in my education were poorly understood or perhaps more importantly I had gained new insight or appreciation for some of the meta-learning ideas.

This was most evident when completing Coursera’s ML course (Stanford) where they talked about gradient descent approaches to logistic regression; an idea which I didn’t even know existed! This lead to me reading up on Kantorovich Inequality amongst other things. In the last few months I have revised statistical inference and regularization techniques, something which escaped me somewhat during my university years.

It is clear through this that there really wasn’t any pattern to learning any of this but it was just a result of the exposure I was fortunate to receive as part of my day to day work.

Programming

Programming was an area which I enjoyed in university but never pursued seriously enough during university. By far my largest inspiration was the reading list on coding horror in particular “Mythical Man Month”, “Pragmatic Programmer” and “Regular Expression Cookbook”. Several of the other books I am interested in but unfortunately it will have to be on my reading list for the future. “Peopleware” will definitely be on my to read list!

The regular expression book was quite engaging, and lead me to areas around parsers and compilers leading me to try to write languages and combinatory parsers as well.

Whilst exposure to the pragmatic programmer lead to the pragmatic bookshelf which lead to exposure to more and more languages and understanding the sheer depth that exists in the software world.

Other Topics

The other books which were gripping (though have to be critiqued carefully!) are:

  • Taleb’s series
  • Tom Mitchell’s ML book.
  • The Answers by Lucy Kellaway
  • Cal Newports books particularly so good that they can’t ignore you, and Do what you Love and other lies by Miya Tokumitsu
  • Daniel Kahneman’s book on thinking, fast and slow
  • Bill Gates reading list, particularly, how children succeed, whistling vivaldi
  • Wisdom of Psychopaths.
  • Malcom Gladwell’s pop science books which got me into a lot of this

Online Courses

The strange thing with online courses was that generally were used to complement my knowledge and generally did fail to help me learn. The best courses has definitely has to be Georgia Tech’s Machine Learning course of which I learnt an immense amount.

Programming Languages with University of Washington is another exception, and I feel that was an exceptional course. Haskell and Scala courses were also very useful introduction to appreciate functional programming languages, and has definitely improved the patterns which I use in my own R programming.

Closing Thoughts

There isn’t really any order to any of this. Its just important to do what you feel is important at the time and really apply the principles of grit and perserverance in how you approach your learning; with complete seriousness and honesty.