Recommended Reading

Last update: March 2017

A curated list of books that I have found to be useful in my career.

The Pragmatic Programmer

The Pragmatic Programmer My all time favorite computer science book. If I had to choose just one, this would be it. I keep my copy on my desk at my office and often pick it up, flip to a random chapter, and start reading. No matter how many times I have done this, I find something new. There have been times where I have been stuck on a tricky problem and used it to shake my thinking up à la Oblique Strategies. I love that it covers high level concepts and avoids language specific topics. The authors talk about programming as a craft and clearly love their subject.

Code Complete 2

Code Complete 2 Jeff Atwood likes this book so much that he named his blog after it. No other book covers the craft of programming so completely. It’s a thick volume and not one that is easy to read cover to cover. However, the concepts it teaches are timeless so it’s worth doing.

JavaScript: The Good Parts

JavaScript: The Good Parts JavaScript is, well, weird. It’s hugely expressive and powerful but only to those that know which features to use and which to avoid. Understanding hoisting or type inference for instance can be mind bending to the uninitiated. ES6 has done a lot to cover up the more troublesome parts of JavaScript but it’s good to be aware of the pitfalls. The author, Douglas Crockford invented the language so this is as good as it gets in explaining it. This book is small and just dense with knowledge. The terse style at times make it a challenging read. I’ve yet to find a better resource for helping navigate all the language’s quirks.

Programming Phoenix

Programming Phoenix

Ok, this one is not for everyone. Only developers interested in working with Elixir and the Phoenix framework should read. I included it because it’s simply the best written technical guide I’ve ever used. The authors provide a real world application to build that teaches the essential concepts of the Phoenix framework. They dumb nothing down. By the time I finished this book I felt I could fully grasp this technology and was able to directly apply it to several client projects I was working on. I rarely find this to be the case with most books of this stripe. I am rooting for Elixir to succeed and become widely adopted. If it does it will be because of efforts like this book that make it easy to onboard new developers.

Be Clear, Not Clever

> "Write code that is easy to delete, not easy to extend." - [Programming Is Terrible](http://programmingisterrible.com/post/139222674273...… Continue reading

Hello World

Published on March 07, 2017