I am a Java/J2EE developer have 5+ years of experience. Throughout my career I have spent the majority of time doing programmings and I have very good programming and debugging skills. In the last 2 years I involved myself in software designing as well. I however face problems to come up with design of a system or logical solution to a complex problem statement.
I have to spend long hours thinking on the problem and then whatever design/logical solution I propose does not seem to feasible after I get it reviewed by my architect. I however do a good job when a design is presented to me and I have to just implement it.
This seems to have dent my confidence and I am now afraid to join design discussions within my team. Could someone please suggest some training/certifications/self study which I do so that I am able to think more logically and understand the pros and cons of a design I propose.
I hope I was able to explain my problem and thanks in advance for any suggestions.
P.S: I do understand design
patterns liks Stratedy, template, factory and tiers, layers in a software system. The problem I face is how to associate my concepts to the given problem so that I can reach on a feasible solution.