Not sure if Ironic is the right word...
But funny that you write that on a computer, that took hundreds of thousands of lines of code working property, from dozens of companies. This is just so you could type it. Form the firmware in your display, to the drivers in your mouse and your keyboard, to the operating system. Hell, the hundreds of lines of code that keeps your fan going so the whole thing doesn't melt needs to work.
This is all before you click the "Submit Reply". The dozens, if not hundreds, of computers that need to send those packets of data from your computer to the database they sit in is mind boggling in it's own right. The millions of lines of code that has to all just work, and keep working, for the internet to be what it is.
Your post, is proof in itself of its inaccuracies.
Dozens is a stretch on this particular device. It's one of the reasons it works so well, actually.
I could go into what I know about the device's hardware and some speculation about its heritage, but it's unnecessary. The OS and drivers do take some advantage of code re-use, but this particular manufacturer isn't a big fan of it.
My comments were about new code doing new things. OSs are a different entity. Not a single new code project I've ever seen ever came out on time, under budget, and did exactly what the customer wanted when they were sold it. The Internet made this worse, actually. When it cost significant money to ship an upgrade disk to a customer, the industry was a lot more careful about what went into a release and how much it got tested, before shipping.
Today alone this week, I received six patches for six core OS modules with 20+ YEARS to find those bugs. These are core things like an FTP daemon that can trace its lineage all the way back to Berkeley. It still has bugs. It's older than my tech career.
That's a pretty damning statement in any other business, perhaps with Law and Medical Doctors as a good exception. They clearly state they're "practicing" and demand minimum levels of knowledge via professional Board certification. Good luck ever getting programmers to accept that level of mandatory licensure or knowledge requirements. Programmers produce a testable, definable, product. The most common failure is defining what you want it to do and sticking to it.
Why? Because the business impression is that quick code NOW is better than good or even great code later. Case in point...
This week it was found that a non-professional programmer employee at my employer had convinced management to allow him to write, debug himself, and deploy a tool to the desktop of over 100 people. Management allowed him to bypass all controls doing so.
Apparently it had bugs, since all software has bugs, and he used e-mail to distribute a new version without management's blessing and after he'd been told that the Security dept needed to do a peer code review on the FIRST version.
Version 2 apparently did damage. It also didn't work any more at all. By the time my portion of the fiasco came up ("Can we stop distribution of executable files via the mail server?") no less than six staff members were involved in the cleanup, eventually leading to more than ten staff members including managers.
Was the tool worth it? How many bigger projects got pushed out? Do the managers even understand?
Not my questions to decide. But I see that amateur hour play out every single year at every employer I've ever worked at. This isn't some horror story of just one bad management call about software. It's epidemic.
The point of the story is... the software industry lets this happen daily. In thousands of businesses. It's only the extra work put in by folks willing to put up with it, that keeps any of it running. Those mistakes get into commercial software projects by the thousands. It's the ultimate in job security.
30+ years into this industry, you'd think customers would demand better than even having to have people like myself who fix silly avoidable stuff in servers because some unsupervised, uncredentialed, person made a coding mistake years ago, that no one even attempted to peer review.
I've said it for a long time, that from where I sit, the software industry needs to grow up. Certification, Board review of aggregious errors, personal liability for those who say "it's ready to ship" tied to professional licensure, ability for someone to lose their credentials, etc. It works in many many other professional jobs to significantly lower risks.
Pilots spend significant time learning the things they could do that would get their licenses and livelihoods yanked. Coders just get fired and head to the next company, claiming 10 years of experience. Haha. Seriously. Maybe their peers will communicate their displeasure through the grapevine, but it's easy to avoid.
I've also said licensing and accountability is unlikely to happen because it would make computing completely unaffordable.
We've had how many "flash crashes" and "built in circuit breakers" put into our computer-driven financial trading systems now? Is that progress?
How big is the "Network Security" industry because of relatively simple mistakes made in network code never designed originally for un-trusted network traffic?
How much money does it all cost?
One must always ask... Is a filing cabinet 100x cheaper to store this data in than a digital system? Are the benefits high enough to pay for the reality of outages, on-call personnel, and instant access to it?
Last night's "fun" was a 9PM call to another country to reboot a machine who's sole job in the world is to aggregate log files and ship them to the States. The software and servers cost more than my house.
They're not optional, they're required by a third party auditor in our business. The software that's been around for almost a decade, has a bug. A really stupid glaring bug. If the master server is down and not accepting network traffic, the collector software doesn't log to disk. It retains the information in RAM.
Any IDIOT can see this is wrong. It's also not documented. It crashed the box. Well, technically it triggered the operating system's emergency out-of-memory mechanism and the OOM killer randomly chose to kill the remote access software on the system. The box stayed up, but was useless.
We are a SMALL customer of this vendor. Is this the quality level a $500K piece of software should be at? No. How would we have known it was awful, or more appropriately, how would our executives who don't have 20 years of experience have known? They saw a pretty Powerpoint that said the stuff was more than it is, and bought to check off a requirement checkbox. They even say through three vendor's Powerpoint presentations. This company is "industry leading" software in its class.
I knew the stuff was "trouble" the first day I was handed their non-standard software packaging and told, "install it." I could see it was sloppy code that day, and said so.
The purchase decision was looooong under the bridge, and the deadline to meet the auditor's requirement was only a couple of weeks away.
This level of accidental willful ignorance of how systems really work, happens DAILY to every sysadmin I know. And sysadmins are a LOT cheaper than forcing vendors to write good code and then paying the price for it.
When bad code already costs more than my house for two servers plus about ten copies of the collector code, it shows clearly on the books what the cost is, if you look.
The price tag to meet the audit requirements includes two salaries plus benefits minimum -- to babysit the code.
Yes, we do other things. But even if there were no other work, the bad commercial code would still require two babysitters. Or we'd be shut down by our auditors.
As I said, I know where I stand. I'm a lot cheaper than the alternative of buying or demanding something so good from the code that I'd be out of a job.
I've been a code crash cleanup janitor for 21 years now. It's a good living.