roguecoder
Joined 15 years ago
Joined 15 years ago
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.)
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?
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.
What is wild is that they are deploying without first testing in a staging environment.
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.
Tesla claiming it planned to implement self-driving with just cameras has always meant I don't trust anything they touch.
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 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.
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.
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.
Banning substances dramatically decreases use: https://link.springer.com/article/10.1007/s00414-015-1184-4 and legalized opioids dramatically increased heroin use: https://www.tandfonline.com/doi/abs/10.3109/15360288.2015.10... Access matters.
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".)
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.