Last night I went to a 70th birthday party and ended up sitting next to Frank.

Frank used to work as a computer programmer, because this was the 1970s to 90s and people had normal job titles that described real things, instead of "full stack orchestration engineer" or "solutions architect".

Anyway Frank's employer was the Victorian Attorney General's department. He wrote, updated and maintained in-house software for managing the court system, trial documentation managements and so on using low level languages.

The point of this post is that there was nothing special about this period of history that made it possible for government departments to write and maintain their own software to solve their own problems then but not now.

The complete lack of any in-house capacity to do this kind of thing is a political choice. Frank is a reminder of that.

@hugh I feel like I would have enjoyed talking to Frank
@hugh This is how we can simultaneously: exhort staff to avoid the "appearance of largesse" when claiming subsistence expenses against a daily limit that barely covers a single meal in a major city; constantly have technical jobs left vacant because we advertise "senior engineer" posts with entry level salaries; pay senior execs six figures plus bonuses to preside over shrinking budgets, growing expectations and plummeting morale.

@hugh on the other hand, the US federal judiciary has an electronic court management system they developed in-house, and it's terrible, and they also charge 10 cents per page to download any document.

so while governments certain can develop in-house software (and probably should - the UK used to be really good at this) it may not end up being any better.

@lw @hugh One government software project I worked on required a half dozen approvals and a six month deployment delay to fix a single letter typo in an obscure dropdown box display. It could have been fixed by me in five minutes. I wonder if an AI programmer, which could make the same change automatically if allowed, will fair any better
@hugh today we have better languages, better tools, better libraries and today's Frank would be far more productive. And yet
@idiot @hugh 25 years ago I read Robert Britcher's "The Limits of Software" which made this exact point using the FAA's (failed) Advanced Automation System as a case study. It's a fantastic and unique little book https://openlibrary.org/books/OL7407468M/The_Limits_of_Software
The Limits of Software by Robert N. Britcher | Open Library

The Limits of Software by Robert N. Britcher, June 25, 1999, Addison-Wesley Pub (Sd) edition, in English

Open Library
@hugh I think I'm going to call my position Solutions Architect from now on.
@Steve @hugh this is the equivalent to putting 5 stars on your head in GTA for any nearby architects
@ThermiteBeGiants @hugh I’m fine with that. I regularly point out the architects flaws already.
@Steve if I decide to take up bartending as a new career, that will be my title.

@hugh

The stupid decision to stop having in-house programming teams is the direct cause of all those insanely expensive failed systems we waste money on. Horizon, etm.

@hugh

Although, to be fair to the money worshipping creeps at Fujitsu, a lot of the Horizon system works fairly well most of the time.

@hugh we lost *A LOT* of in-house expertise in the VPS over the past decades, across any number of specialist areas.
We then hire consultants who attempted to half-arse the job at a multiple of the cost. And then fire them so we lose any knowledge re-learned.

@hugh The library world, at the large ones that can afford it (like Swedens Royal Library) still have their own development teams.

Software definitely benefits from users and developers sharing the same lunch room.

@jordgubben @hugh
"Software definitely benefits from users and developers sharing the same lunch room." I'm keeping this.

@hugh @emilvolk in the days of everyone wanting to cover their own ass… most just want an off the shelf solution anymore.
If Frank’s code did something bad, who answers to this & is responsible? Him? His bosses? And the same question now with modern vendors? It certainly provides a buffer when it comes to culpability.
(And this isn’t even considering one pretty much HAD to homebrew own software back then for these bespoke situations. Was born out of necessity.)

But yeah it was neat back then.

@colinstu @hugh @emilvolk When your IT group is managed by the legal arm of your company, outsourcing liability becomes the primary job of IT - not solving your IT problems.
@hugh Was the period really nothing special? You didn't have networking, the need to exchange data between different sites (including home PCs) and the danger of being connected to the internet. You didn't have a culture of people who assume you don't have to learn anything about computers or read any manuals to use them. You didn't have decades of advertisement and lobbying that made institutions and companies think simple cannot be sufficient.
@hugh See also https://tegenlicht.vpro.nl/artikelen/de-consultant-regeert (in Dutch, with Dutch subtitles) on this subject.
Kijk hier Tegenlicht-uitzending De consultant regeert

VPRO Tegenlicht gaat op zoek naar de langetermijneffecten van het massaal inhuren van consultants. Wat gebeurt er als een ministerie zelf niet meer genoeg kennis in huis heeft? Hoe komt het dat de consultancy-industrie zo hard groeit? Kun je het consultants kwalijk nemen dat zij de overheid aan een oneindig consultancy-infuus hebben gelegd? En kunnen we de overheid ook versterken, zodat ze in staat is zelf de regie te nemen bij de grote opgaven van deze tijd?

VPRO Tegenlicht

@hugh

The current trend of rolling-release-continuous-deployment-test-on-production has made maintaining software prohibitively expensive unless your business model is SaaS.

It is simply no longer feasible to develop bespoke software when stable releases don't exist and the platform changes on a daily basis.

Thus everyone who isn't a SaaS provider has no choice but to use whatever the SaaS providers think the most people will pay money for.

@ali1234 What you're describing is CI/CD done wrong. The testing is a critical part of continuous delivery and skipping that is malpractice.

There are times and places for stable releases. There are also a lot of places where continuous delivery is the right answer. Using the right tool for the job is part of software engineering.

@psa

The Right Tool For The Job v1 has been deprecated. You must switch to The Right Tool For The Job v2 or you app will stop working in two weeks. Please consult the 200 page document titled "How to port your app to The Right Tool For The Job v2" for more information.

@hugh

the other sad part of this is that it's not only possible to self-host internally, it's vastly cheaper these days. you don't need a raised subfloor data center and multi-million dollar mainframes. a cluster of consumer or low end rackmount computers in a rack running linux scales way past where mainframes went and would solve most company/internal needs.

there is FOSS and people with the expertise to build, maintain, and secure it.

put the money into your people, not big-tech clouds and expensive proprietary software licenses and we all win.

@paul_ipv6 @hugh Counterpoint: where is your B site? What happens when your office catches fire, or floods, or has a power outage? What's your BCP? What does your HVAC look like? How do you handle offsite backups? How much are you willing to spend to reproduce all this infrastructure that the cloud provides as part of its cost?

I have no problem developing software for a bespoke task in-house, but "run a linux server" is about as far from a bespoke task as you can get, and a lot of the "just get a wire shelf of repurposed mid-towers with no thought for the morrow" is simply gambling with everyone's livelihood.

@jcape @hugh

read the thread. i'm advocating for govt/large corp to actually hire and keep their own talent to do this. if they can't handle backups, offsite, redundancy, hire better. it's not an either or situation.

@paul_ipv6 @hugh Sir, I was responding to your post, where you wrote "a cluster of consumer or low end rackmount computers in a rack running linux scales way past where mainframes went and would solve most company/internal needs."
"oops someone quoted me making an ass of myself, time to block" -- some people, apparently.
@hugh
But if the developers are in-house, who will sweettalk the boss and take him to nice places?

@hugh

Not just programming.
Every company I worked at employed some IT support guys. Until a few years ago, when everyone suddenly 'outsourced' their IT support. Massive enshittification followed.

@hugh

When I started my career, the running joke was "ManData", a massive HR automation project (for its time) coordinated across multiple government departments, that failed.

Most departments hires a small army of consultants to tweak PeopleSoft, SAP, or whatever to sorta fit their needs. The cost is eye-watering and the results are mediocre. The other huge issue is where there is eye-watering amounts of money being splashed around, there is also eye-watering opportunities for bribery, corruption, and outsourced incompetence.

Computers are still hard. That is why AI wil save us. /s

@adavid @hugh 😅 Comrade! I still have my Mandata pickup stamp we used on the SPR cards to show we had transferred the record to online. I was in Tassy in DVA HR - the smallest branch of the most diverse employment conditions. We had everything working except long service leave for part time shift workers. I was devastated when we were told to close it down. It was such a great vision.
@hugh Well, Frank's software didn't have to integrate with SAP or Active Directory. They were simpler times.

@hugh I used to work in state (judicial) government around 2005-2009. We had in-house dev teams. The problem was we’d make software but vendors got screaming mad that we were unfair competitors. We were! Eventually our court system just mandated everyone had to use our software. So that’s a hard balance.

Governments aren’t going to spend money on apps only to not use them. But they’re also not going to invest as much as private sector. Hard balance.

@hugh @robpike The most baffling and infuriating version of this is universities. When you have a whole computer science department hungry for real-world experience building something useful, and the best you can do is friggin’ OneDrive and Google Docs. 🤦🏻😭
@a @hugh why am I tagged on this?
@pussreboots Gah! Sorry, it’s a bug in my client where when I reply to something someone I follow reposted like 2% of the time it adds someone else I follow instead of the reposter. I try to watch for it but missed this one. I’ll clean it up.

@hugh On another continent, my father worked as an on-site consultant for a software firm (later acquired by Lockheed Martin) to help them replace their in-house court management software with the firm's products.

Like with many organizations, there was more custom software written by consultants to implement their "business rules" than the entirety of their old case-management systems.

@hugh (He didn't write the software: he wrote the requirements document based on the client court system's rules, then while the other consultants were implementing that, he wrote the test plan to ensure that they did it right.)
@hugh I lived that life back in the day. I still speak fluent COBOL.

@hugh any mileage in my writing my own macros in word, excel...

The algorithms are identical to the flow charts, do loops and all, that I used in Fortran 4 in the early 1970s.

Plot spoiler: I enjoyed my 70th a few years ago...

😉

@hugh I heard an analyst say that once the outsourced 'consultant' gets their hands on an organisation's IT, they deliberately produce a faulty Version 1 so they can double their fee fixing it.
@hugh I'm slightly younger than Frank but I was an "Application Programmer" in a council funded technical college. Everything I wrote could have been shared freely with similar colleges, if Free Software had been more common, with an appropriate way to share the cost. It still could be, so why do governments give away their IP to large companies then rent it back? It's corrupt.