I’m a Craftsman at Heart: Why I left upper management to code again

Note: This post was originally published on Medium.

I’m 29 years old, I live in New York City, and I am a web developer. More accurately, as of today, an unemployed web developer — by choice.

I’ve lived what I suspect is actually a fairly common story, at least among coders my age. I became interested in programming around the time I entered junior high. The internet was new and it was fascinating. I started building personal websites focused on things that I was interested in at the time… like comic books. (Don’t judge me. I was twelve.)

I soon realized I could make money doing this and began building websites for local businesses. I graduated on to full blown web applications around the time I left for college. Freelance projects covered my expenses while I nabbed my computer science degree. In 2005, degree in hand, I officially started my career. After a few different contract gigs, I took a position as the “jack of all trades” developer at a new online marketing firm. The company was maybe 5 or 6 people total, many of whom I had worked with prior. Things took off.

Fast forward a few years and I’m the VP of Product Development. The firm now has over 100 employees, 15 of which report to me. We have multiple offices in different cities. I mostly work from home. I delegate the company’s needs to the designers and developers below me. I have great team members. I make a very healthy salary. And I live happily ever after, right? Wrong.

There’s been something missing for a while now. At first I didn’t notice it. It was covered up by the perks of the job: the flexibility, the income, and of course, the prestigious “Vice President” title. But as time went on, I felt less and less fulfilled until the problem finally became utterly clear. I wasn’t producing anything myself anymore. I was a craftsman who was no longer practicing his craft. At the end of the day, I had nothing to show for my efforts other than a ton of email exchanges and some checked off meetings on my calendar. My entire day was spent doing “fake” work.

Ok, maybe that’s not fair. Management is work too. In fact, it’s hard work and anyone who’s been in a management role knows that it’s a skill in itself. But, it’s not my skill, it’s not my craft, and it’s certainly not my passion. My passion is building cool internet shit. Sure, I can assign a project to a group of developers. I can guide them through it, jump in when things need troubleshooting, and help them launch it when they’re ready. But, deep down, I’d always be secretly wishing that I was the one coding it. You can only fight that desire for so long.

Today was my last day on the job. I gave my notice about six weeks ago and helped transition the role I held at my company. They were very supportive. So now, I’m officially unemployed. No job lined up, no master plan, just a clean slate and a healthy motivation to get back to my developer roots.

As things wound down this past week, I took some time to create a new WordPress theme for my blog. After I finished, I threw the source on GitHub and released it for free. It’s nothing amazing. The design is kind of bland. I’m sure it’s got some bugs. And let’s be honest, WordPress theming isn’t the most earth shattering web development work out there. But you know what? It made me feel really good. I felt more fulfilled, as a programmer, than I had in years. I want more of that.

I have notebooks full of apps that I’d like to build and lists of languages that I’d like to learn. I’m excited to get started.

I am a carpenter blowing the dust off his tool belt. I am a chef headed back to the kitchen. I am a web developer and I can finally, once again, immerse myself in my craft.