The job title “architect” seems to mean something different inside every organization. At far too many companies, it is almost an honorary title, being reserved as a promotion for long-term company loyalists who “know the business”, instead of actually meaning anything related to the overarching technical design required for the successful release of quality software.
Knowing the business is great. In fact, knowing the business is essential. I hope that business experts abound within your organization. But “architecting” is not what these people are doing.
Here is a list of some of the knowledge, skills, or qualities that I think are required for anyone who wants to be called “architect”. In no particular order:
- Speaks in terms of design patterns
- Uses open source/commercial off the shelf(COTS) software
- Can determine the least cost solution for a particular business need
- Desire for a career path in technology which is NOT management
- Knowledge of both current and next-generation technologies, so that development efforts can be synched up with other developers in the industry
- Knows how to avoid or get out of anti-patterns
- Embraces simplicity as a fundamental design principle
- Can embrace the good ideas of others
- Unafraid of change
Do you know who the architects are in your organization? Are these the qualities that they are known for?