How fast you can adapt to the existing and future technologies is what seperates you from beginner programmers. Software should be based on proven architecture, and must be fun for the other developers to work with. That is why software architect is an important role of every project. I have been working for more than 6 years, specializing in .NET family of technologies, and projects ranging from basic website to nation wide CMS portal, web development frameworks, software libraries. Built complete software development framework based on .NET more than once which allows you to develop any desktop or asp.net web mvc web application using ready to use IoC, Data Access, transactions, caching, file system, network, logging, localization, dynamic modules, theme modules ..