Friday, 13 May 2016

"It is the library of patterns that defines a good software architect"

I have recently read an interview with Ray Ozzie, Microsoft’s chief software architect where he spoke about his role as chief software architect and what makes a good software architect.

Over the last 10 years I have met a few CIOs who did not believe in the role of the software architect. More often than not those CIOs left to the senior developer or team leader in charge of the architecture. That is a very dangerous practice with many negative consequences to the organisation.

Ray Ozzie says that good software architects are the ones that have spent time building and debugging applications. He says that one can learn a lot by reverse-engineering applications. The more systems you develop and debug, the more you develop an understanding of good software architecture. “It is the library of patterns that defines a good software architect”.

Ray Ozzie’s view makes sense. A good architect should have plenty of experience in order to develop a comprehensive knowledge of the patterns required to build applications. A good software architect is the one that is always researching and learning about new technologies and how to apply them to solve real-life business problems. A good architect will not reinvent the wheel, there is probably a pattern out there for most issues in solutions architecture.