"When I started writing programs in the late 80s it was pretty primitive and required a lot of study and skill. I was a young kid doing this stuff, the adults at that time had it even worse and some of them did start in the punch card era. This was back when programmers really had to earn their keep, and us newer generations are losing appreciation for that. A generation or two ago they may have been been better coders than us. More importantly they were better craftsmen, and we need to think about that." I'm no programmer, but I do understand that the current crop of programmers could learn a whole lot from older generations. I'm not going to burn my fingers on if they were better programmers or not, but I do believe they have a far greater understanding of the actual workings of a computer. Does the average 'app developer' have any clue whatsoever about low-level code, let alone something like assembly?

"In the old days and with all that low level stuff people could at least debug their code almost all the way. Now they suggest to reboot, reinstall the application, reinstall .NET or reinstall Windows. And even then that's no guarantee it works!"

To be fair, the reinstall strategy often DOES solve the problem. It's absolutely lame, but software is so dense these days that as a *user* reinstalling is often the path of least resistance. A good developer should track down and fix the root cause, but good luck reaching one through tech support.

The situation has improved, but in the days of NT 4.0 there were admins who use to have their server reboot automatically every night or else stuff stopped working or slowed down too much.

It's all zeroes and ones, so when something doesn't work right it should be possible to figure it out. It's just that between us and the actual coders there are a lot of human shields and even when the coders can be informed they either do nothing or can't figure it out.

Absolutely...
as a developer myself I can recount three occasions where I've tracked down the exact cause of a bug, reported it to tech support so they could escalate the bug to developers for a fix.

With cyberpower tech support I was in contact with the project manager himself and he was very receptive & helpful, within a few days I had my hands on their new software.

With netgear, I had to fight through the tech support pyramid, going so far as supplying source code to prove the existence of a reproducible VOIP packet corruption bug. Eventually they acknowledged the bug, and promised an update, but a fix was never issued even though these devices were still "officially supported".

With microsoft, I uncovered an XML parsing vulnerability. I must say I was impressed with their tech support competency and they were able to address the issue promptly. (It was through a paid support contract).

If you've got a problem with your computer's 0's and 1's though and you cannot trace it yourself, then I'm not sure many companies will be willing to dig into it to find out why their software failed. Presumably if there are alot of mystery bug complaints queuing up the tech support lines, then they'll investigate, otherwise it's "reinstall" and away with you.