I found an interesting quote on Ward’s Wiki about one way people can improve their capabilities as a developer.
On the Design Patterns Considered Harmful page of the wiki, someone wrote:
The sort of people who hold one book as a bible, and don’t analytically synthesize that book’s content with other ideas and disciplines, will produce crappy software regardless of which book they choose. But if they absorb the ideas of (for example) Gang Of Four, MartinFowler’s Refactoring: Improving The Design Of Existing Code and YAGNI from Embrace Change, and they weave those ideas into a cohesive gestalt, they will probably not frequently misapply the ideas from those books. If they continue reading, even just one book every month or so that doesn’t have 21 days, Definitive, Understanding, Mastering, Instant, or Dummies in the title, they’ll probably become pretty good.
This rings a bell with my own approach - although I must confess that I haven’t been maintaining the “one book a month” pace for some time now.
Currently I’m reading Domain Driven Design (Eric Evans). It’s an interesting read that brings together Design Patterns, UML, Object Modelling and a host of other topics in a lucid description of a development approach that appears to work.
The concepts detailed in Domain Driven Design are very familiar to me, not because I’ve read the book before - but because one of my former employers made extensive use of the technique. I’ll write more about this when I post a review of the book.