Also what if the "jerk" is actually right? What if he is truly surrounded by incompetent people and needs to push things himself, repeating himself all the time, his suggestions being ignored or simply not understood or completely outside of intellectual capacity of his colleagues? What if perceived progress after firing him is illusory. Created by banal steps and pseudo milestones. What if the "progress" in few years perspective will mainly mean running in circles without adding any real value, just code debt?
Good manager wouldn't let go person like that, he can always jump into R&D, creating prototypes of systems/ideas alone or with somebody matching his competence.