Jake Worth

My Favorite Programming Books

September 28, 20193 min read

What books have shaped me as a programmer? In the post, I’d like to share my personal developer reading list.

Some of these books are programming classics that have changed minds and the discourse. Others focus on teams, management, communication, ethics, etc.– the softer side of programming. I’ve broken the list accordingly into two categories: code and culture.

This list is not complete; I’m still reading! I will update this list over time with new favorites I discover.

Please reach out if you have any suggested reading for me. I’m always looking for new ideas to consider. I’m doing something similar with essays; check that out if you prefer shorter-form ideas.

Code

  • Ball, Thorsten. Writing An Interpreter In Go. I don’t think everyone should read this book. However, understanding the basic components of a programming language has been indispensable to me. Offers that expertise via a hands-on, test-driven Go project.
  • Beck, Kent and Andres, Cynthia. Extreme Programming Explained: Embrace Change. XP informs so much of modern software development that it’s hard to grasp how revolutionary it was in its time.
  • Hartl, Michael. Rails Tutorial. My first Rails book. A big headfirst dive into Rails.
  • Hoover, Dave and Oshineye, Adewale. Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. Will help anyone create a strategy for their early programming career.
  • Hunt, Andrew and Thomas, David. The Pragmatic Programmer: From Journeyman to Master. 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. A clear, concise overview of how good UI reduces the amount of arbitrary choices we ask of our users.
  • Metz, Sandi. Practical Object Oriented Design in Ruby. Sandi is my hero! Perhaps the defining introduction to Object-Oriented Programming. Exceptional.
  • Olsen, Russ. Eloquent Ruby. What is the ‘Ruby Way’? Move beyond competence and into fluency.
  • Shaw, Zed. Learn Ruby the Hard Way: A Simple and Idiomatic Introduction to the Imaginative World of Computational Thinking with Code. My first Ruby book. Zed’s ‘type it then understand it’, magic-free approach has greatly influenced me.
  • Simpson, Kyle. This & Object Prototypes. Succinctly explains some of the thornier features of JavaScript.

Culture

  • Carr, Nicholas. The Shallows: What the Internet Is Doing to Our Brains. A detailed account– good, bad, and ugly– of what we programmers are building here.
  • 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? Makes the argument that as more work, including programming, becomes automated, the professionals who will stand out in the future will be those who’ve mastered soft skills– authenticity, passion, communication– that many developers ignore.
  • 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.
  • Hansson, David Heinemeier and Fried, Jason. Remote: Office Not Required. Can your team function remotely? For almost every team, yes. Should you try it out? Also yes.
  • Isaacson, Walter. Steve Jobs. A gripping biography of a technology icon.
  • Lanier, Jaron. You Are Not a Gadget. This is the first book I read that made me think critically about technology, and led me down a path to considering programming as a career. An impassioned plea for building 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.
  • 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.
  • Weinberg, Gerald M. The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully. Not just for consultants, but anyone who would like to influence a technical organization.

Conclusion

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

Thanks for reading. I’d love to know via Twitter the programming books that have shaped you as a developer.


Blog of Jake Worth.

© 2021 Jake Worth.