Joe Mosby's blog

The first time I felt like an engineer

For the first time in my life, I feel like an engineer.

I have launched a startup and built countless production websites. I teach programming classes at a startup trade school. And I never felt like an engineer until now.

I have no university degree declaring that I have formal training in computer science or software engineering. My degree says I know accounting. I started teaching myself how to code because I hated the idea of going to a big corporation or a small financial advisory firm and I developed a dream of having a business I could build myself. It was 2010 and THE SOCIAL NETWORK had just dropped, amplifying the dream of thousands of young entrepreneurs who were convinced that if they just learned how to code they could become the next Zuckerberg. I am amused now to say that I was one of them.

2010 came and went. 2011 came along and I left school and became a management consultant rather than a startup entrepreneur. Nothing wrong with making some decent coin right after college, right? I enjoyed doing that for a while until the itch started to get after me again. I volunteered to help a friend get his startup off the ground and finally launched a project. I still didn't feel like an engineer.

I took a full-time engineering role at a public relations firm and was paid to code for the first time in my life. I was completely lost. When you're learning how to code you stay in a happy little place playing connect the dots with tutorials and occasionally venturing out on your own experiment. When you're building a brand new startup you're working with zero code base at all and can make it in your own image. When you take a full-time gig with an established company, you're suddenly thrown into the code wilderness where things aren't perfect and you're forced to confront systems without time for full-blown tutorials on them. And it's scary as hell. I didn't feel like an engineer.

No matter what I tried, I couldn't make myself feel like a professional coder. I thought first "if I launch a startup" then I'll absolutely feel like an engineer. That didn't work. I launched a product and still felt like an impostor. Then I said "if I get paid to be an engineer" then I'll feel like an engineer. I started getting a paycheck for coding and just felt lost and confused. I kept looking for someone else or some milestone to make me feel like an engineer. I started speaking on panels and blogging and churning out pet projects, anything I could to hopefully hit that point where I'd feel like I'd made it.

Sometime in the mix of side projects and full-time work, I had so much going on that I forgot to think about being an engineer. I was just doing the work, day in and day out. And when I finally remembered to think about it again, I realized that something had shifted. Doing the work - actual engineering work, not tech meetups or networking or speaking on panels - had turned me into an engineer. I wasn't talking about being an engineer or thinking about being an engineer, I was just doing it.

Ira Glass of This American Life has a very poignant reflection on storytelling that should resonate with would-be engineers as well. I leave it here to close this post with his words.

Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you. A lot of people never get past this phase, they quit. Most people I know who do interesting, creative work went through years of this. We know our work doesn’t have this special thing that we want it to have. We all go through this. And if you are just starting out or you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Put yourself on a deadline so that every week you will finish one story. It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions. And I took longer to figure out how to do this than anyone I’ve ever met. It’s gonna take awhile. It’s normal to take awhile. You’ve just gotta fight your way through.