A lot of software development deals with integrating some badly designed system with another badly designed system, resulting in a system that is even worse to use and to maintain. At least that's what I have been observing during the last few years, mainly in the domain of so-called enterprise software.
Why is that? I am not sure but I guess it's because it generates revenue. It makes sense from an economical point of view. Crappy software is simply a sustainable source of income for some of us.
But is it healthy for the developers or the users? Even though it might sometimes be highly intellectually challenging to work on this type of project, I guess that most of us are not interested in doing just another bullshit job. Furthermore, this effect is bad for the reputation of our profession as a whole.
Did you make the same observation? Is there a way out?
(By the way, luckily most of my own projects do not belong to this category, however some of them do.)