We get hung up on the word “hero” and make inaccurate assumptions about what that means. As a result, some writers (and writing teachers) assume a hero must be heroic; a hero must be likable; a hero has to be the good guy.
If that works for your story, super. We can all root for a heroic likable good guy, can’t we?
And that’s the point: the reader has to root for them to achieve their goal, or we’re all wasting our time.
We’re rewatching the entire TV series Lie to Me. Cal Lightman (brilliantly portrayed by Tim Roth) is not heroic. He makes mistakes, needs a team to get the job done, and bases his drive on a negative experience. He’s not likable, that’s for sure. An arrogant jerk, a manipulative chronic liar, he’s impossible to get close to. Okay, he’s the good guy, in the big picture. But in any give scene, he might be the one you want to kick in the ankle. Or worse.