Jake Worth

Jake Worth

Technologist Reading List

Published: September 28, 2019 3 min read

  • books

“Not all readers are leaders, but all leaders are readers.” –Harry S. Truman

It’s been said that most programmers read less than one professional book per year. I get it. Books about programming can be have short shelf lives, as well as be expensive, hard to find, and challenging to read.

But in my experience, great programmers have read a lot of them anyway. There are concepts defined in classic programming books that are ubiquitous in the field. When you read those books yourself, you absorb those concepts. Or at least develop informed critiques of them.

Some of these books in this list are programming classics, while others focus on leadership, management, ethics, etc.. I’ve broken the list accordingly into two categories: code and general.

I will update and edit this list over time with new books I discover.

Code

  • Ball, Thorsten. Writing An Interpreter In Go. Learn the building blocks of all programming languages via a hands-on, test-driven Go tutorial.
  • Beck, Kent and Andres, Cynthia. Extreme Programming Explained: Embrace Change. XP informs so much of modern software development and this is the primary source.
  • Hoover, Dave and Oshineye, Adewale. Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. Advancing beyond entry-level requires time and a strategy; this book provides a template.
  • Hunt, Andrew and Thomas, David. The Pragmatic Programmer: From Journeyman to Master. This is a broad survey of the techniques every programmer must know, described in useful metaphors.
  • Krug, Steve. Don’t Make Me Think: A Common Sense Approach to Web Usability. Good user interfaces ask their users to make very few arbitrary decisions.
  • Metz, Sandi. Practical Object Oriented Design in Ruby. I think this is the defining introduction to Object-Oriented Programming, and required reading for any Rubyist.
  • Shaw, Zed. Learn Ruby the Hard Way: A Simple and Idiomatic Introduction to the Imaginative World of Computational Thinking with Code. ‘Type it, then understand it’ while realizing that computers are understandable.
  • Simpson, Kyle. This & Object Prototypes. Succinctly explains some of the thornier features of JavaScript.

General

  • Carr, Nicholas. The Shallows: What the Internet Is Doing to Our Brains. A detailed analysis of the world we programmers are building.
  • Ford, Martin. The Lights in the Tunnel: Automation, Accelerating Technology and the Economy of the Future. A preview of the future of work in the face of automation.
  • Godin, Seth. Linchpin: Are You Indispensable? As more work becomes automated, the professionals who will stand out will be those who’ve mastered soft skills like authenticity, passion, and communication.
  • Godin, Seth. The Dip: A Little Book That Teaches You When to Quit (and When to Stick). Starting a project or working for a startup both require an important ability: knowing when to lean in and when to walk away.
  • Isaacson, Walter. Steve Jobs. A gripping biography of a person who embodied product vision.
  • Lanier, Jaron. You Are Not a Gadget. An impassioned plea for a better internet.
  • Newport, Cal. So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love. Makes the case that the passion we chase as professionals only comes when we have first put in the work to be exceptional.
  • Norman, Don. The Design of Everyday Things. How good and bad design is rooted in psychology.
  • Swartz, Aaron. The Boy Who Could Change the World: The Writings of Aaron Swartz. Thoughtful essays about technology and ethics from one of the Web’s pioneers, gone too soon.
  • Sinek, Simon. The Infinite Game. Organizations that win in the long term choose to play games with no end.
  • Weinberg, Gerald M. The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully. How to advise in a technical organization.

Conclusion

Please reach out if you have any suggested reading for me. I’m always looking for new ideas to consider. I’m also writing a similar long-running post on essays that have influenced me. I recommend that if you prefer shorter-form ideas.

What are your thoughts on this? Let me know!


Join 100+ engineers who subscribe for advice, commentary, and technical deep-dives into the world of software.