JS Ext

Wednesday, April 10, 2013

All of the design patterns

My company has been interviewing people recently for a programming position, and I noticed a weird pattern in an answer to a particular question I ask.  For programming positions, I tend to ask "What is your favorite design pattern?"  I like this question because it is an open-ended question that both reveals how much training a programmer has, but also gives me a glimpse of that person's personality and their software design style.

Programmers with formal training are supposed to know what design patterns are.  They should have experience with implementing code using a design pattern.  At the very least, they should be able to list a Gang of Four design pattern.

By asking for the "favorite" pattern, I sometimes get some nostalgic story of applying a design pattern in a great way.  I'm looking for signs that the person was involved with the design of a system, and that they enjoyed doing it.  A person who enjoys their job will often produce the best work.

One person I interviewed listed design patterns as a skill, so I asked which design patterns have you used.  His answer was "All of them".  That is a very close-ended answer that doesn't tell me anything.  I wanted him to be more specific, so I brought out the "What is your favorite design pattern?"  His answer was "What ever one we used in project X".  That told me two things: 1) he has never designed any systems and 2) he lies on his resume.

Another person I interviewed did not list design patterns.  He did not have formal programming training.  I have found that it is not uncommon for people without formal programming training.  I decided to ask if had exposure to design patterns any ways.  His answer was "All of them".  I tried to get him to elaborate by asking "What is your favorite design pattern?"  He answered Abstract class, Decorator and "Spring".  I didn't realize the Spring Framework was a pattern, but whatever.  At least he could name some Gang of Four design patterns.  What I found interesting later in the interview was the person was very big on Spring MVC, yet he didn't list Model-view-controller as his favorite.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.