Just over six months ago, I decided I wanted to become a programmer. Now, I’m working as a web developer for a great company. It’s amazing to me how much has changed in such a short amount of time. I get to work with PHP, ReactJS, and a smidge of NodeJS/npm, Ruby on Rails and MySQL. I use git for version control, Foundation for CSS, and MAMP for my PHP development server. I work in the console and minimally, vim. I didn’t know how to do any of this before March… not even a little bit.
The thing is, I’m not an amazing programmer and my path here isn’t that exceptional. That’s the main reason I want to write this post. I’m not a rocket scientist (well, actually I play one on tv, but that’s a separate post). I’m just a person who wanted to learn to code, and I want to tell my story complete with my insecurities and inadequacies. My hope is that others will read this and feel more confident as a result of my sharing.
So, here’s why I shouldn’t be a programmer (based on my stereotypes), along with a relatively short version of my story:
- I don’t have a background in programming,
- I’m a woman who’s old enough that my kids are in high school,
- I don’t particularly care to know specifics of what happens inside my computer,
- I don’t really like any of the following:
- video games (except Mario Kart, which I kinda suck at),
- fantasy or sci fi books,
- physics, or
- outer space (it freaks me out a bit), and
- I don’t even know for sure if I listed everything in my intro paragraph correctly or if I wrote it in such a way all it really does is highlight that I don’t really get node.js or MAMP or whatever else I misrepresented!
The thirty of us in my PHP class met five days a week from 9am-5pm. We began every day with a short standup time, filled with announcements and sharing; then, we got into different pairs to work on our assigned tasks. Our daily work was based on learning from prior assignments and homework, but also contained opportunities to go well beyond what we’d been taught. Much of our learning was an exercise in figuring out how to ask Google the right questions, then translate what we gathered into something useable in our code. In addition to our class time, there were always more evening and weekend meetups and hackathons than one could realistically attend, covering pretty much any topic imaginable, as well as numerous suggestions for additional readings, tutorials, etc. to digest.
It wasn’t easy for me. There were times when I felt like my brain was thick and my thinking like mud. I felt inadequate because I compared myself to those who caught on quicker than I did. I struggled when my lack of understanding was visible. At the end of the day my brain was full and tired, yet I fought to be able to shut off my mind because I couldn’t stop thinking and programming, even when I slept. It was hard to balance my time between my family and my schooling, and I frequently felt I was sacrificing both. As for my friends, I completely neglected them during those months.
I loved it though, and I still do. The combination of creativity and analytical thinking involved in developing is addictive to me. I like it that any task has multiple ways to approach it and varying solutions. I love the build up of little successes (at this point, probably after multiple failures) on the way to a “final” solution. And, frankly, I love the clickity-clack on the keyboard and the ability to make pretty colors with hex codes! I feel so blessed that someone decided I was worth paying to do that.
Here’s the insecurity part though-
On a weekly basis, I keep having to pull myself out from under my fear that I will be discovered, that my boss will realize I don’t know what I’m doing and he’ll decide he shouldn’t have hired me. In reality, I suspect that would be a bit like a teacher not noticing the student only knows six letters of the alphabet. Of course, he knows I’m not great at this yet, but he isn’t keeping me around because of my current programming knowledge. He’s keeping me around because of my potential, because of the skills I already possess that will make me a great programmer over time.
He sees my curiosity, my willingness to ask questions, my desire to learn and improve, my vision, my communication skills and ability to work with others, my desire to learn from others and also to teach. He sees I am willing to try, I take initiative, and I will ask for help when I recognize I’m losing traction. These are the reasons he’s paying me to be there.
Don’t get me wrong, I’m not awful at what I do. I am, however, a beginner, and there’s a learning curve. That’s true for everyone. Regardless of how I feel I compare to another person or how quickly that person seems to catch on, the amount anyone knows is immensely smaller than what there is to know. And, I believe really great leaders, coaches, visionaries, and teachers are those who are humble enough to seek to learn something from everyone. Comparing myself to others does not help anyone, and only makes me feel insecure, comfortable, or superior- none of which seem like a good place to be.
So, in addition to reminding us all not to compare ourselves to others, what I want people to take away from this post and what I want to hear when I’m feeling insecure and reading this again, is:
I deserve to be here. I’m good at what I do, which is pursue how to be better. Whether I am six months into this field or sixty years into it, I always want to be good at the things that have gotten me here today. I want to be curious, open, and determined. I want to still be searching, listening, and caring. And, I always want to be quick to laugh, both at myself and with others. Obviously, I want to know more about the technical parts of how to be a better programmer than I am today, but that will come because of who I already am. And that, is why I deserve to be here.