Coding standards, library standards (stuff like naming conventions), software development processes, higher level software design concerns (for example, take in account the need for change in the future as part of a software design), design libraries taking in account extrenal concerns (say, how 3rd parties actually work with them) and so on.
It’s basically the next level from software design, which in turns is the next level from coding.
The most senior position one can have in the technical career track in programming is Technical Architect.
As far as I can tell, Google doesn’t really have any of those (or they’re not at all good at their job).
Having a dedicated technical architect who hovers above the dev team handing architectural decisions down is also not always seen as an ideal construct in software development.
If you have a technical architect who does that then they are just bad at their job, but that doesn’t invalidate the importance such a position can have (if done right) in a large software development company.
They probably do, but with how expansive they are, the massive variety of acquisitions, and not being clairvoyant, it’s gotta be like herding cats.
I’ve worked in tech companies (systems management, telecom, etc) and in conventional businesses (manufacturing, distributing, production, reselling, banking, etc).
The arch teams in conventional business are more structured, formalized, as their remit is to ensure infrastructure is stable, predictable, and to practically eliminate risk.
The tech companies have arch teams whose focus is interoperability between business units, high communication, maximize utilization, etc. Risk is still a concern, but it’s not primary (unless you fuck up). Tech orgs are about flexibility.
What’s a technical architecture? Serious question.
Coding standards, library standards (stuff like naming conventions), software development processes, higher level software design concerns (for example, take in account the need for change in the future as part of a software design), design libraries taking in account extrenal concerns (say, how 3rd parties actually work with them) and so on.
It’s basically the next level from software design, which in turns is the next level from coding.
The most senior position one can have in the technical career track in programming is Technical Architect.
As far as I can tell, Google doesn’t really have any of those (or they’re not at all good at their job).
Having a dedicated technical architect who hovers above the dev team handing architectural decisions down is also not always seen as an ideal construct in software development.
It isn’t ideal because it slows the project down, which may be good if it reduces technical debt.
If you have a technical architect who does that then they are just bad at their job, but that doesn’t invalidate the importance such a position can have (if done right) in a large software development company.
They probably do, but with how expansive they are, the massive variety of acquisitions, and not being clairvoyant, it’s gotta be like herding cats.
I’ve worked in tech companies (systems management, telecom, etc) and in conventional businesses (manufacturing, distributing, production, reselling, banking, etc).
The arch teams in conventional business are more structured, formalized, as their remit is to ensure infrastructure is stable, predictable, and to practically eliminate risk.
The tech companies have arch teams whose focus is interoperability between business units, high communication, maximize utilization, etc. Risk is still a concern, but it’s not primary (unless you fuck up). Tech orgs are about flexibility.