Patterns: Not with Me
Yes, I have to admit I do not use patterns and I hardly know any of them. Seven years ago I bought the book "Patterns in Java" and looked at it only to find out that most of them I already knew and had already applied. So this book went to the shelf to remain there until, I think, it was recycled. So far I never needed patterns to do my job and for most part there are no patterns that deal with multi-threading, class loading and bytecode manipulation (AOP).
But, no, I do not condem nor to I encourage developers to avoid patterns because they can improve their coding and communication skills. Nevertheless I think that everyone has to try hard to understand the background and motivation of a pattern rather than just applying them unchallanged. A pattern is like a cook book recipe and you master cooking when you can change the recipe or mix recipes to a new one and the meal still tastes great because then you understood the recipe rather than just followed the list of ingredients and the instructions.
The only way I used pattern lately was to check out if a company I had a job interview with was really inovative by stating that I do not use patterns. If a manager or a team lead could not accept that I went beyond the need for patterns then it told me that they cannot let developers run loose like I was used in open-source projects and they were quite conservative in handling a project. I cannot imagine that Steve Jobs (yes, I hate his arrogance but like his management style) would have followed a pattern when designing the iPod or do you?
Finally, in some of these interviews I was asked what was my favorite pattern which I find quite an odd question because I would apply a pattern that suites the problem rather than try to apply my favorite pattern. There isn't a HAMMER pattern that makes everything to a NAIL luckily otherwise most of us would be out of a job.
Have fun - Andy