Learning software development is a fundamental skill in today’s world.
I hoped to share a list of books for understanding and growing in software development. I have shared parts of this list with team members who join my team or who I mentor.
I grouped these books by area of growth, as opposed to specific language or facet of software development. There’s a continuium of experience and facets of software engineering touched by each book (e.g. Javascript: The Good Parts is in the “Everyone” section. This language specific book shares Javascript principles that backend developers (that may never touch Javascript) would find interesting).
“Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.”
—Bill Gates
How this article is organized:
- For Everyone - I’d recommend for every man, woman and child who’s learning about software
- For Career Growth - I’d recommend for people thinking about their career growth
- For Technical Growth - I’d recommend for people thinking about their technical growth
For Everyone
Most of these books have a higher level of legibility and I believe are great introductions to subjects relevant to software development.
In this eye-opening account, Cal Newport debunks the long-held belief that “follow your passion” is good advice. Not only is the cliché flawed – preexisting passions are rare and have little to do with how most people end up loving their work – but it can also be dangerous, leading to anxiety and chronic job hopping. After making his case against passion, Newport sets out on a quest to discover the reality of how people end up loving what they… |
 |
If you want to build a better future, you must believe in secrets. The great secret of our time is that there are still uncharted frontiers to explore and new inventions to create. In Zero to One, legendary entrepreneur and investor Peter Thiel shows how we can find singular ways to create those new things. Thiel begins with the contrarian premise that we live in an age of technological stagnation, even if we’re too distracted by shiny mobile devices to… |
 |
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves. The authors begin by describing what patterns are and… |
 |
The latest edition of the essential text and professional reference, with substantial new material on such topics as vEB trees, multithreaded algorithms, dynamic programming, and edge-based flow. Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in… |
 |
The Definitive Guide to Java Platform Best Practices–Updated for Java 7, 8, and 9 Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for… |
 |
Think of The War of Art as tough love… for yourself. Since 2002, The War of Art has inspired people around the world to defeat “Resistance”; to recognize and knock down dream-blocking barriers and to silence the naysayers within us.Resistance kicks everyone’s butt, and the desire to defeat it is equally as universal. The War of Art identifies the enemy… |
 |
Since Don’t Make Me Think was first published in 2000, hundreds of thousands of Web designers and developers have relied on usability guru Steve Krug’s guide to help them understand the principles of intuitive navigation and information design. Witty, commonsensical, and eminently practical, it’s one of the best-loved and most recommended books on the subject. Now Steve returns with fresh… |
 |
Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that’s more reliable, readable, and maintainable than the language as a whole—a subset you can… |
 |
We are living in the computer age, in a world increasingly designed and engineered by computer programmers and software designers, by people who call themselves hackers. Who are these people, what motivates them, and why should you care? Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned… |
 |
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object… |
 |
For Career Growth
Most of the books here should be legible for those who have worked in software for a (few) years.
As a software engineer, you recognize at some point that there’s much more to your career than dealing with code. Is it time to become a manager? Tell your boss he’s a jerk? Join that startup? Author Michael Lopp recalls his own make-or-break moments with Silicon Valley giants such as Apple, Netscape, and Symantec in Being Geek – an insightful… |
 |
A blueprint for thriving in your job and building a career by applying the lessons of Silicon Valley’s most innovative entrepreneurs. LinkedIn cofounder and chairman Reid Hoffman and author Ben Casnocha show how to accelerate your career in today’s competitive world. The key is to manage your career as if it were a start-up business: a living, breathing, growing start-up… |
 |
Few books in computing have had as profound an influence on software management as Peopleware . The unique insight of this longtime best seller is that the major issues of software development are human, not technical. They’re not easy issues; but solve them, and you’ll maximize your chances of success. For this third edition, the authors have added six new… |
 |
Read hilarious stories with serious lessons that Michael Lopp extracts from his varied and sometimes bizarre experiences as a manager at Apple, Pinterest, Palantir, Netscape, Symantec, Slack, and Borland. Many of the stories first appeared in primitive form in Lopp’s perennially popular blog, Rands in Repose. The Third Edition of Managing Humans contains a whole new season of episodes from… |
 |
In The Five Dysfunctions of a Team Patrick Lencioni once again offers a leadership fable that is as enthralling and instructive as his first two best-selling books, The Five Temptations of a CEO and The Four Obsessions of an Extraordinary Executive. This time, he turns his keen intellect and storytelling power to the fascinating, complex world of teams. Kathryn Petersen,… |
 |
There is a competitive advantage out there, arguably more powerful than any other. Is it superior strategy? Faster innovation? Smarter employees? No, New York Times best-selling author, Patrick Lencioni, argues that the seminal difference between successful companies and mediocre ones has little to do with what they know and how smart they are and more to do with how healthy… |
 |
For Technical Growth
Most of the books here should be legible for those who have worked in software for a (few) years.
Jason Fried, DHH: Rework
Most business books give you the same old advice: Write a business plan, study the competition, seek investors, yadda yadda. If you’re looking for a book like that, put this one back on the shelf. Read it and you’ll know why plans are actually harmful, why you don’t need outside investors, and why you’re better off ignoring the competition. The… |
 |
Martin Fowler, et al.: Refactoring
As the application of object technology–particularly the Java programming language–has become commonplace, a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work… |
 |
Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process–taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read… |
 |
Clean Architecture is essential reading for every current or aspiring software architect, systems analyst, system designer, and software manager–and for every programmer who must execute someone else’s designs. By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. Now, building upon the success of his best-selling books Clean Code and… |
 |
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make… |
 |
The overwhelming majority of a software system’s lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems? In this collection of essays and articles, key members of Google’s Site Reliability Team explain how and why their commitment to the entire… |
 |
Enterprise Integration Patterns provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise. The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL. A case study describing a bond trading… |
 |
Five years after this sleeper hit took on the world of IT and flipped it on its head, the 5th Anniversary Edition of The Phoenix Project continues to guide IT in the DevOps revolution. In this newly updated and expanded edition of the bestselling The Phoenix Project, co-author Gene Kim includes a new afterword and a deeper delve into the… |
 |
All book images from amazon.com.