This has been said over and over again, but as long as it keeps happening it just has to be said again.
A very common career path in IT “promotes” a coder over the years to a program manager with architect responsibilities. And being an architect they stop writing code themselves. The thing I see over and over again is that these people keep living in the programming environment in which they grew up. They did loads of work in VB 6 or classical ASP. When a new piece of software has to be designed, which quite often is supposed to do something similar to the things they built themselves in their heydays, they grab their old projects to demonstrate what they have in mind. Right now I’m facing an ASP.NET site which has to build dynamic pages on the fly based on dynamic sets of data. And the lead architect bases his ideas on an ancient asp site he built years ago. Given the tools of those days it is a well crafted product but in nature it is just plain old asp spitting out html top to bottom. Given today’s tools we can write far clearer, more powerful and better maintainable code building an asp.net control tree and leave the rendering of the html to the framework. But our lead architect doesn’t know this framework.
The good thing about my lead is that he is very open minded and eager to learn about today’s tools. But it would be so much better if working and coding with them would be part of his work. How can you be a good architect when you don’t know your building materials or construction tools?