You have Visual Studio 2005. You are equipped with impressive hardware. Yet, you may be unable to write a large software system. Why? The key point is your perception of patterns that applies to big systems. Some say, they are applicable to each and every system - that the world is of systemic nature. Whether it is true or not, patterns are definitely the most powerful mental concept that allows you to embrace large system and  to do it in non-chaotic way.

In Microsoft we value software patterns a lot. There is special group called PAG that runs patterns & practices Developer Center (http://msdn.microsoft.com/practices/).

There is also PatternShare (http://www.patternshare.org/) webpage devoted entirely to sharing and promoting usage of software patterns. In their own words: "PatternShare.org is a wiki site that aims to increase pattern sharing, dialog, and usage by bringing together people who want to learn proven solutions to common problems from people who have solved them before. The pattern format combined with the flexibility and community ownership of the wiki make the site ideal for this kind of community".

Pattern "language" become a common language to explain on high level how a software system works. It is essential to know the language that more and more software developers around the world is using nowadays.

If you think seriously about software development on .NET Framework you should visit these sites frequently and get acquainted with Software Patterns…. and practices.

PatternShare  - http://www.patternshare.org/

Patterns & practices Developer Center - http://msdn.microsoft.com/practices/