I have been coding for a few years and still feel that my knowledge is not broad enough to become a professional. I have studied some books related to design patterns, but I know there are many others.
So could somebody list the patterns and principles which you think are good to learn to become a better programmer and more professional?
Programming Languages I work on: C#, Ruby, Javascript.