I think most people working in tech fields wonder about starting their own product or online service. Some of us probably work on 30% of the entire product at your company, so why can't we do 100% of it? While I don't think I've ever worked on even 30% of any product recently, I still felt I might be able to make it on my own.
This is where I suggest you what not to do, in case you try it yourself.
I had a great job in the Bay Area. Like everyone else there, I was fed up with the rent prices. I could never afford a place to buy out there. And while rent was a bargain compared to the mortgage rates, it didn't really appeal to me. I'm a bit of a vagabond at heart, but I should still own some land on this earth, right?
Ultimately for me, though, the only thing keeping me in the Bay Area was my job. And it was a really, really good job. But I think rightly, I felt that was not enough. I tried to go remote, but couldn't. So, I left.
I've had all kinds of website and startup ideas over the years. Some of them, probably if executed properly, could be multi-million dollar ideas. The tricky bit really is the whole "execution" portion. It turns out, it's really hard to wear all hats well enough to make something decent.
I went wrong in a number of ways.
I started the site anonymously. I didn't use /u/TeranNotTerran on Reddit. I used /u/answermarket. This problematic on many counts.
If you use Reddit or Reddit-like sites (like Voat), they tend to require account lifetime. So say you're all excited and you've just launched your million dollar idea, and now you can't post anything because your account isn't two days old. At least, on some subreddits. Or you have a forum account and it can only post every hour. Working anonymously on a fresh account pretty much rings every "this is spam" bell that Reddit and the like have been perfecting over the years.
When you post something, people see your website and your name, and they're probably similar. Therefore, it's self-promotion, therefore, it's spam. It's a lot easier to fly under the radar if you aren't posting something that's obviously related. Even when I link to this blog, I'm surprised by how many people don't realize that I'm just posting my own content. But, "go-beyond.org" and "/u/TeranNotTerran" have nothing in common, so why would they?
I have no reputation to fall back on. I start from zero. Not that I'm known much as "Teran McKinney", but at least I have a history and content out there. If I wanted to screw over the world with my evil service, I'd be risking a fair bit. "/u/answermarket" with a 2 day old account is risking a lot less. People think about that and act accordingly. Also, if I launched it under my name, I could have shown it to a lot more friends and circles than I did.
The site was too terrible when I launched it.
I'm a huge proponent of iterating. Having something used is the best way to see and shape the direction of it. However, initial launches leave both a first impression and have a bit of momentum because it's new. You can either ride that up, or ride it into the ground.
The site I launched sucked. The current version isn't amazing, but it's a whole lot better than it was.
You had to pay two fees separately to buy something.
You had to use a separate receiving Bitcoin address for every answer -- something that even I had trouble with.
It looked awful on mobile devices.
It was just horribly confusing in wording and appearance.
I get the urge to go live. I've succumbed to it. But, you can use private betas, and you can add, say, just another week to your development time to polish something off. I didn't do that. I pretty much put up the first working version of my site.
I didn't user test, at all. I trusted my own intution rather than watching a fresh, relevant user use it for the first time.
I launched the site with no job on the side and no fall back.
I didn't make it pretty. At all.
As such, I'm sitting on a couch as I write this, burning through my savings, and feeling neither happy, successful, nor paid. While having just one of those isn't great, it's a lot better than none.
I hope you don't make these same mistakes. I have, however, learned that while negative examples are good to see, positive examples are easier to follow. I don't feel that I got every last thing wrong in launching these sites.
What I did right:
I thought about upgrades from the start. While I have almost zero users, deploying code is basically zero downtime to a few seconds of downtime. It didn't take me much effort to come to this point, either.
I thought about redundancy from the start. While both servers are hosted on single machines, I documented my deployment process well, and I have pretty straight forward plans to scale out both sites for geo redundnacy. No load balancers, no complicated databases to replicate between nodes. If either service takes off, I have plans in place for making it scale.
I kept them simple. Both services are truly "MVP" (Minimum Viable Product). While they may be too minimum to work, I at least know that I didn't go overboard on them, adding a bunch of useless features to maintain and trying to reinvent the wheel, from a website perspective.
I have some plans in place for Coinfee. I can make the API more stateless, to where there's no submission to get a callback, to poll as needed. It can simply be polling. Coinfee currently holds state in the callback URL given to the client, so I have zero state to manage with that service. But, I can make it even better -- no state for the client and a single function/request for transactions.
Since I've been back in San Antonio, I've dabbled in motorcycle repair. I've explored other avenues for income. I applied for Postmates.
It's all made me realize that as soulless and monotonous as corporate work can seem, it's really, really easy. Sometimes, easy is good.
When you launch your own service, you need to do systems work, code well, release well, market well, do business well, and do all things. It's no accident that Henry Ford liked specialization so much. It's so much easier than wearing all of the hats. It can be done, and you can have business partners when you develop. But, at the end of the day, your forty hour week at Google, Facebook, Rackspace, etc, may be the easiest and most successful 40 hours you'll come by.
I'm not saying you'll like the product or the outcome, but engineering jobs have really come down to a science. Of course, they can be extremely stressful, even with low hours. Or you can feel under appreciated. Many things are possible. For me, I always wanted to try things my own way. I thought, why can't I build a Twitter or a Facebook? And at least, I now know a bit of what makes it so difficult.
I'm not done yet, but it's totally possible that both services will be flops and I'll just look for another corporate job. At least, I know a little bit more of what not to do for next time.
Thanks for reading.
Update: Answer.Market and coinfee.net are defunct now. SporeStack has customers, unlike the previous to, and I am putting more of my time and attention towards it.