Can you prove that their "overengineering" makes things worse? And not just in the short term, but also for maintainability down the road, accounting for their developer experience and job satisfaction, etc? Otherwise maybe it's just a healthy level of engineering, knowing the details that person knows.
The management advice I was given is that if you don't first trust people, they will never get a chance to show you that they are deserving of said trust. And showing that is allowed to take some time.
Another thing I try to keep in mind is that I might not always trust each individual in their decisions, but I always trust a team decision over my own. So when in doubt, involve more people on the team.
Of course you can't prove that these four extra layers of abstraction will never be useful, but they aren't right now. That's why people with over 10 years in the industry are valuable - they have the intuition to see this coming.
The dev took twice as long to build the feature as they needed to, and updates to the code also take twice as long. I have seen this over and over, and GP is correct - there are some engineers who need to be coached out of overengineering.
My point is not that overengineering doesn't exist. My point is that if Alice says Bob is overengineering and Bob says Alice is underengineering, you don't have any evidence either way. You need to loop more people in and let both Alice and Bob air their concerns.
The management advice I was given is that if you don't first trust people, they will never get a chance to show you that they are deserving of said trust. And showing that is allowed to take some time.
Another thing I try to keep in mind is that I might not always trust each individual in their decisions, but I always trust a team decision over my own. So when in doubt, involve more people on the team.