> Everything is extremely "decoupled" to the point that you have no idea where anything comes from or why, and just adding a new dependency to your classpath will radically change the behaviour of your application
What does "decoupled" even mean anymore? That sounds like the opposite of "decoupled" to me.
(/not a Java programmer).