A “Minimum Viable” Reading List for Junior Software Engineers
Six technical books that will set you up for career success
I’d like to share a short reading list for junior software developers who want to read some good books on software engineering to speed up their professional growth but have limited time.
I’ve picked only six books that will teach you to create maintainable and well-tested code, work efficiently in a team, and learn continuously.
These six books in total have just under 2600 pages. If you read about 30 pages per hour, reading these six books will take roughly 87 hours. Spending four hours reading per week, you’ll read them all in about five months and learn as much about software engineering as you would after years of working on various software projects. You will be so much ahead of your peers who don’t bother reading professional books.
Some books from this list were published about 20 years ago, so some examples may look dated, but the ideas are still perfectly relevant.
1. Code Complete (2nd Edition)
Code Complete is one of the foundational books on software engineering. It covers many topics on its 900+ pages and gives a great overview of software development practices.
The book was published in 2004, so some examples may look dated, but apart from that the books doesn’t feel old. At first I hesitated whether to include this book in the list but after a quick look at a few chapters my doubts vanished.
The book is on many must-read lists for software engineers. Some engineers, including myself, say that if they had to name one book that influenced them most, that would be Code Complete.
2. Clean Code
Clean Code is another great book on writing maintainable, readable and well-tested code, and it has a narrower focus on actual practices and techniques for producing it. Like Code Complete, this book is on many must-read lists for developers as well, and if you’ve read it already — well done.
You can find more about Clean Code here.
3. Refactoring: Improving the Design of Existing Code
Refactoring is another classic book that will teach you how to improve your code through minor changes — refactoring. This book is also on many must-read lists.
Here is the Refactoring page on Goodreads.
4. Pragmatic Thinking and Learning: Refactor Your Wetware
Unlike the previous three books, I don’t think I’ve seen this one on other must-read lists. Nonetheless, I think this book should be very helpful to junior developers as it explains how we learn and how to do that efficiently to accelerate our professional growth.
You can find out more about this book on the PragProg website.
5. The Art of Readable Code
This short book (only 204 pages) focuses on principles and techniques that every developer can apply every time they write code. Each chapter of the book covers a specific aspect. The book has many examples in different languages, is very easy to read, and is very practical.
Find out more about the book on its Goodreads page.
6. The Pragmatic Programmer, 20th Anniversary Edition
This is a new edition of The Pragmatic Programmer book and the most recent book from the list. I think this book should nicely complement the first two from this list as they cover similar topics from a bit different perspective.
You can learn more about the book on the PragProg website.
Enjoy!