Would recommend this book to anyone who is looking at taking a career in software development. Covers almost everything you need to know to a basic level, though a couple of sections are a little dated this book really helps make the transition from just understanding how to code to being a career software developer.
Clean code is a good book about coding standards and thinking about how you lay out your code. While I do not necessarily agree with all the recommendations it is spot on with all the areas that you need to consider. It really helps to make you think about how you lay out your code and take some pride in it.
This is a really good book for people who are looking at starting to do automated developer testing, while it may take a couple of reads mixed with a lot of practice eventually it will all make sense. I would recommend avoiding the first edition of this book as the writer changed his approach on a few key areas that really make a difference when trying to get to terms with unit testing.
The Design of Everyday Things (1st Edition) amazon
The design of everyday things is a great introduction to usability and its underlying concepts. I would recommend getting the first edition as I found the second edition much harder to read due to the extra information in it.
This book is not about programming but I would really recommend it anyway as it looks at the way you solve problems and aims to help you with understanding and improving the process. It is also full of little games and exercises that are fun to do.
This book is a really good introduction to the concept of design patterns and has most of the classic (although some you probably won't ever use) design patterns listed. While the catalogue part of the book can be hard to read it really helps you by giving you an insight to some useful patterns that experienced developers use.
Refactoring is an awesome book although I find the catalogue part that lists all the refactorings mostly useless when you are working in a modern IDE that has short cuts for a lot of them. It gives a good understanding of what refactoring is and why it is so key to being a software developer.
This book is essentially a motivational self help book written especially for developers, it is a really good read and full of all sorts of useful information on how to deal with the rest of life while having a software developing career. From making a CV to getting your dream job and managing money this book essentially covers everything that's not normally in software books.
This defiantly feels like more of an advanced book but really helps you to think about the way you design your object oriented programs. Some of the sections about using polymorphism over conditional logic we're quite a mind opener. Am looking forward to reading this one again soon as I feel this book still has much to offer.
If any book can be described as a classic in the software development field it is this one, a great book that focuses on managing software projects. While much of the information may seem out of date it has so many points that still ring true in today's software development world.