There were some book which changed a bit my way of thinking regarding software development. I think everyone should read these books who have anything to do with programming.
The list is the following:
- Robert C. Martin: Clean Code
I read this book shortly after I started to work as a software developer. At my first company it was a big problem, that all code was messy which caused quite a lot of issues. The book changed the way I’m thinking about programming and helped a lot during your carrier. But of course you need to handle it flexible: don’t follow blindly everything what you read.
- Steve McConnel: Code Complete
This book is quite long, but it is covering almost everything what is connected to programming: requirements, debugging, refartoring, configuration management, documentation, integration, development, everthing.
- Michael C. Feathers: Working Effectively with Legacy Code
This book was proposed for me by a colleague when we needed to refactor a quite complex old legacy tool. This refactoring was done succesfully, it was strongly decreasing the amount of bugs and it would not happen without this book.
- Robert C. Martin: Agile Software Development
This book is much more about processes, but it is partially covering technical topics as well. It gave me a pretty good overview on agile processes. I read it when we started to work based on scrum at my current company and that was my first experience with scrum. It helped me to understand the whole process and gave me a lot of ideas for improvement.
- Robert C. Martin: The Clean Coder
It is never enough to talk about code quality. If you liked Clean Code, you need to read this one as well!
- Gayle Laakmann: Cracking the coding interview
The best book to read before starting job search and attending interviews. I got it a bit late, I read it before the first technical interview I lead at my place, but it was really helpful. I plan to write more about this topic later.