In almost 20 years I've learned that, at least to me, the most challenging group to manage are mid-level developers.
Juniors don't have a lot of experience with complex code, so they just make simple code which I can understand with a glance.
Mid-level developers are often into trying new stuff and fall in love with complex solutions, so the code isn't really easy to understand, but damn if it isn't interesting, full of crazy new libraries, patterns and ideas.
Seniors have a lot of experience with complex code, so they just make simple code which I can understand with a glance.
Similar: https://pages.cpsc.ucalgary.ca/~robin/class/449/Evolution.ht...