It's baffles me to say this out loud, but for the last month I've been working at Microsoft. I've been building a proof-of-concept for an internal client search application and an interface for it. It's been a journey, that's for sure. From getting proper access and setting things up in general, to acquiring specific permissions to databases, figuring out hosting and deployment with Azure, solving AAD authentication issues, and burning midnight oil when some stupid bug prevented the app from running.
I'm not writing or talking much about any of this: I've got a severe case of imposter syndrome called imposter paralysis, and it feels like everything I've been doing as a developer so far is some sort of shenanigans that I've managed to pull off somehow. Every morning when I get to work I think to myself that today is the day I get discovered. And every time on my long commute back home I'm surprised if not perplexed by the fact that no catastrophe unraveled. Moreover, I'd made some good progress, fixed a few blocking issues I had no clue how to approach earlier this morning, and that I'm clearly on track to demo the app on time at the end of my contract in late June.
This weird mental limbo got me thinking. What if I'm not, in fact, an imposter? What if my skill is not completely made up? What if I am, for all intents and purposes, a programmer? Come to think of it, I'm writing programs. I'm building applications. However simple or boring they might be, they solve clients' problems and deliver exactly what they asked for, on time. I write code and some smart people are happy to pay me for it, so long as it does what it's supposed to do.
But when I say "I'm coding" what I really mean is I stumble upon something I don't know or can't remember how to do, google it, google it some more, google the shit out of it, try a dozen of different ways to get where I need to be, figure things out after all, and fist-pump when it all starts to click. In my mind, however, real programmers just code: they know what to type into their IDE right away, with all the syntax, patterns, and algorithms at the tip of their fingers, ready to go.
One thing I found very helpful and even empowering is watching other people code live. I'm not talking about nicely edited tutorials and polished explainer videos with titles and lower-thirds, but about people just turning on their screen capture software and webcams, and streaming whatever happens next. Apparently, other people google too, and make silly mistakes, and do weird stuff for seemingly no reason, and squash them pesky bugs, and refer to StackOverflow, and so much more! Watching people live code was an eye-opener, and a thrill! Not the nail-biting kind of thrill, but the kind where you're thrilled to see people make mistakes, get frustrated, answer questions, get confused by their own code, but figure it out more often then not. And most of the videos I've seen have this theme in them: this kind of stuff helps you get better at coding and overcome imposter syndrome.
So, with extreme anxiety bordering on full-on panic, I announce that I will be live-streaming some of my coding sessions on Twitch. Please, follow, subscribe, and join in. I will be talking a lot, google even more, and use StackOverflow obsessively. It's also going to be "if you see something, say something" situation, so when you see me doing something completely idiotic and totally stupid, please, let me know.
I, obviously, haven't made it as a developer yet; I occasionally struggle to find work, and I struggle to land a truly good job (and not because I'm picky, mind you). So this is not a "looking back to my early days" kind of story. I realize that this post might bite me from the job search standpoint (who wants to hire an imposter, right?!), but I feel very strongly that unless I get over this whole imposter paralysis situation, I myself will keep hurting my own job search success even more. I don't expect my live stream to be of significant educational value to anyone but myself; I do, however, hope that it will help at least one person realize that you don't have to know everything in order to code, that coding is sometimes messy, and you make mistakes, and you search for answers, and none of the above makes you less of a developer.