30 books to help you grow as an engineer ๐
Book club announcement ๐ + a huge list of the most popular and helpful 30 software engineering books, so you donโt have to comb the endless lists on Amazon.
Hey friends ๐ A big welcome to our newest readers since our last issue ๐ Itโs an honor that you choose to spend your time with me learning together. I hope these articles provide massive value as you look to level up in your software engineering skills and career โ Caleb Mellas, Level up Software Engineering ๐
When I think back over my 10 yr career, there are two things that have been a massive part of my growth as an engineer.
Reading good books and applying them
Learning from other growth-minded engineers
To help you with that first thing, I spent hrs putting together this massive list of the most popular and helpful software engineering books, so you donโt have to comb the endless lists on Amazon. ๐
Letโs dive in ๐๐ผ
1. Clean Code ๐
Clean Code advocates for a number of principles and practices that can help developers write better code, including following the SOLID principles, writing simple, expressive code, and using automated tests to ensure code quality.
This is one of the top 10 all time rated software engineering books.
Pretty fundamental to when I was leveling up into a senior engineer.
2. Software Engineering at Google ๐
This book covers Google's unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. It helps explain the differences between engineering and just developing code.
3. It doesnโt have to be crazy at work ๐
Chaos isnโt the natural state at work.ย Anxiety isnโt a prerequisite for progress. Sitting in meetings all day isnโt success. This book pushes back against unhealthy practices that have infected the way people work these days.
4. The Software Engineerโs Guidebook ๐
This book really feels like the missing guidebook I wish I had early on in my career.
It covers many of the soft skills that most folks have to learn on the job.
Things like:
How to ace a performance review
How to manage a project successfully
What it looks like to โown your careerโ
How to develop a business understanding
Iโm only 1/2 way through, but I plan to read this book multiple times โ itโs so good.
5. Eloquent JavaScript ๐
A beginner-friendly book that covers the basics of the JavaScript language in a clear and engaging way. This book is best for people who are new to programming and are looking to learn JavaScript from scratch.
This book is also free to read online!
6. Practical Object Oriented Design ๐
It explains object-oriented design using realistic, understandable examples.ย Itโs a practical, readable introduction to how OOD can lower your costs and improve your applications. It really helped me finally level up in my OOO understanding.
7. Designing Data Intensive Applications ๐
Data is at the center of many challenges in system design today. This book is a guide for understanding how to make make use of data in a way that solves for:
scalability
consistency
reliability
efficiency
maintainability
8. Staff Engineer ๐
At most companies, you'll reach senior software engineer, the career level for software engineers, in five to eight years.
Where do you go from there? If you want to continue with coding, rather than switch to management, Will Larson offers a path for you.
9. Engineersโ Survival Guide ๐
If you've been feeling alone in your journey and keep wishing you had a friend or a mentor you could get some advice about non-technical aspects, look no further!
Hereโs a survival guide for situations you'll face in your career as an engineer.
10. Modern Software Engineering: Doing What Works to Build Better Software Faster ๐
How to think about and manage your work more effectively, and genuinely improve the quality of your applications, your mindset, and lives of your team.
11. Software Architecture: The Hard Parts ๐
There are no easy decisions in software architecture. With this book, you'll learn how to think critically about the trade-offs involved with distributed architectures.
12. Learning JavaScript Design Patterns ๐
A guide to modern design patterns for JavaScript & React, including:
modules, mixins, observers and mediators
performance
server-side rendering, dynamic imports and code-splitting
architecture patterns like MVC, MVVM and more.
13. The Pragmatic Programmerย ๐
Examines the core of modern software development - understanding what is wanted and producing working, maintainable code that delights its users.
This classic title is regularly on โTop Tenโ lists, and many companies issue it to new hires.
14. Domain-Driven Design: Tackling Complexity in the Heart of Software ๐
A fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing.
Itโs all about code organization, modeling, and understanding / matching the business domain.
15. Working Effectively with Legacy Code ๐
Is your code easy to change?
Can you get fast feedback when you do change it?
Do you understand it?
If not, you have legacy code.
This book offers start-to-finish strategies for working with large, untested legacy code bases.
16. You Donโt Know Js ๐
Keep reading with a 7-day free trial
Subscribe to Level Up Software Engineering ๐ to keep reading this post and get 7 days of free access to the full post archives.