Since I'm frequently asked about good books I've read during my carreer I decided to compile a list of books I recommend every software engineer (beginner or not) to read. I will be constantly updating this book, please be sure to check this page often!
Development
Clean Code: A Handbook of Agile Software Craftsmanship
In Clean Code, you will
learn that 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. Clean Code is divided into three parts.
Each case study is an exercise in cleaning up code—of transforming a code base
that has some problems into one that is sound and efficient.
Code Complete
Code Complete takes a strategic approach to software construction and produce superior products with this fully updated edition of Steve McConnell's critically praised and award-winning guide to software development best practices. An award-winning guide to software development best practices.
Algorithms
Working Effectively with Legacy Code
Operating System Concepts
The Pragmatic Programmer
Design and Architecture
Release It!: Design and Deploy Production-Ready Software
Release It! is a book for software developers that don't want to get alerts every night for the rest of your life, help is here. With a combination of case studies about huge losses - lost revenue, lost reputation, lost time, lost opportunity - and practical, down-to-earth advice that was all gained through painful experience, this book helps you avoid the pitfalls that cost companies millions of dollars in downtime and reputation. Eighty percent of project life-cycle cost is in production, yet few books address this topic.
Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture
is a book that will teach you that common failures in enterprise applications often occur because their
developers do not understand the architectural lessons that experienced
object developers have learned.
The practice of enterprise application development has benefited from the
emergence of many new enabling technologies. Multi-tiered object-oriented
platforms, such as Java and .NET, have become commonplace. These new tools and
technologies are capable of building powerful applications, but they are not
easily implemented.
Refactoring: Improving the Design of Existing Code
Refactoring, is a book written by Martin Fowler that for more than twenty years, experienced programmers worldwide have relied on to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand. This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape. Refactoring, Second Edition, features an updated catalog of refactorings and includes JavaScript code examples, as well as new functional examples that demonstrate refactoring without classes.
The Design of Everyday Things
Security
Stealing The Network: How to Own the Box
Stealing the Network: How to Own the Box is NOT intended to be a "install, configure, update, troubleshoot, and
defend book." It is also NOT another one of the countless Hacker books out
there. So, what IS it? It is an edgy, provocative, attack-oriented series of
chapters written in a first hand, conversational style. World-renowned network
security personalities present a series of 25 to 30 page chapters written from
the point of an attacker who is gaining access to a particular system. This book
portrays the "street fighting" tactics used to attack networks and systems.
Secrets and Lies: Digital Security in a Networked World
Secrets and Lies by Bruce Schneier is a book stands the test of time as a runaway best-seller provides a practical, straight-forward guide to achieving security throughout computer networks. No theory, no math, no fiction of what should be working but isn't, just the facts. Known as the master of cryptography, Schneier uses his extensive field experience with his own clients to dispel the myths that often mislead IT managers as they try to build secure systems.
Career
Skill Up: A Software Developer's Guide to Life and Career
Skill Up: A Software Developer's Guide to Life and Career
is an all-purpose toolkit for your programming career. It has been built by
Jordan Hudgens over a lifetime of coding and teaching coding. It helps you
identify the key questions and stumbling blocks that programmers encounter,
and gives you the answers to them! It is a comprehensive guide containing more
than 50 insights that you can use to improve your work, and to give advice in
your career.
Outliers: The Story of Success
In the bestseller Outliers, Malcolm Gladwell takes us on an intellectual journey through the world of "outliers" - the best and the brightest, the most famous and the most successful. He asks the question: what makes high achievers different? His answer is that we pay too much attention to what successful people are like and too little attention to where they are from: that is, their culture, their family, their generation, and the idiosyncratic experiences of their upbringing. Along the way he explains the secrets of software billionaires, what it takes to be a great soccer player, why Asians are good at math, and what made the Beatles the greatest rock band.
Creativity, Inc
Creativity, Inc. is a manual for anyone who strives for originality and the first-ever all-access trip into the nerve center of Pixar Animation - into the meetings, postmortems, and “Braintrust” sessions where some of the most successful films in history are made. It is, at heart, a book about creativity - but it is also, as Pixar cofounder and president Ed Catmull writes, “an expression of the ideas that I believe make the best in us possible”.Coders at Work: Reflections on the Craft of Programming
Founders at Work: Stories of Startups' Early Days
Founders at Work is a book for would-be entrepreneurs, innovation managers or just anyone fascinated by the special chemistry and drive that created some of the best technology companies in the world, this book offers both wisdom and engaging insights straight from the source. Chris Anderson, editor-in-chief of Wired Magazine, and author of The Long Tail "All the best things that I did at Apple came from (a) not having money and (b) not having done it before, ever".
Management
The Mythical Man-Month
The Mythical Man-Month is a classic collection of essays describing issues that arise while managing software projects. Few books on software project management have been as influential and timeless as this book. With a blend of software engineering facts and thought-provoking opinions, this book offers insight for anyone managing complex projects. Now, 20 years after the initial publication of his book, the author has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.
Peopleware: Productive Projects and Teams
Peopleware is one of those few books in computing that had a profound influence on software management. 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.