4 ms·
It's less about what I expected, but more about what I did not expect. The pace of technology change has accelerated dramatically, the complexity of software h
by blunte 5y ago
It's less about what I expected, but more about what I did not expect.
The pace of technology change has accelerated dramatically, the complexity of software has grown beyond imagination, and perhaps correspondingly, the fragility and interdepencency has grown out of control.
We (myself included) have become so acclimated to complex software as users that we forget how much work is buried under the surface of a "simple" app. Even accurately describing the behaviors of a system is difficult now (and often not even documented, partly because it changes so often).
When I was taking flying lessons in the 90s, I couldn't believe how antiquated and manual-intensive the aircraft systems were. There seemed to be so many places where pilots needed to follow a checklist to perform manual tasks which could have been automated based on various available data. When I asked my instructor why it was so archaic, he explained that it's a long and arduous process to get new things certified by the FAA.
This difficulty in getting advanced systems approved was mostly due to the processes and tests required to ensure a very high standard of reliability and safety, since lives were at stake. At the time, I thought it was ridiculous. But seeing some of the Airbus automation problems (which cost a few aircraft and some lives), and then seeing the Boeing 737 Max disasters, I see how slower advancement, more testing, and slower release cycles can be beneficial.
But in the software world, the more modern approach is "move fast and break things". Not only is software now never complete (in contrast to when software was released once or once per n-years, on disk or CD), now it is released every 5 minutes with old bugs replaced with new bugs. There are days where every time you open an app, it needs to update first. I'm not sure this is a net improvement.
If I could say one really positive thing, it would be that tooling has gotten really nice. Even I recall when syntax highlighting arrived... and at first was laughed at. On the other hand, the better tooling is virtually required to keep up with the ballooning complexity and volume of the code we write.
I could rant and complain many more paragraphs, but it can be summarized thusly: modern software (and its development) has made some great improvements, but those improvements have been largely offset by reductions in the quality and formality of practices.
- maestroia 5y agoYou'll enjoy this read from 1996. "...the on-board shuttle group produces grown-up software, and the way they do it is by being grown-ups." https://www.fastcompany.com/28121/they-write-right-stuff https://www.fastcompany.com/28121/they-write-right-stuff
- handrous 5y agoWhat's really weird to me is that is sure seems like non-super-famous non-rockstar teams (so not, like, Carmack & friends) in the 90s could accomplish a hell of a lot with maybe 1/5 as many people as the same thing would take today, and I don't know why that is. Today you give me the spec for a program that a team of a dozen, including the office manager and an intern, did in the 90s in a year, and I'll tell you you'll need 50 people and 18 months, and I won't be wrong (if anything, the time estimate will be way too short). And this isn't just me, I look at team sizes for some products and wow, the WTF factor is high. Or there'd be like a five-person team but they'd write a whole damn GUI toolkit or new language or something crazy like that in the process of building their product, and it wouldn't even take longer than doing that today with a huge team and a ton of off-the-shelf software and all our modern "productivity tools". I'm not really sure what changed, though.
- zozbot234 5y ago> I'm not really sure what changed, though. Part of it is that "Agile" development methodologies became popular in the 2000s, and well, let's just say they've turned out to be a lot less 'agile' than was hoped for.