On impostor syndrome

My view on impostor syndrome changed once I realized it was a thing. It changed for the worse, I would say. Recently I have been able to understand why and I'm back to my old ways of feeling like an impostor but doing something about it.

I've felt like an impostor many times before I even started programming.I did not have a term for it, but I felt it. When I started diving, and taught my first student, I was a nervous wreck because I lacked the necessary experience to feel otherwise. Also, it's a good thing, it means you care. The only way I knew how to deal with it was, to observe others who were had been doing it for a while, ask them how they did things. Luckily for me, there were a lot of instructors on the boat who had been doing it for more than a decade. Over time, small things would make me feel this way, as you teach different courses but I just repeated what worked for me before.

When I started programming, around the second year, I noticed there were a few blogs, twitter posts and other random places that spoke quite extensively about impostor syndrome. In hindsight they were quite detrimental to my programming. Before I read about it, if I was stuck or did not know how to do something, I would feel nervous, anxious and would question if I could solve this problem. Although it wasn't comfortable or nice to feel that way, overcoming those things made me feel competent and I was able to reassure myself that when I'm stuck I have options and I can figure things out. Even when documentation is non existent, there is always code.

The reason I found the posts on the subject detrimental is that, it paints a picture that no one really knows anything and you get an immediate relief. It's a race to the bottom, if anything. It only considers the symptom and not the underlying cause. The truth is there are times when we do genuinely suck at something and are not good enough. It's a good thing to feel that way, it means your intuition is trying to tell you something. Instead of looking for instant relief, looking into what makes you feel that way can do wonders in the long run. A little bit of consistent effort over the long run can change incompetence to mastery. Doing the smallest thing possible, improve one line, learning one new data structure or algorithm, or one new GNU utility over a long enough time line these things will compound. Just like ignoring the signals of incompetence can compound too.

One of the things that changed my position on the topic was that, I noticed other devs who were wizards at their craft. They did the small things well. They cared about the tools they used, considered trade-offs and most importantly did not shy away from something when it seemed hard. These are not mythical creatures, all of us have at some point have had the pleasure of working with someone like this. They usually challenge your perspective on tools, ideas and ways of thinking.

A little bit of care, honesty, effort and time is all you need. For me I want to be programming for as long as I can, I want to have a long career. Time no longer is an obstacle, as long as I can find an hour or two throughout here and there, I can become a wizard myself. It helps if you like what you do, I love it. Once I allowed myself to be inconsistently consistent, I have been able to make slow progress over the long run. Find out what works for you, and face the things that make you feel incompetent, do the smallest thing you can for as long as you can. It's the only cure for this valid feeling.