I watched a talk on imposter syndrome this morning by Julie Pagano that she delivered at PyCon 2014.

Like many skilled professional environments the tech community seems to have its fair share of imposter syndrome sufferers. As Pagano explained, those with imposter syndrome will overemphasize their failures and diminish their successes. Aside from the anxiety these feelings generate, feeling like a fraud in one’s professional life leads to holding oneself back from career opportunities. We might avoid pair programming out of fear at the thought of writing code that will be scrutinized by a peer, for example. Imposter syndrome sufferers often don’t apply to new and better jobs because they don’t think they are good enough.

By way of contrast, Pagano alludes to the Dunning-Kruger effect - the inverse of imposter syndrome. Those who have mistaken perceptions of their abilities in the opposite direction mistakenly believe that they have superior skills and are unable to recognize their deficiencies. Such people tend not to know their boundaries and don’t realize when they should ask for help.

Pagano also discusses the dangers of imposter syndrome leading to attempting to absorb too much, to do too many things, leading eventually to burnout.

One of the solutions to mitigate imposter syndrome that Julie recommends is building a support network (what she calls a “party”) to provide social support, but also to give objective assessments of our skills and areas for improvement. She also suggests setting realistic goals for professional development and tracking measurable progress to give ourselves a more grounded self assessment. A third strategy is to look for positives in what we have done as a software engineer.

Everyone contributes to the culture of a community and Pagano has some tips for helping to build a positive workplace coding culture: * no feigning surprise at others ignorance of something * no “well actually”s * no backseat driving(coding) * no bigotry

Helping others as a mentor is another great way to keep grounded and to derive professional satisfaction.

Lastly, we must understand that our programming heroes are human, and also fallible, so that we can give ourselves permission to make mistakes.