Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
    
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 Rizos Nov 9 '12 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 Rizos Nov 9 '12 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 '12 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. –  Jimmy Hoffa Nov 9 '12 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. –  user61852 Nov 9 '12 at 21:11
show 3 more comments

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.

share|improve this answer
5  
not needing programmers any more is a trope the media spins out every 10 years or so since the 50s. –  jk. Nov 12 '12 at 15:01
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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