Years ago, my boss who was also a good mentor suggested that I get myself introduced to Design Patterns. So I went ahead and read this big catalog of design patterns - patterns which were reusable solutions for common problems in software design - problems I had not faced yet.
I thought I should fit in patterns to almost everything. I used to think I should do some sort of 'Pattern Driven Development' where everything starts from the identification of the obscure pattern. It goes without saying, I met with a lot of coding horrors. Except a few times when the patterns gelled beautifully in, I was not able to pick the right patterns for all my design problems and I slowly started losing faith in them as I gained more experience and started subconciously identifying problems and using my own solutions that have worked for me to solve those problems.
But now after many years of doing it the hard way , I think I know why everything had to happen like this. Design patterns is a waste of time if you don't understand the problems of not having good designs in software. After many years of working with piles of unfathomable mangles of code gifted by long gone deveopers, I think it's right time to start over with Design Patterns. I'm picking up the Gang of Four book again.