Nithin Bekal Posts About

Favorite Books of 2015

02 Jan 2016

60 books, and almost 25,000 pages read! I found more time to read this year than I expected. And I finally finished the massive Wheel of Time series this year, racing through the final 9 books in the series.


1. The Martian (Andy Weir)

Easily my favorite novel of the year, and probably the best hard science fiction book I’ve read. It follows Mark Watney, an astronaut who has to “science the shit out of” a horrible situation - being stuck on Mars with almost no hope of survival. Superbly written, laugh-out-loud funny, and full of interesting bits about space travel, this was hard to put down.

2. A Memory of Light (Brandon Sanderson, Robert Jordan)

I’ve had Wheel of Time books in my last two lists (2014, 2015) as well, but this has to be the last time. I’ve finally finished this humongous 14 part series. Starting with an epic fantasy series spanning 12,000+ pages might seem intimidating, but this one is definitely worth the effort.

3. To Kill a Mockingbird (Harper Lee)

Through the eyes of two children, this book explores racial prejudice in a fictional Alabama town during the Great Depression. I wondered if Harper Lee’s classic will live up to the expectations of being considered one of the greatest American novels. It certainly does.

4. Half of a Yellow Sun (Chimamanda Ngozi Adichie)

This book presents the horrors of the Nigerian civil war of 1967-70 from the perspective of five different characters. Adichie is a wonderful writer - the stories of the main characters, the horrors of the war, and life in Nigeria, are all captured so vividly.

5. World Without End (Ken Follett)

Set in the fictional town of Kingsbridge in medieval England, this book sometimes feels like Game of Thrones minus the dragons and zombies. Fantastic novel and a glimpse into life in feudal England. Although it is a sequel to the excellent Pillars of the Earth, the books have almost no characters in common, so this can be read as a standalone book.

6. The Book Thief (Markus Zusak)

Set in the Germany during World War 2, this is a fascinating story narrated by Death himself. It follows a 9 year old orphan as she moves into the house of her foster parents. Don’t be deceived by the Young Adult categorization of the book - it’s nothing like the typical rubbish that makes up most of that genre.

7. The Girl Who Played With Fire (Stieg Larsson)

The Girl With the Dragon Tattoo was on last year’s list, and I think the sequel did even better. The three Stieg Larsson novels are highly recommended if you enjoy crime thrillers. Lisbeth Salander is one of the most interesting characters in the genre, and this book explores her backstory.

8. Gone Girl (Gillian Flynn)

Despite having seen the movie first and knowing the plot, I thoroughly enjoyed this book, which is rare for a crime thriller that depends heavily on unexpected plot twists. It is the story of a couple where the husband is suspected of foul play when the wife goes missing. The two sides of the story are narrated by the two main characters, with neither being completely honest with their story.

9. Rendezvous With Rama (Arthur C Clarke)

A group of astronauts explore a gigantic, deserted alien spaceship that mysteriously in the solar system. Clarke has a knack of turning ideas like this into complelling stories. I also read a sequel to this, but that one failed to come anywhere near the same level as this.

10. Beacon 23 (Hugh Howey)

A man maintaining a beacon in a remote corner of the galaxy suddenly finds himself in the middle of inter-galactic war. Had never heard of Howey before, and picked this at random, and now I’m glad I did. Howey is an excellent writer.

Non fiction

1. The Design of Everyday Things (Don Norman)

Don Norman uses examples of everyday things (both well designed and poorly designed ones) to explain the science of usability. Not only was it enlightening to understand the psychology of usability, there were also many examples explained that will make you go, “so that’s why these things are designed that way”. A must-read if you’re interested in usability.

2. Traction: A Startup Guide to Getting Customers (Gabriel Weinberg, Justin Mares)

Explains 19 different traction channels which ones you should focus on right now. Extremely useful if you’re working at a startup. Has lots of practical advice.


1. Practical Object Oriented Design in Ruby (Sandi Metz)

Because of Rails, the Ruby community is often accused of not following good object oriented design practices. If you’re wondering what such practices would look like, this is the book for you. There is so much practical wisdom in this book that this book seems destined to become a classic in the field.

2. Confident Ruby (Avdi Grimm)

The book is about patterns for structuring your code. Rather than high level design patterns, it focuses on lower level code structure. Specifically, it focuses on writing “confident” methods - methods that aren’t littered with nil-checks, and tell a clear story about what it is doing. An excellent complement to the Sandi Metz book. This is another one of the must-read books for Rubyists. (Read full review.)

3. Programming Elixir (Dave Thomas)

Dave Thomas’ Pickaxe book is often considered the Ruby book. Now he has turned his attention to Elixir and this could well be the Pickaxe book for Elixir. It’s a fantastic introduction to the Elixir language - starting from the basic concepts, but building up quickly to the more advanced topics like concurrency and OTP. If you’re planning to try Elixir, this should be the first stop after the Getting Started guide on the Elixir website.

4. Programming Pearls (Jon Bentley)

A collection of essays about problem solving in software development. The essays are mostly about topics like algorithms, data structures and performance. This was written in the 1980s, so some of the examples look very out-of-date when considering the computing power available to us today. However, the insights into the thinking process that Bentley describes for solving various kinds of problems are valuable to this day.

5. Seven Languages in Seven Weeks (Bruce Tate)

Gives a whirlwind tour of 7 languages - Ruby, Io, Prolog, Clojure, Scala, Erlang and Haskell. This isn’t about the languages themselves as about learning some ideas from those languages that you can bring back to your everyday work.

6. The Nature of Software Development (Ron Jeffries)

In this short book, Jeffries tries to simplify Agile by focusing on one this - delivering value. People working on larger projects will probably get more out of it, but worth reading for any software developer.

7. A Byte of Vim (Swaroop C H)

A quick guide for people who are getting started with vim. This is what I’d recommend once you’ve learned the essentials using vimtutor. I’d been using vim for over a year when I read this book, but found a lot of useful new tricks.


I have a pile of 30 books waiting to be read right now. Finishing the books I own is probably going to take me most of the year. But having too many books to read can never be a bad thing, can it? ;)

If your new year resolution is to read more this year, you might want to check out the article “Just Twenty-Five Pages a Day” from the Farnam Street blog.

Happy reading!

Nithin Bekal
Hi, I’m Nithin! This is my blog about programming. Ruby is my programming language of choice and the topic of most of my articles here, but I occasionally also write about Elixir, and sometimes about the books I read. I'm @nithinbekal on Twitter.