Everyone should learn about design

If you plan on raising your development team's design competence by, say, letting some of them take a course in design patterns, then I think it's wise to allow (force ) all of them to take part.

Letís have a look at three arguments in favor of this.

Eric Evans writes in his book "Domain Driven Design" (a must read, BTW) that "software development is all design" in response to an old (and bad) metaphor that highly skilled should design, less skilled should assemble.

I recently took part in two workshops with other developers, most of whom I hadn't met before. We all came from different backgrounds, countries, platforms, etc, but, everyone was experienced with GoFís Design Patterns and Fowlerís PoEAA. Actually, I didnít think about it during the workshops, but afterwards it struck me how powerful it is when everybody shares a design language. Of course we didn't see eye to eye on every detail, but we did understand each other extremely well on the whole.

Finally, I often hear from developers that "all this patterns stuff is great, but when I come back home, no-one else on the team understands what Iím talking about".