Additionally when they treat managers as other engineers - meaning that they want to discuss changes or improvements without judging others for their ideas - just decide for them and announce your decision to show who is in charge.
There’s stupid simple way to test interview process - let your current engineers go through it. I bet best performing ones will fail mentioned algorithmic and abstract assignments.
Sometimes the best value to the team bring a person who doesn’t know algorithms but can e.g. foresee problems or ask “stupid” questions which lead others to think differently.
That's why education is so important. If as kinds those people would analyze the evidences of both - flat and sphere earth they would be immune to flat-earth nonsense.
After kinds lose their natural curiosity and gain political views it's nearly impossible to convince them to something different than they believe.
I know how to fix most problems with measuring an engineer's performance. The best solution is to remove "manager" from measurement. Lead developer would speak with all team members to assess performance of colleagues. Those are those who know exactly who makes their work harder and who helps them everyday whether by wise advice or by leaving clear code and thought through architecture.
Managers will argue that they have so much responsibilities that they cannot code together with teh team, but I again would say that the problem may be reduced with reduction or higher management. Bussiness part shall talk with engineers on feasibility of their vision and ideas without proxies who are so in the middle that they neighter understand bussiness nor technology.