Over the years I've noticed a shift in attitude towards design patterns, particularly amongst the emerging generation of developers.

There seems to be a notion these days that design patterns are silver bullets that instantly cure any problem, a proliferating idea that advancing as a software engineer simply means learning and applying more and more patterns. When confronted with a problem, developers no longer strive to truly understand the issue and design a solution - instead they simply pick a design pattern which seems to be a close fit, and try to brute-force it.

You can see evidence of this by the many, many questions on Stack Overflow that begin with the phrase "what pattern should I use to...".

I fall into a slightly more mature category of developers (5-10 years experience) and I have a very different viewpoint on patterns - simply as a communication tool to enhance clarity. I find this perspective of design patterns being lego bricks (collected like pokemon cards) a little disconcerting.

Will developers lose this attitude as they gain more experience in software engineering? Or could these notions perhaps steer the direction of our craft in years to come?

Did the older generation of developers have any similar concerns about us? (perhaps about OO design or similar...). if so, how did we turn out?

  • possible duplicate: To design pattern, or not to design pattern - I know it's not an exact duplicate, but your question is more of a discussion starter than an actual question, and I think if we strip off its not constructive elements, the core question will be an exact duplicate.
    – yannis
    Nov 9, 2012 at 17:36
  • also related: Where do you draw the line for your perfectionism? & Is perfectionism a newbie's friend or enemy? - If you read the three questions and update yours to differentiate from them and be a bit less open ended, we might have a great question in our hands.
    – yannis
    Nov 9, 2012 at 17:39
  • @YannisRizos perhaps I hit the submit button a bit too soon. I'll try and make the question clearer..
    – MattDavey
    Nov 9, 2012 at 17:43
  • 3
    "how did we turn out?" Iduno, how did you turn out? :) Juniors always have wrong-headed ideas, and everyone's a junior at some point. Some people stay there longer than others but I wouldn't expect juniors to be mostly right about much. Unfortunately ours is a craft which requires a great deal of practice to disavow yourself of stupidity, and even then you still do stupid things. Programming is hard, and in our own way we're all bad at it. Nov 9, 2012 at 17:49
  • 1
    Design patterns are both a communication tool to enhance clarity and canned solutions to common problems. Some programmer don't have enough experiences to having seen all, so knowing what patterns exist is good for them. Old programmers with a lot of experience now have an accepted named to call these solutions instead of explaining them again and again in communication. Nov 9, 2012 at 21:11

1 Answer 1


Things are better now because they can ask and we can correct.

There was a time maybe ten years ago where patterns were being discussed in the popular press. The story went that in a few years you wouldn't need programmers, you'd have one architect who would coordinate the work of 50 students (All off-shore) trained in the basic patterns.

  • 5
    not needing programmers any more is a trope the media spins out every 10 years or so since the 50s.
    – jk.
    Nov 12, 2012 at 15:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.