I got your whole point about “sucks”, it may be related due to the fact that technical people from all times and technologies: love 3 things: to engage on complexity, to deal with new tasks, and to have work to do. That’s us, however there’re lot of reasons why we got involved handling accidental complexity.
There’s no other better path to take us, the users, the environment, on the right place: since we got out of amber displays with b&w prompts, we’re only trying to be visually friendlier, to engage the user into a self-driven experience, to handle increasing magnitudes of data, users, events, world-connected systems, everything wired up together, such a perspective must give you an idea of the unavoidable efervescence at the edge of systems design that will occurr in time, without taking time to breath, people will go on learning, experimenting and learning. Nature.
For the code leaders, the ride is more exciting than for code followers which may suffer their code author’s decisions, that’s a rule of nature, those who are in place of taking a decision will make a path, and everybody else wont have to do it but suffer its disadvantages, or be better and challenge status-quo by offering something Better !. Skill Competition.
Furthermore, you have to judge the situation considering there’re coders from all over the world, from different backgrounds, logical levels, psychologically different types: Working for very different Enterprises, with very different and changing Goals across time, and NO ONE has Ever Planned and Coordinated ANYTHING.
I Think the complexity is still a lot lower that it could have been, because we’ve been lead by very good technical people.
Anyway, I hate complexity, I know there’s still a LOT of room for system simplification, I dont have to take a look at other systems than those I’ve created by myself, I try to avoid prediction of reusabillity, not to model a problem until it has revealed completely itself, I dont love to exploit areas of code only to end up in a tangle of entities and relations adding 1000 lines for every “Refactory” intended to reduce complexity and ease comprehension.
I would really discourage any view about developer’s innherent particularities, I think that’s overreacting to the system front-end area where things are evolving faster, FTW man !. Dijkstras’s sentence is out of context.
We rule this ! Get on the boat or dive :D