I’ve spent a lot of time feeling like an imposter:
I look at brilliant developers at work who started coding in middle school and think I’ll never get this far along; I’ll never have as much intuition as they do. I’ll read impassioned analyses about the vitality of React on HN from certified experts and be like What am I missing here? Why can’t I understand this?
I research brilliant (and even not-so-brilliant) designs and am boggled at how people can do these things so well, when it takes me so much effort to churn out something inferior.
And there’s a really big part of me that thinks that, at any given moment, I’m a bad dice roll away from being told that I’ve been discovered as a fraud. It feels like I’ve been coasting on good fortune, but sooner or later one of these code reviews or invoices or app reviews is gonna expose me as the incompetent nimrod that I really am.
The thing about this rampant self-criticism is that it was always scathing but it was never productive. I would never say to myself oh man, I’m not an actual programmer and then proceed to work really hard to prove myself wrong; I’d usually shame-watch a couple episodes of Frasier until I forgot about it. Demoralization never led to self-improvement.
And here’s the thing — I know, rationally, that I’m pretty good at what I spend my time doing. (It feels weird to type that, as if there’s something boastful about self-confidence.) Like, I have a good job where I get good reviews and make things that help people. I have side projects and consulting where I’m able to translate my time and experience into dope things. I write online and get positive feedback. So where’s that gap between rational and irrational coming from?
So recently I’ve been doing something different — instead of looking at Dribbble shots or GitHub repos or great essayists and wondering how I’ll ever get that good, I’ve been looking backwards at past Justin. I’ve dug up old code reviews; old essays and blog posts; old screenshots.
And wow, I’ve gotten better! I can write more clearly, and in my own voice; I know how to avoid state and unnecessary coupling; I’ve gotten over my weird aversion of negative space. 2015 Justin was dope at a lot of things but 2016 Justin is pretty much better across the board.
(Maybe this is focusing more on the slope of my improvement rather than the eventual end goal. Which is equally healthy — I don’t think there’s ever going to be a point where I look at my abilities and be like ‘yep, this is all I need, nothing more to improve!’.)
Until then, I’ll keep getting better, and try real hard not to get too stressed out about people who are fortunate enough to be further along than I am.