I think it's worth noting that a developer like that comes from a combination of poor management, poor leadership and an inexperienced team. I would say it's almost rarely their fault (emphasis on almost) and we could do better to educate better principles on software design and structure.
Although maybe we're already trying our best, who knows.