Skip to content

Instantly share code, notes, and snippets.

@thisfred
Last active June 27, 2017 20:38
Show Gist options
  • Save thisfred/f2014c1712298f4415b772df37790deb to your computer and use it in GitHub Desktop.
Save thisfred/f2014c1712298f4415b772df37790deb to your computer and use it in GitHub Desktop.

Tech Books I'd Recommmend

Test Driven Development by Example, Kent Beck

This book is the best introduction to TDD I've seen, and for such a tiny book, has a surprising amount of depth. The examples are in Python, but are simple enough that they'd be easily translated into any language. I've gotten new things out of it every time I've reread it, and it's one of the few tech books I have actually gone back and reread.

Refactoring, Martin Fowler

A classic, and with good reason. It's a great reference to have around, but it also includes some more general chapters that are well worth reading. If you like this book, I also recommend 'Refactoring to Patterns', by Joshua Kerievsky, which is a similar catalog of refactorings, but to (and equally importantly, away from) some of the design patterns in the Gang of Four book.

Implementation Patterns, Kent Beck

A neat collection of common code level problems and their solutions. A great book for intermediately experienced developers, but there's still some things there for senior folks too.

Practical Vim, Drew Neil

I'd recommend this to beginners and more advanced Vim users, as well as people who are just curious about what makes Vim special. It's a collection of short, one or two page recipes, that build on each other, to the point where you'll be getting a lot more out of Vim than you were before. I'd been using Vim for some years by the time I read it, and I learned a bunch.

Fluent Python, Luciano Ramalho

The best book about Python I've encountered. I think it'd be a good book for experienced developers whether they'd done a lot of Python before or not.

Working Effectively with Legacy Code, Michael Feathers

Inheriting technical debt can be disheartening, but this book provides great strategies to incrementally improve existing code bases that are not very well tested.

Some books that I liked well enough not to give them away (yet) ;)

  • Growing Object-Oriented Software, Guided by Tests, Steve Freeman & Nat Pryce
  • The Thoughtworks Anthology, Various Artists
  • Practical Object Oriented Design in Ruby, Sandi Metz
  • Effective Python, Brett Slatkin
  • Domain Specific Languages, Martin Fowler
  • Type Driven Development with Idris, Edwin Brady
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment