On Leaving AWS and Starting a Business
I resigned from AWS to start a business. Exhilarating.
No, I didn't hate it. While managing multiple engineering teams at AWS is certainly demanding, the good outweighed the bad. An L7 SDM in Seattle is a great job. I was fortunate and privileged. Each year, I learned more and more about distributed systems, operational excellence, and the business side of software. My management and coding skills both deepened. And I'm happy they want me back and that I left in good standing.
So, what gives?
It's something that's been gnawing at me for over a decade. I even briefly left work in 2009 to build a service (cutting it off early as it became clear how long it would take to generate revenue). And while I had many side projects over the years, they only scratched the surface of what was possible. Turning any of those into side businesses would have been an especially hard path with the types of jobs I've had: the commitment the jobs demanded and the employment agreements were huge barriers.
There are a few developer-related problems I'm obsessed with solving. And I love helping customers, being challenged, being creative, and writing software. To take all that and add in the freedom, the real time to build, and the ownership that founding a company provides for? That is super attractive and the draw never went away - the draw to bootstrap a business in particular (forgoing external investment and relying on personal savings until enough sales are made).
I do have some ambitious product and company ideas fleshed out but they'd need a team to build and operate from the beginning (i.e., outside funding). That route would be fun and intense and satisfying, I'm sure. I've got a lot of experience with running bigger projects and organizations now; with the right team in place I bet we could make a real impact. But I'm going down the bootstrap path: growing the company sustainably from the outset. I'm convinced this path is more satisfying, healthier, better for employees, and better for customers.
I'm not completely against funding or anything and disagree with blanket attitudes against it. It always comes down to the situation and context and preferences (all of which can change). I'm more like 90% against it right now -- for my situation. External funding can be smart if you don't give up control or unrealistically compress timelines; it doesn't have to make things unsustainable. And sometimes, of course, funding is the only way to go (e.g., capital intensive products, marketplace models that require huge customer counts to work at all, or when going for a majority market share).
One thing I love about the bootstrapping path is that there are a lot of options. You don't have investor pressure or a massive payroll to meet, so you don't need to swing for the fences on everything. I'm aiming for a portfolio of smaller products that do fewer things but do them really well. They can be more tailored and helpful to a specific audience. You can concentrate on adjusting to feedback and providing excellent customer support. Instead of growth at all costs you can be solvent with far fewer customers and really concentrate on their needs.
Over time, the products will evolve slowly and deliberately, making the core value better and better. I get really frustrated with products serving five different purposes or audiences, unnaturally bolting on feature after feature. It's not just the confusion and degraded UX; they get buggy as hell as the incidental complexity piles up in the code base. I've seen this play out many times both as a customer and behind-the-scenes in my career.
Nope. I want something better. Something better for me and something better for my customers. I'm convinced there's a better path and I'm putting my own money on the line to make it happen that way.
The first product will be developer-focused. There are some painful problems I want to solve around dealing with notifications, overwhelming amounts of information, and cloud computing systems. More on this later!
As for the timing, I don't regret working for others these last 16+ years. I learned a ton about what works and what doesn't. Having all this management experience will make things far smoother if/when we hire. And the attempt to start something in 2009 taught me some hard lessons. One was that multiple years of 'runway' is usually pretty key to a successful bootstrapped business (i.e., how long you have until running out of operating cash). That's very hard to attain earlier in your career.
We've been able to save money each month for about eight years. It takes discipline but it's also a massive privilege in this world to be paid beyond your expenses without extreme cuts to your budget. Getting good jobs in software is a bit like winning the lottery given how successful and profitable some of these companies have become. I did work my ass off (to the point of putting my health at risk several times) but you've got to have some perspective: it's a lucky line of work.
That was made especially clear in 2020. We had a pretty shitty year, like most. The deep emotional, physical, and financial pain across the world is staggering. It was and remains very sad. But unlike many others, I was lucky to never worry about layoffs and to work from the safety of my home. Most people I know in the software industry had that same privilege. On top of all that, my immediate family has been spared health issues so far which is the most fortunate thing I can think of. I don't ever want to lose that perspective: health is everything.
Back to 2021 and the nerve-wracking years ahead. This could all be a flop - a lot of businesses don't make it. I understand there are no guarantees. But whether this goes well or not, I know I would look back and really regret it if I didn't really try. Not some side thing but a real attempt. A full-on multi-year effort to make something helpful that I'm also proud of. So.. here we go!