Yes, this is well put. I was heavily influenced by Casey back in 2014 and the advice I give juniors now is always that first point about "getting the clowns out of the car". There's a lot of crossover with the "grug brained developer" here too, which is much more aligned with the web/enterprise world.
I find it very hard to convince people though. It runs counter to a lot of other practices in the industry, and the resulting code seems less sophisticated than an abstraction pile.
Interesting take, and there is some truth to the "practical vs ideological" split, but I feel like it's a bit mixed up here.
The actual division I see is between programmers arguing for simpler, more direct solutions to problems (e.g see Casey's blog post on semantic compression, or the hype around HTMX) and those who want to architect the "perfect" scalable and extensible system. The latter is much more common in enterprise settings, usually performs worse, and is the source of a lot of incidental complexity.
The article mentions microservices and event driven systems as an example of "pure engineering", but I think it's the exact opposite. I always see the "pure" crowd advocating for single binaries, fewer dependencies, fewer network hops, and less future-proofing.
I moved from startup to enterprise a couple of years ago. I never realised a job could be simultaneously so easy, while also being so frustrating.
It feels like there's very little commercial or technical juice, and very low standards. Frankly this became even more noticeable after the last wave of offshoring.
The "cloud sales" & "enterprise architecture" nexus has got a lot to answer for as well. There's an entire parallel ecosystem of people whose job is purely to sound impressive to non-technical stakeholders and then funnel money to AWS. Currently these guys are busy rebranding as "agentic systems" experts, just like they went from being OOP to microservices experts in the 2010s.
A similar thing happened at Uber before the 2021 re-org. At one point they had 3 competing internal chat apps from what I've heard from peers working there, and having previously worked for a vendor of Uber's, I noticed a significant amount of disjointedness in their environment (seemed very disjointed EM driven with no overarching product vision).
Ofc, Gergely might have some thoughts about that ;)
Hmm, this is the reasoning of a kid: "You hire devs instead of using AI, therefore you are corrupt". More conspiracy theories. Based on what the article says, it was a dev shop like Infosys or any other Indian dev company, they were working on hundreds of projects.
Interesting, though I have no idea why the government is using AWS in the first place. This isn't a startup hacking away trying to find PMF, or dealing with unpredictable marketing-driven traffic spikes. We know we need these services running long term, and can make solid predictions about usage patterns.
We could build a public sector cloud and/or adopt a sensible on-prem approach. This requires funding, coordination and technical leadership, but would save the taxpayer an enormous amount over the long term.
Public sector IT is a disaster in general ofc, but I know there are good engineers working there.
As a startup, my reason for using "cloud" (PaaS) is not to catch spikes, but because of focus. Every hour that I spend running around with HDDs, screwdrivers (or the cloud version thereof - storage, ansible, etc) is an hour that I'm not spending on stuff my customers need.
Why would this be any different for a government?
We don't expect our government to build their own cars, but to buy them from Volkswagen or Renault. Even when the government has a clear need for transport. Why do we then insist they build their own IT infrastructure?
So should a government (e.g. the police) produce its own cars, rather then buy them? Or set up a factory to make laptops?
I'm not trying to be pedantic. I'm trying to understand where the line lies (and whether that line is universal for all governments on all layers in all countries).
Your examples do not make sense on prem existed long before cloud and some shops were perfectly fine with it. If the police were producing perfectly fine cars and then they went for a car share program then I would argue that yes it may be reasonable for them to consider going back to producing cars.
> This isn't a startup hacking away trying to find PMF, or dealing with unpredictable marketing-driven traffic spikes. We know we need these services running long term, and can make solid predictions about usage patterns.
If you think government needs and demands are predictable, you don't follow politics (particularly uk politics in the last decade).
And then there are these things like pandemics that completely come out of left field. Being able to scale things on demand over the pandemic was one of the key demonstrators for use of the public commercial cloud by the public sector.
Why do we assume scaling can happen only on cloud? Gov sites are usually very low tech. We are not mining crypto. I would guess even if they outright bought servers and just scrap them later on they would come ahead.
One thing about (at least UK government) is that procurement requirements means that they go to market for quotes around usage every few years. If ie Oracle Cloud was 1/10th the price, it would likely mean they'd win the deal, and so would have to migrate to Oracle for the duration of the contract, and then potentially do the same to another cloud if that was cheaper
I'm sure a lot of countries in EU did this. First hand I know, they did this in Croatia as I was one of the developer who had to use it to deploy on it.
The worst thing I have ever seen in my life. And I worked on a lot legacy apps written in VB.NET, Web forms, old Sharepoint, Basic and even when the whole app was one big mess of store procedures.
AWS, Azure, GC are at least written with thought about end users (us, developers) while government cloud was architectured, designed and built by the lowest bidder whose first goal was to cut and cut and cut his costs whenever possible.
I don't know about the UK, but AWS has has GovCloud in the US for a long time, and to be honest compared to a lot of infrastructure I have seen there it's a blessing. On the flipside, I've met some really amazing infrastructure and ops people in a German gov healthcare institution running the in-house DC, where the problem was neither the tech, nor the people, but 100% the management and their processes, and their desire to be the bottleneck for every single interaction between infrastructure and engineering teams.
If you really think the public sector could build anything closely resembling any cloud, you are dreaming. Imagining that one cloud working for the entire public sector, we are entering delusional territory here.
Public sector projects are insanely expensive, take ages to develop and often flat out fail.
Not only that, we are starved for engineers even now. If we ran such a custom cloud, we would shoot ourselves in the leg by not being able to hire from a pool of experienced engineers.
Oh I totally understand that. Public sector IT is littered with failed projects, massive overspends and lasting functional problems. There are numerous examples from the last few years alone - hundreds of millions spent on broken software. I used to work in public affairs and followed a lot of those projects closely.
I don't think this means "government = bad at tech" though. You sometimes see smaller in-house teams do really good work. The biggest issue seems to be with contracting and procurement policy. For example, on the Police Scotland i6 program they hired a bunch of consultancies to write a tender document, and then hired CGI for the final project. That turned out to be a copy of the Spanish system, which turned into a huge and expensive disaster as the requirements differed.
Feels like government has a similar problem to a lot of legacy non-tech companies. They don't have much technical leadership, don't understand the problem, and decide to hand it off to the lowest bidder. Doesn't help that they are often legally obliged to act this way. But the underlying engineering problems aren't unsolvable, and don't need to become a huge mess every time. (Your point about recruitment is fair though)
If you think the public sector could improve its operational efficiency by building, operating and using their own cloud, I've go a bridge to sell you.
I don't really agree with this. There may not be a mathematically perfect solution to the problem of paying artists, but that doesn't preclude criticism. Apart from anything else, Spotify isn't trying to find the fairest approach, it's trying to leverage its market dominance to increase profitability and maintain market share.
This isn't necessarily about mathematical fairness.
The cake-slicing algorithm beloved by parents of waring siblings is a good example. "I cut, you choose" isn't guaranteed to give a 50/50 split. But it incentivises the cutter to act with loss minimisation as their goal. And most kids can intuit how fair that is.
There are cake slicing algorithms for increasing numbers of participants. But they become increasingly harder to understand for people who aren't experts in game theory.
So you're left with the problem of what causes the least complaints rather than what is logically fair.
I agree that 2000 was a cleaner overall design. Adding realism for the sake of it is a dead end.
That said, there are a lot of games where the details of the simulation compound on themselves in interesting ways (Dwarf Fortress, Dominions, DC:Barbarossa, Shadow Empire, Paradox games). I enjoy those sorts of games, more minimalism and abstraction isn't always more fun.
Completely agree. I'm frustrated that Oculus and VR tech in general has been lumped in, via the "metaverse", with a bunch of less useful and less interesting crypto/NFT stuff. All I wanted was some cool niche flight and mech sims, maybe some interesting AR projects beyond what Niantic could offer. Instead, we got a bunch of ugly tech demos, outright scams, and virtual meeting rooms that nobody uses.
Being able to buy drugs online was cool, but I'm not sure it was worth the billions of dollars invested and vast amounts of carbon emitted.
Yeah, Facebook's Metaverse pivot made VR pretty toxic right at the point where they were getting a significant level of adoption amongst the public.
They needed to focus on making a few more games with the mass appeal of Beat Saber and making entry level machines a bit cheaper again so there was enough users to make the social aspect actually have some value.
I'm living in the UK (Edinburgh) and I definitely feel like everything has gotten worse. The facts - on waiting times, strike days, inflation, wage stagnation, inequality etc. - speak for themselves. But there is also just a general feeling of malaise and decay.
I will say that the large population of increasingly Facebook-addled Boomers really don't help. These are people who've paid off their mortgage, can collect rental income, are becoming pensioners, and generally vote against immigration, against public spending, and for lower tax rates. They're also massive consumers of NHS resources. We're going to be supporting these people with our taxes for decades to come. Meanwhile the Government has consistently failed to support productivity growth or infrastructure investment, and our whole economy is oriented around the service sector in London and a handful of other cities.
The only alternative prospectus (Corbyn's "Green New Deal") was trashed by the established media, and his successor is now delivering bromides about national unity and being "tough on crime". He's also put EU integration completely off the menu. Nobody in power seems to grasp the scale of the economic and demographic crisis we're facing. It's not great.
I find it very hard to convince people though. It runs counter to a lot of other practices in the industry, and the resulting code seems less sophisticated than an abstraction pile.