For awhile now, I've been following a Twitter account called Programming Wisdom. I've always enjoyed the daily dose of sage advice and inside-programming humor from them. I did a double-take recently when they tweeted a quote of mine from a book I published back in 2012.
"In the end, regardless of where you are on the development hierarchy, keep coding. It’s where you’re most valuable." - The Developer's Code — Programming Wisdom (@CodeWisdom) June 21, 2017
I have to be honest. When I wrote this, I didn't really gave it that much thought. Now that it was being quoted, I had to really question whether I still agree with it. There's a lot I've learned about building businesses as a programmer over the past five years and some of my opinions have changed.
But, this one hasn't. If anything, it's gotten stronger.
Ever since the original dot-com boom, the narrative for startups has been that coding is a gateway skill you use to start---build a website, an app, whatever you want to call it. If you can generate an audience through that right mix of ideas, marketing, and luck, you've got yourself a business!
Somewhere along that theoretical march toward startup success, you need to hire, manage, and lead. Stop coding. After all, you've got a business to run. Being the visionary leader takes precedence over being the diligent programmer.
In my younger days, this was an idea that I daydreamed about too. It was impossible not to. But, the idea always rubbed me the wrong way. For many years, it did so on a near-subconscious level. Only very recently, I've managed to interpret this feeling of dread into something I can finally articulate.
What I've finally figured out is this: I don't like the idea of running a traditional tech business. And, there's nothing wrong with that. It took me decades to realize this because media, society, youthful ignorance, and Shark Tank tell you to think otherwise. Aggressive scaling, "hockey-stick" growth plans, and figuring out the latest elixir for industry disruption just don't fulfill me. They may be important to building large, multi-million dollar businesses, but to me, they are tiresome---they just aren't things that I'm passionate about.
What I do like is writing good code, designing pleasant and usable interfaces, and finding people that enjoy the work we put out. At times, I feel less like a business person and more like a struggling songwriter. If it was of any interest to you, I would consider writing code at your wedding or child's bar/bat mitzvah.
This severely limits me to the kind of business I could successfully run. It has to be ultra-small and grow at a reasonable (some might say sluggish) pace. It has to value the time required to write code well as equally as shipping features on a deadline. For eight years, that's the kind of business we've run, and plan to continue to run, at DoneDone. And, nothing in business would make me happier.
This doesn't come close to the usual prescription that investors and most other aspiring tech-entrepreneurs are looking for. And, I think very few people in the industry would consider such a business a success. But, it's as pure a definition of success for me as any.
I'd like to think there are many others programmers out there who've gone through a similar revelation but have been afraid to admit it to themselves or have never consciously articulated it. If so, I'd love to hear from you!