Once upon a time, when I was new to the whole writing thing (and by new I mean so wet behind the ears, you'd think someone would have handed me a towel) I showed a friend some notes for my second book (because, I was so new that I thought this would be easy and that my first one was already perfect). My friend told me she didn't think it was going to work. She said my characters seemed a little to perfect. She told me they needed flaws.
I was confused. Did I have to turn my characters into bad people just to make them real? Because that seemed to reflect a rather dim view of humanity.
It took me a long time (a really long time, an embarrassingly long time) to realize that my characters didn't need flaws per se. What they needed were shading.
There's a difference between flaws and shading. Shading fills out the character, adding layers and helping a reader see the depth to the character, much like shading in a painting demonstrates the three dimensional nature of the object shown. Flaws and bad things about a character are a type of shading. However, they should not be confused with shading in its entirety.
When painting a three dimensional object, there are shadows, but there are also highlights. You need both to show a three dimensions. When there are negative attributes to a character, there are also positive ones. Maybe your character pops her gum and is also a terrible procrastinator, but she also calls her grandmother every week and grows geraniums. Both make her into a fuller person, and they don't all do it by making her look annoying or frustrating or in the case of some flaws, just plain evil.
Characters need to be filled out so that they look more like people going through something and less like cardboard cut outs just forcing their way to fill out the plot.
It took me years, but I finally figured that out.
How do you feel about shading your characters? Anything that took you a while to figure out?