Business advice for software developers
Today I want to share with you my favorite takeaways from an amazing Ask HN thread where technical founders have shared the most important things they have learned from building a business.
Understand your customers
Most companies fail because they build something no one wants.
Figure out who you are selling to and what problem you’re solving for them before you build anything. Forget the code, find the market first. Talk to your customers. Ideally, solve your own problem, but if you are not the target market - you need to find a domain expert who will join your team prior to the MVP creation.
Build an MVP
Build the smallest viable version of your product and test it as early as possible, get it in front of customers as quickly as you can, and get them to pay you.
Often all you need is a landing page to measure the interest. Create a static website describing the problem and the solution, add a signup form, drive traffic to it with Facebook or Google ads, see how many people will sign up.
Skip everything nonessential at the start. Focus on the key features that customers will pay for. It will feel broken, but it’s only broken if you can’t get any customers. When you find the right product formula and need to scale, you’ll probably need to refactor or rewrite large parts of it anyway.
Do things that don’t scale. Don’t future proof your MVP, just make it so you can validate that your product has a market.
Only 20–40% of running a successful software development business consists of developing software. A developer with marketing skills can build products and achieve revenues far in excess of their skill set.
A software developer with complete code and no customers is just a software developer. A business person with tons of customers and no software/product is in business.
Your brand, reputation, and intellectual property are 100x more valuable than any software or technical feat. Software and technical work is relatively cheap. It cannot be the basis of your business because someone can come in and clone your product after you’ve done the hard work of introducing an innovative product and establishing/educating the market. If another product has only half of your functionality, but more substantive marketing, it’s more than enough for them to win.
Do not be seduced by the technology
Customers don’t care about the shiny new tech, what matters is solving their problem. Often it is much easier to do with an old and proven technology, because new tech changes rapidly, is less stable, has fewer learning resources and developers.
Sometimes devs don’t realize that the hardest parts of starting and growing a business have nothing to do with code or the tech stack you choose. Marketing, getting and retaining customers and everything else in between is way harder than writing code.
Focus on your differentiation and competitive advantages, going stock with everything else.
Your time is valuable, the time you spend doing a task is the time you can’t spend doing anything else. So focus on doing the things you’re best at, and outsource everything else.
Write a job application from yourself for each of the jobs your startup needs to get done. Contemplate why on earth you would ever hire yourself for the job.
Work out exactly what tasks there are in running your business that you are not an expert at, such as accounting, sales, copywriting, etc. and hire people to do those parts for you.
Set revenue targets
Plan for profitability, set goals, and be realistic about whether you are successfully accomplishing them. If you don’t, you might have built a good side project, but not a startup.
Aim to get your company to 10k USD monthly product revenue within three months after launch (that’s basically a limit of ramen profitability for a small team of 2–4, plus a little bit of extra to run the business).
If you can’t, then either the product, the target market, or the team needs to be revised drastically. This is a great way to frame the product launch by forcing you to ask hard questions about what you’re doing.
It’s also useful as a pricing yardstick early on. If you have very few customers, they need to be paying enough that you reach $10k almost immediately. If your product isn’t worth that much, then you need to scale out. It’s best to figure this out right from the start.
If it feels like you can’t do $10k MRR in three months on your own, then you need to find a cofounder who can do it together with you… So it’s a good way to calibrate cofounder expectations as well.
Other great points
- Being good at talking to people and networking is important.
- A good reputation and word-of-mouth is better than buying the #1 spot on Adwords.
- Fire bad clients. They aren’t worth the stress, frustration, and opportunity cost.
- Learn to say “no” to feature requests that don’t fit.
- Don’t forget to take care of yourself. It’s a marathon, not a sprint. Sleep, exercise, eat healthy food.
- Be patient. It will take longer than you think.
- Work on your process. Doing an hour of client works earns you one hour of revenue. Improving your agency processes can earn you a large multiple of that.
- Figure out how to sell again and again to the same customers, otherwise you will have a high cost of customer acquisition.
- Don’t let a single customer account for more than 10% of your revenue. If that customer leaves, you’ll be in a painful situation.
- Banks will loan you money when you don’t need it and won’t loan money when you do need it. Apply for a loan or line of credit when you’re flush with cash in case of a rainy day.
- Don’t hire too quickly. Payroll + benefits can eat through profits like crazy in a software business.
- Build simple products that do one thing well.
- Don’t take money from anyone who can’t afford to lose it
- Don’t hire a ‘marketing’ firm. They will charge 10’s of thousands of dollars to ask you questions like ‘What do you think we should do?’ and then feed it back to you. If the product is positioned well with customers, you know more than the marketing company ever will.
- Failures (at least small ones) are not a problem. Failing to recover is.
- Start now, you’ll never feel ready. Just go, learn, and repeat. Action is king.