Reading List

Here’s a list of some of the books that I’ve been spending some of my spare time reading.

I’m starting to write a series of book reviews at a clip of at least one per month. These reviews can be found under the Reading List tag, and are also outlined here in reverse chronological order.

  • January 2018: Misbehaving (Richard Thaler)
    This book gives an overview of the development of behavioural economics, introducing quite a diverse variety of experiments and observations that show that humans do not always act rationally, which is assumed in standard economic theory. The author then outlines ways in which one may aim to develop policies that exploit this irrationality, ‘nudging’ people in the right direction.

Legacy List

In Progress

Technical Reads

  1. An Introduction to Quantitative Finance (Stephen Blyth)
    Computational Finance (though it was one of my weaker modules, clocking in at an 85) didn’t go as far as I would have liked with some of the details (e.g. concerning options and derivatives); even though I don’t plan on directly investing in these apart from workplace compensation it certainly seems like something worth knowing.


  1. The Intelligent Investor (Benjamin Graham, edited by Jason Zweig)
    This one is largely in anticipation of starting full-time work. Investment is necessary for the obvious reason of outpacing inflation, and for the less obvious reason that cash is actually a high-risk investment in that it will almost certainly fall in real value over time.

Selected Past Reads

Technical Reads

  1. Cracking the Coding Interview (Gayle Laakmann McDowell)
    In terms of interview preparation I would see this as the absolute baseline. I first studied this book when preparing for my Google interviews in second year – though it didn’t turn out to be directly relevant I think it did reinforce my understanding of various basic concepts. CLRS has more fancy tricks (which I did employ in some of the programming interviews I had, such as the potential method for algorithm analysis, quick-select etc.) but this certainly gives a good grounding.
  2. The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin)
    I think my technical skills in terms of code, algorithms and design have, at least, seen quite a fair bit of development. However, a part of being a good developer involves one’s behaviour beyond the code as well.
  3. Effective C++ (Scott Meyers)
    I picked this up in second year. I like C++ with its seemingly libertarian approach, letting the user do lots of fancy tricks, though actually I’d say I’m most comfortable with Java. Nonetheless I’ve done several large projects in C++; my internship at Google as well as MCMAS-Dynamic were written in C++. It’s also my go-to language for competitive programming.
  4. Effective Java (Joshua Bloch)
    A pretty good refresher on how to use the various tools and constructs that the language gives. I picked this up in third year during the industrial placement; though many of the lessons were already being learned through code reviews and the like, at various internships and among peers, it was nice to see it outlined a bit more clearly.


  1. The Millionaire Next Door (Thomas J. Stanley, William Danko)
    I’m not sure when or how I figured out that diminishing marginal utility can kick in pretty quickly; very often, I’ve failed to see the value in paying premiums for certain things (there are exceptions, such as my chair and mattress). It was interesting to look at some past data on this.
  2. The Essays of Warren Buffett: Lessons for Investors and Managers (Lawrence Cunningham)
    I tend to bias towards execution and results, and thus would naturally have an interest in looking at what someone who has done very well has done.