For one: I hate dry boring textbooks. I have ADD and I can't focus my attention on boring explanations that don't allow me to “do” something. The Head First series of books do such a magnificent job of not only teaching you little bite size chunks but to also encourage you to do little activities along the way to test your learning. It has silly jokes and funny captions along the way that will make you giggle because it's so dorky. But for someone who is just starting out and wants to learn software development I can't recommend this book enough.
Clean Code: A Handbook of Agile Software Craftmanship
Clean Code is all about…writing clean code. No but seriously I experienced a huge paradigm shift when I read this book and learned that writing code that is easy and intuitive to understand will make your life so much easier. This book explains many subtle ways in which you can write your code to improve readability.
Clean code is so massively important and I have seen the differences from organizations/teams that really implement clean code standards and those that do not. There is a clear difference in the ease in which a team is able to collaborate when code is easier to read. It used to be a point of pride that I could read code that was hard to read. Now I think of terms of making code as readable as possible so that when I or others come back we can pick up what is going on faster.
Ideal for: beginners who have some coding experience, intermediate to advanced developers
Test-Driven Development introduces the approach to programming that includes writing unit tests “as you go”.
I am a massive proponent of unit testing and have seen the benefits that an organization gets when moving towards applications that are thoroughly tested. Test driven development is a great introduction to writing unit tests and while in practice the application of “TDD” can be very tedious, it will give you a solid understanding of how to write tests.
Ideal for: Beginners who have a healthy amount of coding experience, and everybody else!