My Favourite Open Source Engineering Books
I’ve been a professional software engineer and maintaining open source software since 2007. My work on open source has been heavily informed by industry best practises and my work on proprietary software has been heavily informed by open source best practises. Without these books, I’d be a worse engineer on many dimensions. Some of them may feel antiquated but all are still full of relevant wisdom for every open source (and proprietary) software engineer today.
I was introduced to this book in a Human-Computer Interaction course at university but most of it barely mentions computers at all. It radically changed the way I thought about design of all everything, including all the software I have written since, to aim to be as intuitive and natural as possible. Tip: read this on paper or on an iPad rather than a iPhone or Kindle as the pictures as essential.
Nadia Asparouhova (formerly Nadia Eghbal)
I was lucky enough to read an early draft of this book and it’s simply the best analysis of the open-source software ecosystem around today. The writing style is friendly and not formal despite the academic-level research that went into this book. It made me think differently about the open source projects I maintain and how I interact and chose those I use.
Timothy Lister and Tom DeMarco
This is the oldest book on my list and is the most underrated. It describes, with serious rigour and detail, how to run more effective software projects and teams. Most of this advice has been ignored my most of the industry for most of the time but it’s a big part of the reason I’ve worked from home for 14 years and am as productive as I am today.
This is from an older generation of open source development, pre-GitHub, but much of the advice here is still incredibly relevant and astute today, helping provide advice on the interpersonal as well as technical sides to open source development. Many of the underlying principals from this book are what form my grounding as an open source maintainer for the last 15 years.
Jared Richardson, Will Gwaltney, Jr
Another book that predates GitHub but provides a lot of actionable advice today that’s been mostly ignored across much of our industry. Hard problems like “why isn’t my software project reliable?” are tackled head on and addressed here. It was an early nudge for me to automate as much as possible in software projects and not ignore difficult problems with project organisation in favour of “fun” technical tasks.
Originally posted on Shepherd.com as “The best books for becoming a great open source software engineer”.