2 fundamental ideas: Distribution & Supply Chains
Distribution:
You need to secure distribution before your company can grow. Which means essentially a lead list or people you can reach in bulk or manually by walking down the street. You need at least 500+ such connections.
The goal of the initial distribution is iterating on your core value proposition. Core value proposition is a binary statement which should be answerable by hell yes or no by your distribution. So iterate on the statement on the first 100 till you get to a hell yes on the binary question. That question should also become the heading of your landing page above the fold.
Supply Chains:
To deliver the product you need to think in supply chains. If you have played factorio or such games this will make more sense to you.
You need a constant supply chain of potential customers (distribution from above). You need a constant supply chain of great employees. You need a constant supply chain of new income streams in your product.
A good product delivers value at first touch. That is through strong UX and clear demarcation. Every feature should exist to deliver the core value. So you need to reject a bunch of designs, product ideas, customer feedback to make sure that you are only delivering value.
Other thoughts:
I can only speak of core technology businesses. If you are selling data, you are not a tech company, stop acting like one. Just put stuff in a spreadsheet and sell that.
Use a strongly typed language like Golang or a highly expressive one like Ruby for your backend. Choose extreme languages such as Imba or Steel Bank Common Lisp (which I built on initially before switching to Golang) for maximum advantage.
Make sure that you have a potential market of at least a $100 million flowing through.
Use expressive, untyped Ruby or inexpressive, strongly typed Go? Or SBCL ?
Most people would put Ruby and Go on pretty opposite sides of the spectrum.
Maybe you prototyped in SBCL when you needed extreme flexibility/iteration speed at first, and then switched to Go when maintenance became more important? That's a fairly common evolution at big companies.
I still use SBCl now but all new features are being written in Go due to hiring requirements.
#1 advice for engineer-founders is to always be questioning whether coding is the best leveraged use of your time.
As a bootstrapped engineer founder, I spent way too many months (years?) coding non-stop, even after we got past PMF, despite having the revenue to hire engineers to replace me day-to-day. These days I do zero coding, and am still equally happy and fulfilled. At least for me, spending days coding was a really easy way to feel productive, but it wasn't the best use of time compared to hiring, marketing, sales, company culture, etc.
#2 advice for founder-engineers: after you're able to stop coding, remember that your product is worthless if no one knows about it or if no one is using it. Once you get product market fit into a good place and have revenue traction, it's time to spend your nights thinking about marketing and sales rather than code.
TLDR: always make sure you're spending your time in the most highly leveraged areas. Hiring and delegating. Coding is rarely the highest leveraged area your time can be spent.
I think the #1 thing most bootstrappers struggle with is finding the right market, idea, validation etc. As much as people say “ideas are overrated” I increasingly think that’s not true, it’s that a good idea has to include things like “can realistically get done by a self-funded tiny team and make revenue soon” which the “idea guys” rarely have.
As far as not coding too much, I’m increasingly finding this true. One thing I’ve noticed is that most non tech founders outsource development and most technical founders don’t even though technical founders can outsource far more efficiently since they can play more of a “tech lead” role rather than hand it to a dev shop. I really regret not hiring designers sooner since I’m bad at it and there’s tons of affordable talented designers on Upwork.
Still, hiring is a little nerve wracking since it eats into your runway. It’s really tough to know when to burn money or time when you have minimal or no revenue. After PMF , hiring makes sense but before then it’s really ambiguous how to make that call.