Developer Reading List
A while back, I posted a short article on team motivation, with the specific scenario being to get a team of developers to make progress on reading a set of books the team had put together collectively as "required" (or at least worthwhile) reading. Since publishing that article, I've received quite a few requests to follow up with more specifics about the implementation and the actual list of books we used.
The implementation was pretty simple. Our team provided software services and had a wide variety of skills, so we periodically (quarterly) asked team members to self-assess their skill level with a variety of technologies and products. This helped our our non-technical sales team identify whether we had staff with available skills when opportunities arose. The self-assessment was a simple spreadsheet document. To support tracking which books individuals had read, we simply added the list of books to the end of the spreadsheet:
With this in place, it was pretty trivial to sort the total numbers of books read to produce a leaderboard, which we printed and posted in our team room (we were fortunate to have a co-located team at the time):
As noted in my previous article, just doing these simple steps resulted in a remarkable increase in team engagement with the reading list, which in turn spurred more discussion about concepts covered in these books. It's also worth noting that the list was created not just by developers, but also by our designers and UX experts, though its emphasis is obviously on software development.
We kept a bookshelf in a team room stocked with copies of these books, so anybody could borrow one to read whenever they felt like it.
Software Developer Books
As promised, here's the list.
- Clean Code
- Agile Principles, Patterns, and Practices in C#
- Working Effectively with Legacy Code
- Code Complete
- Domain-Driven Design
- Applying Domain-Driven Design and Patterns
- Lean Software Development: An Agile Toolkit
- Extreme Programming Explained
- Kanban: Successful Evolutionary Change for Your Tech Business
- The Agile Samurai
- The Art of Agile Development
- The Mythical Man-Month
- 97 Things Every Programmer Should Know
- Test-Driven Development: By Example
- The Art of Unit Testing
- Growing Object-Oriented Software, Guided by Tests
- Head First Design Patterns
- Patterns of Enterprise Application Architecture
- HTML Dog
- Don't Make Me Think
- Slack
- The Clean Coder
- The Pragmatic Programmer
There are a total of 23 titles in the above list, which was developed over a few years between 2010 and 2013 or so. Some of the titles may be a bit dated now (like HTML Dog, given recent changes in HTML/CSS), but most are pretty timeless. How many have you read? Which titles are missing from your must-have list?
Co-Founder & CEO at Bytestrone, Advisory Board Member at Nokio
2yWhat would be your recommendations if you were to update it now? Also, is there an order you would suggest for a junior programmer?
Retired Software Developer
3yThanks for sharing!
Software Gardener | Software Architect | Breaking down the monolith | Helping teams get better | Agile Practitioner | Speaker
3yMany of these are on my recommended list. Some others that I have: - Object Thinking - Clean Architecture - Building Microservices - 24 Deadly Sins of Software Security - Continuous Delivery - Design Patterns Explained (I found the layout of Head First to be too distracting. Maybe that was just my ADHD. Also, Design Patterns Explained has examples in C# instead of Java,.)
Software Engineer
3yRahul Deep Kumar the idea of books leaderboard sounds quite interesting here !
Fullstack Developer at Finitec
3yGreat list! Except for those incredible books, I can add "Refactoring" by Martin Fowler. Soon,I will be publishing an article about this book.