Singleton is not a design pattern

time to read 2 min | 248 words

I look at a lot of resumes, and one of the things that catches my eyes in "Design Patterns". So, several time, when I had an interview with a candidate that had this in his resume, I ask them what design patterns they know. Invariably, the question produce the following response:

"Uh... (deep, frantic thought) Singleton!"

A guy interviewing for a team lead job manages to recall Factory after a very long thought.

Bzzt, Wrong! I don't care what GoF says, Singleton is not a design pattern. If that is the only thing you know, don't put it in your resume.

If you do, expect to be asked about the good/bad of it and giving me "only a single instnace" isn't going to help you any.

Putting design patterns on your resume means that you know what Decorator is, when to use Observer (and why it is rarer in .Net than in Java), how to implement Strategy properly, that you can convince me that I should use  Front Controller instead of Page Controller, that you can tell me why Model View Controller is a good approach for this app, and why I should avoid using Transaction Script for a complex application.

It means that you can talk knowledgly about it. Preferably, that you have implemented (and understood) it.

Singleton is not a design pattern, if that is all you know, don't bother to put design patterns in your resume.