What I’ve learned from over 4 years of building software startups

I’ve been involved in software startups for over 4 years now. I’ve seen many failures, some successes, and a whole bunch of other weird stuff. I’ve learned a lot of things, so it’s hard to distill it all into a few key lessons, but this is my best try.

Talk to your users

If I had to give only one piece of advice, this is it. As entrepreneurs, we tend to believe that what we believe is always right. Sometimes, we’re so confident that we forget to validate our assumptions. Unless you’re Steve Jobs, you probably don’t have the best idea what your people want. How do you figure out what people want? Well, there are a lot of ways, like looking at what people write online and surveying them, but there is nothing like talking to someone. I know it’s tough to talk to strangers about invalidating your ideas (especially for introverts like me), but it is definitely worth the effort.

Design is hard and overrated

This one is a bit controversial, but I stand by it. Everyone wants to have great design like Apple, but no one wants to pay for great design. As someone who has had to make websites work across several operating systems, devices, and browsers, I can tell you that it is really hard (almost impossible) to make a site that looks good to 100% of your users. It takes a lot of time to test all the combinations. Furthermore, your great design might not even matter that much. While I’m not a fan of bad design, I’ve seen complete design makeovers have no effect on conversion rates at all. When starting out, you should aim for good enough design.

Software is a continuous process

Startups have a big fascination with the concept of the “big launch”. There is this belief that once you launch, you can take it easy. Thing is, the problems never seem to stop (in fact, the bugs and feature requests tend to compound over time). Making big pushes can lead to burnout, frustration, and quitting. Instead, I advocate taking things day by day, week by week, and improving continuously. It’s more sustainable and realistic.

Be careful about building complex features

As a programmer, it’s incredibly frustrating to spend hours building some new feature only to find out that no one uses what you’ve built. Granted, there are always going to be missteps in the unknown world of startups, but you can definitely limit the amount of wasted time by making sure you talk to users and have a good feel for what people actually want before building your software.

Little features add up

Explaining why programming is difficult to nonprogrammers is something I still struggle with. That’s why my clients still ask for feature requests and are surprised by how long it will take. Also, it’s easy for clients, CEO’s, or project managers to continuously add on little feature requests.

Marketing strategies vary in effectiveness

Marketing is a complicated and difficult thing to implement. What works for one company may not work for another. Facebook ads can get you $10 leads but adwords might get you $30 leads. Also, one tactic might get you a lot of customers, but those customers might churn quickly. Make decisions based on data, not just your gut.

Ship fast, but not too fast

Several notable startup “gurus” from Eric Reis (of the Lean Startup) to Paul Graham (of Y Combinator) have said to release fast and iterate when shipping software for startups. But, if you try and move too fast and cut corners with your software, then you WILL pay in the long run. Technical debt can slow your company to a crawl. In the worst case, you have to rewrite everything from scratch. I’ve been a part of that process, and I can tell you that it’s a tough and painful process that no one wants to go through.

Software is hard

Nontechnical software founders sometimes don’t realize how complicated and messy software can get. From bugs that can’t be reproduced to conflicting customer requests, there is a lot of stress that goes with making a startup that people like.

There you have it. What I’ve learned from over four years of building software startups. It’s a hard thing to get right, but, for me (and you I imagine), the fun is in the challenge.


Leave a Reply