11 Apr 2017 by mallyanitin
A Quick search for software architect titles would dispel this myth.
- Application Architect.
- Java Architect.
- Cloud Architect.
- Database Architect.
- Data Architect.
- Analytics Architect.
- Security Architect
- SOA Architect
- Solution Architect
- Product Architect
10 is a good number to make my point. Now let’s look at super-specialization.
- Cloud Architect
- AWS Architect
- Azure Architect
- Cloud Foundry Architect
- Google Cloud Architect
- Database Architect
- MS SQL Architect
- Postgres Architect
- Azure SQL Architect
- Cassandra Architect
Generalizing this, it could be reasoned that, the ask in the marketplace is for:
- Big “A” Architect, known for his/her knowledge of patterns and practices of general architecture.
- Specialized Architect, known for his/her knowledge of patterns and practices in a specialized field (e.g. cloud, security, database)
- Super Specialized Architect, known for his/her knowledge of patterns and practices in a super specialized field (e.g. Azure, AWS, Postgres)
Hmmm…now now, if you have different super specialties that are required to build a product, would you
- Build a team of super specialized architects?
- Hire an architect, and have collaboration with super specialized engineers, consult with super specialized architects on a need basis?
My personal preference is #2.
Let’s take a healthcare analogy. In healthcare, you can find generalists, specialists and super specialists – general physicians, cardiologists, pediatric cardiologist, neurologists, dermatologists, endocrinologists, etc.
If you have a headache, where do you go? General Physician or neurologist?
- The chance that your condition is classified as a common condition is high, if you visit the general physician.
- The chance that your condition will be over-tested is high, if you visit a specialist.
It’s generalist and specialist bias.
Same is true with software architecture. Go to a software architect for an authentication problem, the solution proposal will look simple e.g. Use LDAP. If you go to a security architect for an authentication problem, the solution proposal will be comprehensive e.g. Use LDAP, Enable SAML & OAuth2 for single sign on, Test for OWASP Top 10 Web Application Security Risk, Develop threat model, …
The specialist is also costlier than the generalist; and the super specialist is costlier than the specialist.
You can always take second opinions with a specialist. However, its best that the system encourages generalists to front-end specialists. A tiered approach is better than walking directly to a specialist.
Just like a family physician (PCP – Primary Care Physician) is the first line of consult, a general architect (Big “A” Architect) is a good start to lead the architecture of a software product/solution.
But – hey – specializations exist in software architecture.