- Cracking the Coding Interview: 189 Programming Questions and Solutions
- Programming Interviews Exposed: Coding Your Way Through the Interview
- Introduction to Algorithms
- The Algorithm Design Manual
- Effective Java
- Concurrent Programming in Java: Design Principles and Pattern
- Modern Operating Systems
- Programming Pearls
- Discrete Mathematics for Computer Scientists
- Pragmatic Thinking and Learning: Refactor Your Wetware
- Code Complete: A Practical Handbook of Software Construction
- Software Estimation: Demystifying the Black Art
- Software Engineering: A Practitioner's Approach
- Refactoring: Improving the Design of Existing Code
- Coder to Developer: Tools and Strategies for Delivering Your Software
- Perfect Software: And Other Illusions about Testing
- Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application
- Understanding Professional Software Environments
- Agile Software Development: The Cooperative Game
- Software Project Survival Guide
- The Best Software Writing I: Selected and Introduced by Joel Spolsky
- Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams
- Rapid Development: Taming Wild Software Schedules
- Peopleware: Productive Projects and Teams
- Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency
- Against Method
- The Passionate Programmer: Creating a Remarkable Career in Software Development
- The Mythical Man-Month: Essays on Software Engineering
- Computing Calamities: Lessons Learned from Products, Projects, and Companies That Failed
- The Deadline: A Novel About Project Management
- The Pragmatic Programmer: From Journeyman to Master
- Personal Development for Smart People: The Conscious Pursuit of Personal Growth
- The Clean Coder: A Code of Conduct for Professional Programmers
- Clean Code: A Handbook of Agile Software Craftsmanship
- Solid Code
- Code Craft: The Practice of Writing Excellent Code
- Software Craftsmanship: The New Imperative
- Writing Solid Code
- Head First Design Patterns: A Brain-Friendly Guide
- Design Patterns: Elements of Reusable Object-Oriented Software
- Domain-Driven Design: Tackling Complexity in the Heart of Software
- Domain-Driven Design Distilled
- Design Patterns Explained: A New Perspective on Object-Oriented Design
- Design Patterns in C# - Even though this is specific to C# the pattern can be used in any OO language.
- Refactoring to Patterns
- Building Microservices: Designing Fine-Grained Systems
- Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
- NoEstimates: How To Measure Project Progress Without Estimating
- Object-Oriented Software Construction
- The Art of Software Testing
- Release It!: Design and Deploy Production-Ready Software
- Working Effectively with Legacy Code
- Test Driven Development: By Example
- Database System Concepts
- Database Management Systems
- Foundation for Object / Relational Databases: The Third Manifesto
- Refactoring Databases: Evolutionary Database Design
- Data Access Patterns: Database Interactions in Object-Oriented Applications
- Don't Make Me Think: A Common Sense Approach to Web Usability
- The Design of Everyday Things
- Programming Collective Intelligence: Building Smart Web 2.0 Applications
- User Interface Design for Programmers
- GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos
- The Productive Programmer
- Extreme Programming Explained: Embrace Change
- Coders at Work: Reflections on the Craft of Programming
- Facts and Fallacies of Software Engineering
- Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
- New Turning Omnibus: 66 Excursions in Computer Science
- Hacker's Delight
- The Alchemist
- Masterminds of Programming: Conversations with the Creators of Major Programming Languages
- The Information: A History, A Theory, A Flood
In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.
- Peter Norton's Assembly Language Book for the IBM PC
- Expert C Programming: Deep C Secrets
- Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming
- The C++ Programming Language
- Effective C++: 55 Specific Ways to Improve Your Programs and Designs
- More Effective C++: 35 New Ways to Improve Your Programs and Designs
- More Effective C#: 50 Specific Ways to Improve Your C#
- CLR via C#
- Mr. Bunny's Big Cup o' Java
- Thinking in Java
- JUnit in Action
- Functional Programming in Scala
- The Art of Prolog: Advanced Programming Techniques
- The Craft of Prolog
- Programming Perl: Unmatched Power for Text Processing and Scripting
- Dive into Python 3
- why's (poignant) guide to Ruby
- All the Mathematics You Missed: But Need to Know for Graduate School
- Introductory Linear Algebra: An Applied First Course
- Introduction to Probability
- The Structure of Scientific Revolutions
- Science in Action: How to Follow Scientists and Engineers Through Society
- Proofs and Refutations: The Logic of Mathematical Discovery
- What Is This Thing Called Science?
- The Art of Computer Programming
- The Little Schemer
- The Seasoned Schemer
- Data Structures Using C and C++
- Algorithms + Data Structures = Programs
- Structure and Interpretation of Computer Programs
- Concepts, Techniques, and Models of Computer Programming
- How to Design Programs: An Introduction to Programming and Computing
- A Science of Operations: Machines, Logic and the Invention of Programming
- Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology
- The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation
- The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine
- Computability: An Introduction to Recursive Function Theory
- How To Solve It: A New Aspect of Mathematical Method
- Types and Programming Languages
- Computer Algebra and Symbolic Computation: Elementary Algorithms
- Computer Algebra and Symbolic Computation: Mathematical Methods
- Commonsense Reasoning
- Using Language
- Computer Vision
- Alice's Adventures in Wonderland
- Gödel, Escher, Bach: An Eternal Golden Braid