Like A Girl

Pushing the conversation on gender equality.

Code Like A Girl

Hard Work, Growth, and all the Imposter Feels

Around this time almost exactly a year ago, I was gearing up to start a journey that would change the direction of my life.

After years of doing work around food systems and agriculture — both from non-profit and for-profit perspectives— I decided it was time to take a leap and make a change. I left my then-home, Seattle (along with a lot of the sweet relationships I had there), and headed back east to reconnect with family and dedicate my time to learning about software development. I enrolled in the Iron Yard at their (sadly, no-longer operational) D.C. campus and dove in.

For a solid 4 months, I devoted myself to learning. It was one of the most challenging and rewarding experiences of my life. And I truly did learn a lot — yes, about software development (I came in with an almost zero-percent technical background), but perhaps even more so about myself— how I learn and handle stress, and how to practice resilience and sometime just hang in there with myself during times where I just feel so much doubt.

Flash forward a year. I finished the course, made it through demo day, and have been working for the past 8 months as a professional developer at a great company here in DC. Not unlike the bootcamp itself, this job has held for me a lot of ups and downs. I have days where I feel competent and like I know at least a few things. I have, however, many days where I feel like I know less than nothing and that I’ll never understand or be good at what I’m doing.

There have been days where I’ve left work feeling ecstatic. Maybe having just had an ‘aha!’ moment or a breakthrough on a complicated challenge I’ve been working through. That, to me, is truly one of the greatest feelings in the world. More often than I’d care to admit, however, I spend time banging my head in frustration. I feel like an idiot. Like an imposter. I have so much doubt and question why I ever thought I could do this. And, I’m not gonna lie. Those days are…rough.

This idea of “imposter syndrome” is an oft-referenced beast that — legend has it — lurks in the heart of every software engineer (I’m aware, of course, that such demons exist far beyond this industry). Imposter syndrome makes you feel lonely and small and afraid of being “found out” for being the know-nothing (or at least, the know-not-enough) you have a not-so-sneaking suspicion that deep-down you are. I’ve been warned about it. I’ve gone to talks that discuss it and have heard other, more experienced, developers say that it never truly goes away and is something they continue to struggle with on a daily basis.

In spite of knowing all this about imposter syndrome, I still sometimes feel like I am somehow different. That everyone else actually has a better sense of what’s going on, and that I am the idiot in the room. Which, I suppose, is exactly how that’s supposed to work. You feel separate and uniquely incompetent. You feel isolated and alone.

While it can be comforting to know that even more experienced developers, who you admire and look up to, experience these same feelings, it can also be a daunting and discouraging revelation — “but, I hate feeling like this! You’re telling me it really never goes away??” While this may be true, it also belies what a true growth industry I’ve chosen to pursue. Systems, technologies, and languages are always shifting and and evolving. If they’re not, chances are they’ll soon be obsolete. This applies to developers as well. If you’re not willing to grow and adapt, you’re probably not setting yourself up for a very lengthy career.

Relevant to any code base or system are multitudes of micro and macro technologies and configurations that make everything come together. There are physical technologies and communication protocols and constantly evolving languages and frameworks. Beneath all of these too are the histories. The stories of where we come from and how we’ve evolved to the point of our current technological state. These stories provide critical context and enable a deeper appreciation around the tools we all rely so heavily on today. And these stories and histories continue to unravel around us with each passing moment.

This faces me with another issue I’ve been struggling with. Prioritization. I want to learn everything, but what are my actual goals and how do I focus and position myself in a way that will enable me to achieve them. I know this may seem like a veer off of the aforementioned imposter syndrome subject, but I actually think these are inextricably linked. Going wide and shallow as opposed to narrow and deep has made me feel increasingly like I “know nothing” and have nothing of any real substance to contribute. I know that’s not actually the case, but is often something I struggle with and want to make concerted efforts around changing.

I know that I will never know everything in this industry, and to be honest that feels EXCITING to me. I’m grateful to be in a field that challenges me daily. One that always provides me with glimpses into new areas of discovery — enough to intrigue me and inspire me to add another line item on the “to learn” list. I’m grateful that my co-workers have growth mindsets, and are always willing to teach and share.

That being said, I’d like to go deeper on some subjects. I’d like to relearn Rails from the bottom up so I can have a greater proficiency and be more dangerous in that space. I’d like to improve my understanding of computer systems and networking. And I’d like to be stronger in my communication around how these things work in the hopes of someday being able to teach and encourage others.

That’s why I’ve decided to dive back in to writing this blog after so many months of neglect. To document my process and work through my understanding through reflection and articulation. It feels good to be back.

Song of the Day: Meet Me in the Woods