I can't really judge from the outside, but it sounds like maybe he played the wrong ball-game a little bit. He overdelivered technically and underdelivered politically. This is still absolutely a problem caused by John and not the author, but it sounds like there might have been an easier path if he'd spent a little more time working John's ego and a little less time delivering technically.
As a facts-driven engineer, i can relate to being incredibly annoyed by a John and finding it distasteful to spend time with a person like that. It’s not just that it’s a bother to get through, it’s physically revolting and I find it hard to not get flustered at having my time wasted this way. If delivering politically means kowtowing to a John, I just can’t bring myself to do it and can totally empathize with the author.
Good point. If you are going to try to stick it out in that environment, focus less on the tech and more on the politics. If your geek instincts rebel at the P-word, think of it as Defense Against the Dark Arts.