Listmania!
Blizzard Software Engineering Reading (Senior)
By an Amazon.com customer
Head First Software DevelopmentHead First Software Development by Dan Pilone
Buy new: $31.49 / Used from: $19.29
This book is an easy-to-read overview of the entire software development process, as it is currently understood. This is not an in-depth book. It's your freshman introduction to what you've been doing for the past few years. This book will take a few days to a few weeks to read, depending on what you already know.
The Practice of ProgrammingThe Practice of Programming by Brian W. Kernighan
Buy new: $32.09 / Used from: $12.99
An introduction to programming by two of the big names in the programming field. Should be a quick read for a mid-level software engineer.
Agile Software Development, Principles, Patterns, and PracticesAgile Software Development, Principles, Patterns, and Practices by Robert C. Martin
Buy new: $62.40 / Used from: $34.98
This is an important book. Read all of it carefully. There will be a quiz. This book will take you several months. This book is rare: engagingly written, easy to read, and foundational. This is the Java and C++ version of the book. A somewhat updated version is titled Agile Principles, Patterns and Practices in C#; mostly the same but for .NET.
Clean Code: A Handbook of Agile Software CraftsmanshipClean Code: A Handbook of Agile Software Craftsmanship
Buy new: $37.43 / Used from: $35.00
This book seems like a low-end book, but it is not. It's actually a companion book to Agile Software Development: Principles, Patterns and Practices. Bob Martin calls this book the prequel, but you won't get the full value of this book without knowing the other book. The first half can be read in days; the second half of the book will take weeks, if you do it right.
C++ Gotchas: Avoiding Common Problems in Coding and DesignC++ Gotchas: Avoiding Common Problems in Coding and Design by Stephen C. Dewhurst
Buy new: $32.25 / Used from: $20.00
Moving past the basics of being a C++ programmer, you will need to move past the memorization of things to do or not to do, and into the realm of understanding what creates problems or what creates good design or implementation. This is a gentle introduction to that world, couched in the form of "problems you will encounter while programming in C++".
Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition) by Alan Shalloway
Buy new: $26.28 / Used from: $19.85
This is a better book for design patterns than the Gang of Four book. That's heretical, I know. The original Design Patterns book was very valuable, but it's out of date. This book is more balanced and rounded.
TCP/IP Illustrated, Volume 1: The ProtocolsTCP/IP Illustrated, Volume 1: The Protocols by W. Richard Stevens
Buy new: $56.76 / Used from: $10.00
This is at once a both very pragmatic and very thorough book. It is a complete grounding on TCP/IP programming. It contains dozens of short illustrative programs, and at the same time goes into the depths of both the TCP/IP stack and network programming in general. This will give you a thorough grounding in network programming.
Refactoring: Improving the Design of Existing CodeRefactoring: Improving the Design of Existing Code by Martin Fowler
Buy new: $50.69 / Used from: $38.20
This is the seminal book on code refactoring. It is still a very worthwhile book to read, although I expect at some point a newer book to supplant it (much like the original Design Patterns book has been replaced). Read this book, understand it, and use it.
Secure Coding in C and C++Secure Coding in C and C++ by Robert C. Seacord
Buy new: $29.90 / Used from: $23.00
This book is a good introduction towards thinking of the security ramifications of programming. I disagree with many practices in the book. it's a good example of taking things too far (e.g. Microsoft's library decisions in '03-'07). It is a great object lesson in good and bad practices, although I'm sure the author did not intend the negative parts.
The Software Development Edge: Essays on Managing Successful ProjectsThe Software Development Edge: Essays on Managing Successful Projects by Joe Marasco
Buy new: $42.49 / Used from: $0.39
This is a well-written book about the practice of software engineering. It's about the engineering portion, and more towards the soft side of that. It's a very valuable book, aimed at your thinking process.
The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life)The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life) by Chad Fowler
Buy new: $16.29 / Used from: $13.17
Why are you doing what you are doing? What are you doing? I'm referring to the big picture questions that shape your career. This book is useful in that it can help you articulate this to yourself. At this point in your career, you should be devoted to it, because you're about to spend a huge amount of time in improving it. Be certain of what you need to do, it's your life.
Facts and Fallacies of Software EngineeringFacts and Fallacies of Software Engineering by Robert L. Glass
Buy new: $27.09 / Used from: $16.00
This is a clear, easy-to-read guide through the pitfalls of programming. The book's value is its succinctness. The challenge is to yourself: you will read it, agree, and then set it aside. That would be a grave disservice, because there's a disconnect between our desired behavior and what we actually do. Read this book and use it. Upper-division version of The Pragmatic Programmer.
Beautiful Code: Leading Programmers Explain How They Think (Theory in Practice (O'Reilly))Beautiful Code: Leading Programmers Explain How They Think (Theory in Practice (O'Reilly))
Buy new: $38.45 / Used from: $24.64
As you approach senior, you will spend more and more of your time learning both theory and practice. This book is an excellent start to that; its 20 chapters cover a number of great approaches or techniques that different programs have created.
C++ Templates: The Complete GuideC++ Templates: The Complete Guide by David Vandevoorde
Buy new: $48.14 / Used from: $35.99
Portions of the book are advanced enough that it serves best as a reference for the mid-level software engineer, rather than as a textbook. Use it to answer questions that you have when you are working on templates. Or take this statement as a challenge and read the whole thing.
The C++ Standard Library: A Tutorial and ReferenceThe C++ Standard Library: A Tutorial and Reference by Nicolai M. Josuttis
Buy new: $51.35 / Used from: $39.71
This is currently the most useful tutorial and reference for the C++ Standard Library. I don't expect you to read the entire book. Regardless whether you actually use the C++ Standard Library or (or some other), the first five chapters will give you solid grounding in generic libraries. Chapters 8 and 9 are also particularly useful for anyone.
Herb Schildt's C++ Programming CookbookHerb Schildt's C++ Programming Cookbook by Herbert Schildt
Buy new: $30.99 / Used from: $14.83
Despite being called a cookbook, it is not truly that - you won't open up to a specific page and read it and use it. Its value is in the large number of examples of techniques, it's a slightly more gentle introduction to programming with generic algorithms. Chapter 4 is the best chapter in the book.
Algorithms in a Nutshell (In a Nutshell (O'Reilly))Algorithms in a Nutshell (In a Nutshell (O'Reilly)) by George T Heineman
Buy new: $31.49 / Used from: $25.12
This is a useful reference material for basic algorithms.
Coders at WorkCoders at Work by Peter Seibel
Buy new: $19.79 / Used from: $19.19