The best "architects" serve as facilitators, rather than deciding themselves how software is built. They have to be reading the code, but they don't themselves have to be coding to be effective.
You don't need one until you've got 30-70 engineers, but a strong group of collaborative architects is the most important thing for keeping software development effective and efficient at the 30-1,000 engineer range.
This is where an architect is useful, because they can ask "why?"
Sometimes there is a reason!
Sometimes there isn't a reason, but it might be something we want to move everything over to if it works well and will rip out if it doesn't.
Sometimes it's just someone who believes that functional programming is Objectively Better, and those are when an architect can say "nope, you don't get to be anti-social."
The best architects will identify some hairy problem that would benefit from those skills and get management to point the engineer in that direction instead.
A system that requires homogeneity to function is limited in the kinds of problems it can solve well. But that shouldn't be an excuse to ignore our coworkers (or the other teams: I've recently been seeing cowboy teams be an even bigger problem than cowboy coders.)
Why are you rewriting the same application a second time?
I've personally yet to have a situation where that comes up. And every application I've ever worked on has its architecture evolve over time, as behavior changes and new domain concepts are identified.
There are recurring patterns (one might even call them Design Patterns), but by the time we've internalized them we have even less need for up-front planning. Why write the doc when you can just implement the code?
XP putting a customer on the team was the best thing in the methodology. Replacing those with business representatives is one of Scrum's original sins.
The problem isn't programmers: it is cheap-ass executives obsessed with compliance.
Good software designers are facilitators. They don't tell people how to build software, but say "not like that" by making the technical requirements clear. They enable design to constantly change as the needs change.
It has been a long time since I've been at a company willing to actually employ someone in that roll. They require that their most senior engineers be focused on writing code themselves, at the expense of the team and skill-building necessary for quality software.
Instead we get bullshit like "team topologies" or frameworks that are more about how the company wants to manage teams than they are about how well the software works. We get "design documents" that are considered more important than working code. Even the senior engineers that are around aren't allowed to say "no" if it is going to interfere with some junior project manager's imagined deadline.
Software companies are penny-wise and pound foolish, resulting in shittastic spaghetti messes with microservice meatballs.
I have seen issues like that. Rebooting has always fixed it, but it is notable.
I really wish they would hire a strong frontend team. I can almost always figure out what happened just from the signal, and it's usually a state machine getting stuck. Which I have some sympathy for, but also you just can't have that happen in something that is going to feel polished and responsive.
HP did write their own operating system: HP RTE. It wasn't until decades later, after the platform became commodified and they stopped designing their own chips, that they went with someone else's.
And of course, Microsoft made their own cards back in the day, and they still make the XBox as integrated hardware.
This technology is way too early for commodification. Right now, Rivian is a data play.
Their platform means they have consistency other providers don't have. They have data from the existing trucks on the road, and they'll roll out these sensors long before they roll out self-driving. Cleverly they've also pitched these as "adventure" vehicles, which means they'll have some data from rarer situations, not just highways. Off-road performance, for example, will add anomalies that they can use to stress-test self-driving code. If a car could handle areas without roads, it is less likely to kill people if a mudslide happens. Or a shadow falls across the bridge.
It is nice to see a car company investing in a sensor platform that could actually safely self-drive.
It is unfortunate that the existing market participants seem hell-bent on destroying consumer confidence in self-driving before this will make it to market.
We desperately need a safety regimen for self-driving cars that takes it as seriously as airplane safety.
Even just paying for the roads for these cars to drive on is a challenge with the lack-of-density they require. So many suburbs with large lot sizes just learn to live with the potholes.
He is a pro-authoritian-control Democrat, so it is unsurprising that he is more worried about control of information than he is the Constitution. His background is in finance and his political goal is generally management of the country by a monied elite without particular oversight.
He was paid by Goldman Sachs to help Clinton get elected by raising massive amounts of money. During Obama's term he structured the DNC to be about his personal power rather than supporting Democrats across the country, costing Democrats the midterms. As mayor of Chicago he covered up a murder committed by a police officer and refused to comply with transparency laws.
On the other hand, this particular position is probably just part of the Israeli campaign against TikTok: Emanuel volunteered for the IDF and has long been an anti-Palestinian activist.
America has been subject to a thirty-year propaganda war by foreign actors.
Information in America is free as in speech, not free as in beer: money talks louder than truth. That has let billionaires unravel the stabilizing features adopted after the Great Depression that kept capitalism limping along for an extra century.
We aren't concerned only about existing addicts, but potential future addicts. Especially for something like social media with strong network effects, where decreasing use is non-linear.
The question is always:
A. What do people use instead? (banning pot, for example, increases use of heroin and alcohol, which is good for alcohol companies but bad for public health. If banning social media sent kids to 24/7 news channels, it might not help, but I haven't seen evidence of that.)
B. How much is organized crime funded by the increased black market? (In this case, kids are a limited population that doesn't have a lot of money, so the answer is probably "not much".)
It isn't like the left was doing well in rural America before social media: people in the urban cores just didn't know what was going on there, and they didn't know what was going on the urban cores. But when I was growing up, people thought Bill Clinton was a communist in league with Castro.
There are other ways for money to impact politics beyond individual general elections. As well as funding community organizing and creating long-term propaganda, it's much easier to impact ballot initiatives (paid signature gathering works, for example, where paid canvassers don't.)
You don't need one until you've got 30-70 engineers, but a strong group of collaborative architects is the most important thing for keeping software development effective and efficient at the 30-1,000 engineer range.