Cameron Watters Musings of a Proto-Millennial Software Engineer in the Pacific Northwest

Recommended Reading for Software Engineers, Their Managers, and Others Working to Produce Software

How to use this list

I've organized this list by role rather than topic, so some items will be listed twice. I suggest that you find the section that best aligns with your current role and start there.

I've created the following list(s) in an effort to help those I personally encounter and anyone one else who stumbles across it. The list isn't intended to be exhaustive, but if there's a book or post that you have found particularly helpful which is omitted below, I'd love to hear about it via Twitter (my DMs are open).

I heartily recommend reading every book, blog post, or article listed. But that shouldn't imply that I agree with or endorse every idea presented or advocated therein.

It's worth noting that my professional history is heavily weighted toward technical roles. These lists will reflect that bias.

Software Engineering Managers (and Directors)

In addition to the below, I strongly recommend reading all of the non-technical items recommended to Software Engineers.

Table Stakes

If you manage software engineers, technical operations, or related technical staff in the tech industry, and are not familiar with the material covered in these three books and are not actively applying it in your organizations, you're falling short of delivering your best to your team(s). That applies all the way up to the C-level for any role that is technically scoped (e.g. CTO or CIO). They're valuable for all technology executives, particularly the first two.

Broadly Helpful

Useful, But Sometimes Only Situationally

Software Engineers

Table Stakes

Start with my First Year Reading List

Given that I recommend this list to software engineers in the first year of their careers, it should go without saying that I'd expect any senior engineer to be familiar with most, if not all, of the material covered. Many "senior" engineers I've worked with have not been.

I've reproduced it below for convenience.

Books

  1. Integrity: The Courage to Meet the Demands of Reality 📖
  2. The Unwritten Laws of Engineering 📖
  3. The Pragmatic Programmer: From Journeyman to Master 📖
  4. The Art of Unix Programming 📖
  5. The Mythical Man-Month: Essays on Software Engineering 📖
  6. Web Operations: Keeping the Data on Time 📖
  7. Head First Design Patterns 📖
  8. Lean Enterprise: How High Performance Organizations Innovate at Scale 📖
  9. Building Microservices 📖
  10. Release It!: Design and Deploy Production-Ready Software 📖
  11. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation 📖
  12. Patterns of Enterprise Application Architecture 📖

Articles, blog posts, etc

  1. Be Kind
  2. Thou Shalt Not Commit Logical Fallacies
  3. Anscombe's quartet
  4. The Emperor's New Clothes (and the associated Wikipedia article)
  5. Falsehoods Programmers Believe About Time, Names, Addresses, Networks, etc
  6. Choose Boring Technology
  7. OWASP Top 10
  8. Steve Yegge's Google Platforms Rant
  9. HTTP Protocol: HTTP/1.1, HTTP/2
  10. Latency Exists, Cope!
  11. Fallacies of Distributed Computing
  12. You Can't Sacrifice Partition Tolerance
  13. Notes on Distributed Systems for Young Bloods
  14. Jepsen: On the Perils of Network Partitions [VIDEO]
  15. Six Myths of Product Development
  16. Amazon is a Technology Company; They Just Happen To Do Retail
  17. How Complex Systems Fail
  18. Harmful GOTOs, Premature Optimizations, and Programming Myths Are the Root of All Evil
  19. The Wrong Abstraction

Technical

Non-Technical

Product Managers (and their Managers and Directors)

Tips for Accessing the Content

If digital text works for you, then you can actually get a great deal on many of the books by becoming a member of the Association for Computing Machinery. The $100 ACM mebership includes access to O'Reilly Safari for 25% of the individual Safari subscription retail price. Some content may not be available, but I've found the vast majority of the books I've looked for.

If you have a commute and/or like audio content, a number of the human skills books can be found on Audible. I listen to them on my commute (when I have one), other long drives, or working around the house. I've had a monthly subscription for a few years now, which has worked quite well for me.