CS Ramble, Part I

I’ve been working in tech full-time for a bit now - nearly three years as a software engineer, and before that, as a technical teaching assistant. As described in my 2021 in Review post, it’s been quite a journey in just the past year or so.

While I am currently in a good spot, this career change has not always been easy. One of the biggest challenges for me over the last few years has been repeatedly confronting the attitude in others that, because I studied English and linguistics in college and was an educator for nearly a decade, I am a less capable engineer than my peers who studied computer science as part of their formal education.

What’s interesting about that is that I see capability as tied directly to potential - not knowledge. Can I do something given the chance, context, and support to learn how to do that thing? Absolutely. I learned how to be a teacher on the job and was a highly successful educator. I’ve done the same in tech, where I’ve been lucky that a few people took a chance and supported my career change. I parlayed my experience as an educator into my first full-time tech job: my bootcamp saw my potential as a coder, valued my teaching skills, and hired me as a teaching assistant. And when I landed my first full-time engineering role, I found myself in the most supportive work environment I’ve ever experienced. That company had a whole Associate Software Engineer program devoted to hiring new engineers (usually career changers, from what I know) and teaching us the fundamentals required to be productive in our roles. I experienced a lot of success there, too - all because I had the support I needed to learn some concepts that were, at the time, unknown to me.

All of this led me to start thinking about this bias that I and other engineers with “non-traditional backgrounds” have faced. It’s not that we can’t do a job or learn a given tech concept - it’s just that, maybe (and for whatever reason), we’ve never had the chance. I strongly believe that capacity and exposure get conflated a lot in tech. This leads to a bias about something (lack of exposure to CS topics) that, with time and investment, is relatively easy to remedy. Put more bluntly, how can I know something unless I have been exposed to it? I know there is so much that I can (and want to!) learn and get better at - I just need a bit of a push to get there.

With all this in mind, I started talking with my manager about company culture around this stuff, how it shows up in our industry’s hiring practices, and my persistent curiosity and desire to learn computer science-y things (because I actually do find them interesting). My biggest roadblock to date has been time and not knowing where to focus my efforts - there is so much to learn! He was gracious enough to offer to go through an exercise where he’d ask me a series of questions over the course of several weeks that would prompt me to go out and learn a bunch of those fundamental CS concepts, then we’d talk about them.

Eventually, we also had the idea to invite other “non-traditional” engineers at the company to join us in this exercise. So far, we’ve got about 10 people signed up! We just had a meeting today in which we discussed the first round of questions - but that will be the topic of another blog post.