I want to understand how architecture is practiced at FAANG companies (or similar companies, like Uber, AirBnB, Dropbox etc.) To make that question more concrete, I'm interested in understanding the following:
- By what roles is architecture done at your company? Is it a separate architect role, or part of engineering roles?
- How are architecture decisions made and validated?
- How is architecture documented?
- How much freedom is there in making architecture decisions as a (product) team?
- Related to the previous question, are there top-down "rules" in terms of technology choices? For example: what databases you can use, what API protocols are mandated (e.g. REST vs GraphQL vs gRPC). If there are general rules, who makes those rules and who updates those rules?
- Does your company explicitly deal with "Business Architecture" next to technology architecture? If so, how and why? (ie. what problems does it solve for you?)
- What downsides do you perceive to the way architecture is practiced at your company?
Some background: I'm working at a big enterprise/corporate in Europe that wasn't originally a digital business. Like most companies, we've been focusing on making more parts of our operations digital and basically becoming a digital-first company. Now I'm interested to have a look outside my own bubble and to see how companies that are technology-focused at heart and digital-first are approaching architecture.
I'm not looking to start a flamewar on the merits of architecture roles or anything. I just want to understand how others are doing it, so I can learn.
Thanks in advance for your answers!
That is, it's entirely dependent on what teams and groups you are in.
Famously, Conway's law says you ship your org chart...