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.