24 comments

13

No one gives a shit about anything anywhere. Not your shitty programmers. Not your shitty bankers, ISPs, or whoever controls where you live. No one gives a fuck about your problems. The glitches will remain until the old way is demolished and replaced anew. Expect no accountability. Expect no immediacy.

7

No one cares because they continue to profit without fixing the problems. Today's computer bugs were yesterday's lax safety standards. They were lax because it was expedient and cheap. Companies didn't care about workers losing an arm here or a leg there because overall, they made more money by allowing it. Software quality issues are the exact same thing. Testing costs money, good developers cost money, well done requirements analysis costs money, you get the idea. So, leadership instructs workers to do whatever the minimum is to still get paid and chalk the rest up as "amazing savings" and give themselves a bonus.

1

The secret of change is to focus all of your energy, not on fighting the old, but on building the new.

Socrates

7

And I'm sure all of you have seen Programming Sucks, but if not, here it is. The two are separated by two years but if you ignore the dates they seem very interconnected.

3

I blame a lot of this mentality on the thought that you can patch anything, anywhere, regardless of the innumerable problems it causes.

I remember a time when the thought of "patching" a console game was pure and utter nonsense. It wasn't just that it didn't happen, it was that, for all practical purposes, it was next to IMPOSSIBLE, so the games, for all the infamous glitches found in the last couple of decades, were usually pretty solid for most people. Now it's a regular occurrence.

Unfortunately "patching" involves all sorts of serious problems, including fucking up the system worse, and sticking "goodies" in there that the software manufacturer wants to force you to have whether you want it or not (e.g. de-rooting Android phones, spyware, etc.)

There are a lot of things contributing to this sorry state of software development, but I think that's a huge one that people are just ignoring. It may even be something of an elephant in the room, for that matter.

0

I blame a lot of this mentality on the thought that you can patch anything, anywhere, regardless of the innumerable problems it causes.

Exactly, ship beta products and if people complain then we give them a path.

2

The standards for completing computer science and technology degrees have fallen, because universities were not passing enough people. I've noticed too, that when you branch out from the main parts of the internet, you end up with a lot of broken stuff. People don't care any more. They also are being told they are capable of doing things when they aren't, and they're not being told they're incapable when they aren't capable.

Web development is easier than it's ever been. Browsers are standardized, there's no nightmares like in the IE6 and earlier days where every browser did things differently, and you'd be doing javascript hacks for each browser, and different stylesheets for IE. Now we have javascript frameworks and browsers do an extremely good job at following standards. PHP and other languages are extremely easy compared to things like Perl or CGI. You can now even use javascript for back end stuff.

We're heading in a direction where software is easier to make, and less talented people are making it. And they all think they're going to get rich quick. This is the result of letting people who hate math program.

1

This is the result of letting people who hate math program.

I hate math, but I'm a good programmer and pretty alright at math. I think the issue is more an issue of letting people who hate programming program, because they think they'll be 'the next Steve Jobs' even though Steve Jobs didn't really ever program. They never truly immerse themselves in it, because they're not trying to write impressive, efficient and robust code, they're trying to become rich as quick as possible.

1

I was actually thinking about this today when I went to use my toaster that came from the store broken. It seems like everything has gotten lower quality and shitty. It's not just software, it feels like most things you buy are junk with glaring issues that shouldn't exist.

1

Unfortunately the start of this decline predates our lives and there's no course change in sight. I'm fighting it every day...

1

Welcome to the age of agile and SCRUM development and rapid release cycle. Daily builds and 2 week release cycle have become more important than the quality of the code. We know it is buggy but we will release it anyway and fix it next time

The last 5 years we have created a generation of developers that that have no clue any more that quality code means: Fastener development, better development, faster testing, and making the user happy.

These developer don't even realize any-more that the job that they do can be done in half the time. When you tell them that you can do it faster and better but they have to give up that SCRUM deadline, they look like they saw a ghost.

0

"It's better," the evangelist would say, "because with Waterfall you're determining requirements when you know the least about the project." It's absolute bunk. If requirements are bad it's because no one is paying attention to really visualizing how everything fits together. But rapid development is a great way to just say "get it done" and take none of the blame when people with no direction do what people with no direction tend to do.

On an aside, Scrum is a giant con. They took Agile and renamed a bunch of crap, Then they make people pay money for certifications to create and justify a do-nothing 6-figure job (scrum master). Then take over conventions like a virus with "you mean you're not doing Scrum?"

0

"It's better," the evangelist would say, "because with Waterfall you're determining requirements when you know the least about the project." It's absolute bunk.

Exactly.

Who are these idiots that think that there is "either Waterfall or SCRUM"?

It is not or or this, but it has a very wide range between agile and SCRUM. Nothing prevents you to combine those, long term goals and short term goals that are adaptive depending on what you encounter. Nothing prevents you to move the deadline ahead or back depending on the level of quality you have reached.

I also heard about it is either "Top Down" or "Bottom up"

That is foolish, you top depends on your bottom and your bottom depends on the top. You need adaptive coding that jumps to top and bottom depending on what you encounter. Adaptive coding also means that you have to go back to changes you did before you discovered that if you continue this way that you will end into trouble.

0

In my opinion a big problem right now is that the tools and languages for web development are just not particularly good. Javascript is the standard for client side execution. It's a weakly typed error tolerant dynamically interpreted language. Awesome for throwing together small little programs and having them work... somehow. But it's a complete disaster when you start getting into complex systems. Oh yeah and the implementation of javascript varies by browser and even version of browser. I mean this is the standard... really? I think even the entire paradigm of a stateless web is somewhat dated. Yes you can simulate a stateful experience, by it'd be a million times easier going the other direction and having a stateful system simply not maintain state!

I think even HTML is somewhat dated. Why not simply have sites with a default strongly type throw-a-bitch-fit-on-error bytecode type language standard? Now suddenly any language that can compile into the bytecode can be deployed to the web. Byte code with a clear standard would also be more likely to result in more consistent browser implementations across technologies. As it's not just javascript that's inconsistent - even the HTML implementations between browsers (and browser versions) have... inconsistencies. This would also be likely to result in more performant and even secure webpages. How many billion javascript injection and similar type exploits are there? This would also be nice from an enduser perspective as you might not end up with 95% of sites looking like slightly different variations on the like 3 different cookie cutter layouts. Consistent interfaces are nice but there's a line between that and having everything look damned near identical.

1

This is nothing new. Replace HTML by excel. JS by vba, and you had the same issue years ago. The lack of developer time versus the need of people to do stuff.

The irony is that even truely engineered solutions do not far much better. How many bugs in Linux or NTFS or Oracle or drivers or words? Millions.

And that's not even the main problem. Closed systems, concurrent standards, crappy specs and brainless managers are.

0

All I can see on this page is image after image of websites being fucked up. What do you expect from incompetent web devs? Stick to C and assembly for your own computer and then nobody else has to suffer your fuckups.