An outrageous, insightful, and sadly accurate commentary on programming. I found this an extremely entertaining read and agree with most of it. It doesn't offer solutions, but certainly highlights a lot of the problems.
"Double you tee eff?" you say, and start hunting for the problem. You discover that one day, some idiot decided that since another idiot decided that 1/0 should equal infinity, they could just use that as a shorthand for "Infinity" when simplifying their code. Then a non-idiot rightly decided that this was idiotic, which is what the original idiot should have decided, but since he didn't, the non-idiot decided to be a dick and make this a failing error in his new compiler. Then he decided he wasn't going to tell anyone that this was an error, because he's a dick, and now all your snowflakes are urine and you can't even find the cat.
Personally, I think things will only get better (including salaries) when software development is treated like other engineering disciplines.
(Score: 1) by nwf on Friday May 02 2014, @05:17AM
I think part of the point of making software more like engineering is that it would prevent exactly that sort of outsourcing. You could only contract with licensed software engineers, which the random guy from Nigeria wouldn't be.
Large software projects nearly always end up like healthcare.gov when done by large corporations and the government. Something about corporate culture that's mostly use to dealing with non-technical requirements and solutions. I've seen it time and time again, which is why I don't work for a large corporation or the government anymore.
The thing about software is that since it can be reproduced cheaply, and you can see the result of your effort almost immediately, it fuels rapid innovation and new ideas. I don't think people are willing to give this up to make software significantly more engineered, except on high-consequence projects.