Over-engineering complicates maintenance and onboarding.
Over-engineering creates unnecessary complexity, making systems harder to understand and modify. In Java, using excessive design patterns like `AbstractSingletonProxyFactoryBean` can lead to bloated code that's difficult for new developers to grasp. Stick to simple solutions unless complexity is justified.