Are you just starting to learn software development or have been in it for a long time but are stuck on the wordpress hacker level? Do you want to advance your understanding of development best practices or at least have your horizons broadened? Then there are a couple of books I highly recommend as must reads.
This volume is written by Uncle Bob (Robert) Martin who also runs a companion website at cleancoders.com. Right alongside clean code is the book The Cleaner Coder which adds alot of useful information about how to be a good developer not in the code but in business and customer service.
Another volume by Uncle Bob (Robert) Martin that deserves your attention for the basics of agile development, design principles, and general software development knowledge. This volume would be a great second read right behind the two books mentioned above. However, some of the design pattern topics may be advanced for beginning developers but, will become more useful as you wrap your head around these principles.
Another work great for intermediate or beginner developers is the head first book on development. The head first series has many great features and this particular book steps you through the agile development process. The only caveat to this book and the one immediately above is they focus on team environments but their methods can be adapted for solo developers.
If you are beginning development or are an intermediate developer I highly recommend you look at these resources. In a future post we will discuss some great video resources as well.
For the Business Owner
If you are a business owner and are wondering what this post has to do with you here it is: Any developer you hire should first of all be a professional in how they work with you. (This does not mean they can wave a magic wand and fix everything or build that new idea in a day). Second, being a professional developer means that a developer should be continually learning and already have firm foundation of knowledge. Additionally, a professional developer uses accepted best practices as a means of producing quality software that works, works well, works long-term (is maintainable and expandable). This is much like any other profession for instance if you are a home builder your customer expects you to build homes according to industry standards (best practices) and building codes. Just because a person claims to be a developer does not make them one, hire a professional.