Just how many architects with decades of coding experience have you actually met? I'm yet to see one (in my 3rd decade of professional programming). Usually it is people who branched out from programming very early.
I'm about 15 years into my career, and I've been writing code the whole time. In hindsight, a lot of my code has held up well. I just heard that code I wrote 10 years ago is flying in space, so that's cool. I've been at my current job 6 years, and since it was a small startup when I joined and it's grown fairly big, I'm one of the most senior employees. About a year ago I was given the title, "software architect", mainly just so that I can officially make unilateral technical decisions in the presence of ambiguity when there's a schedule crunch.
Just in the last few months, I've found it difficult to be personally productive writing much code. Between catching COVID, then a string of other viruses, and having a young daughter and a baby on the way, I just haven't had a lot of quality focus time. Instead to feel like I'm earning my paycheck, I've had success in writing out high level architecture documents and diagrams, then relying on my coworkers to take over ownership and execute on the details. It's actually seemingly working out well, since I'll be going out on paternity leave toward the end of the year.
How anyone could actually BE an architect without a lot of actual developer experience is something I'd like to know. Are you sure you're not just being unfair to the architects around you for disagreeing with you on things?
I cannot fathom an architect who wouldn't be a strong developer if slotted into that role.
I've mostly stayed on engineering tracks where architects are untypical roles so had a fortune observing from a distance. Only did a few year stint with Java + CIM where architects were endemic. Now that you asked I sifted through memories a bit and yeah none of the one I worked with or observed have been coding for more than 3-4 years prior to their ascension.
I just don't see how any architect can ever be very good without a strong background in development. I'm of the opinion that an architect who isn't regularly getting feedback from the implementing teams is probably a bad architect. Their decisions will often make the implementing teams job harder and they need to understand that in order to balance broader needs with implementation smoothness.
> I just don't see how any architect can ever be very good without a strong background in development.
I think the disconnect here is that the majority of architects I've worked with haven't been "good" in a technical sense from a "actually building software" perspective. I'm assuming this is true for a lot of folks here, based on people's responses in this thread.
The day to day of some of these roles has been:
* sit in meetings with high-up product managers and biz leaders
* come up with pretty diagrams of how to totally re-build (sorry, re-architect) the system. Often this is jargon-heavy - protobuf this, envoy that, circuit-breakers the other thing.
* talk engineering management into this plan
What's been meaningfully missing is the details of point A -> point B to achieve their plan. None of the jargon is necessarily wrong but it's not grounded in the reality of the current software systems at all.
This comes about when the technical VPs aren't hands-on with the system anymore either. If non-technical leadership is saying something like "improve uptime" and you go get hire an architect into the company and you'll get a lot of presentations about things the devs on the team may already know about but haven't been able to get prioritized, but it's still on the existing devs to actually build it.
"Paying someone fancy to convince non-technical business leaders to let the devs build what's needed" isn't necessarily a bad decision from a CTO or SVP of Engineering, even! But the devs who have been saying the same shit this whole time only to now see the credit go to the higher-ups and the new architect, after getting the blame for the old status quo, don't exactly have a positive view of the architect's actual engineering competency.
> None of the jargon is necessarily wrong but it's not grounded in the reality of the current software systems at all.
Oddly enough, I'm having this discussion right now with a few other people at a new company. They want new documents to describe the ideal and I want it to describe how things work currently and evolve it over time.
OTOH, I've never gotten the impression that any of them are technically weak, I think they just view their role differently than I do. Much like how a TDD proponent will start imagining unit tests are the point, I think these architects have started to think these documents and diagrams are the point.
My experience is a bit different, the end role for engineers that don't want to land in management is usually becoming an architect, or staying as tech lead forever, unless they branch out into consulting.
From what I've seen a rather typical trajectory is towards a product manager if you are in a tech megacorp or CTO if you are in a small upstart/company (who of course is nothing like CTO at a megacorp). YMMV of course.
I just got the job and have 16 years of coding experience, with complex stuff touching major operations in several companies (not to brag, but to prove :)). Now I am doing still coding of the left-overs, but the new role is really mostly designing systems. So I think your experience is not that universal. But yeah, I've also met several architects that have like two years experience, and then branched out.
I was one, though my job title was even snootier. I still wrote a lot of code but there was some precedent for that in my immediate group, and we were always short of (real) senior engineers. Zooming out, I don’t think the natural born hackers and the people promoted to Architect overlapped too much. But once in a while, yes.