I read an analogy years ago about how stupid the logic behind most promotions in software are. Think about a sports team..
"That guy is our best player! He scores more points than anyone else in the team by far! Quick! Let's pull him out of the game and make him the coach!"
Why not keep him in the game and just look for someone who can be a good coach?