I'm a solo developer and I have realized I'm stuck in a classic trap. I keep building, refactoring, and adding features instead of shipping and selling.
I'm never satisfied with the product. There is always something to improve. architecture, performance, edge cases, user experience, "one more feature" etc. I'm even wasting my time in improving the web frontend design on an unshipped code, even though it already looks like world class.
Development feels productive and safe. Sales, on the other hand, feels uncomfortable and uncertain, so I tend to postpone it. Don't have any experience in sales and marketing.
Intellectually, I know that distribution and sales are where the money is, not perfect code. Practically, I keep defaulting back to engineering work.
For those who have been in my position:
-
What mental shifts helped you stop over engineering?
-
How did you define "good enough" to ship?
-
What concrete habits forced you to prioritize selling?
I'm specifically interested in advice from solo developers or small founders who had to unlearn the "engineer first, business later" mindset.
Thanks very much.
How do solo developers break out of the "builder loop" and actually start selling?
byu/apidevguy inEntrepreneur
Posted by apidevguy
10 Comments
Been there man, classic perfectionist paralysis
What worked for me was setting a hard deadline and telling people about it – like posting on social media that I’m launching X product on Y date. The public shame of not following through was enough motivation to actually ship
Also started thinking of launches as experiments rather than final products. Way easier to put out a “rough draft” when you frame it as gathering data rather than presenting your magnum opus
The “good enough” question is the hardest one. What helped me: if it solves the core problem for one specific person, ship it. Not ten people, not “the market” – just one real human with the exact problem you’re solving.
For habits, I started treating engineering and sales as separate calendars. Tuesday/Thursday = no code allowed, only outreach and conversations. Sounds extreme but it works because you can’t “just fix one thing real quick” when the IDE isn’t even open.
Also – the uncomfortable truth is that feedback from a paying user is worth 10x more than any assumption you’re making right now. Every day you delay shipping is another day you’re building based on guesses instead of data.
It is difficult thing to do. Sometimes signals are not clear enough for you to stop building. For example in my current product users are not returning.This is clearly not a marketing issue as user saw the site, signed up(overcome friction 1), created a dashboard(overcome friction 2) and yet either did not liked it or did not see sufficient value to return. So only thing i can think of is well …building, good enough is not cutting it. More selling isn’t going to change the outcome, it would just be more users not returning.
Few things i have tried are
– set milestone and once it is reached release it good or bad let users decide.
– milestone should be based on theory that if i deliver this i should get some users if not create a new milestone based on user feedback or your own theory.
– I try to sell when AI is thinking. There is no point in sitting waiting for it to produce something and you cannot do something major as you also have to check its output this is the time i utilize for selling/marketing whatever.
This is painfully accurate. Building feels safe, selling feels risky so we keep “improving” instead of testing reality. What unlocked it for me was treating shipping as an experiment, not a judgment. If a real user can get value, it’s good enough. Everything else is just avoidance in disguise.
Minimum viable product. Nothings ever ready to release but failing with smart goals in place allow you measure react reiterate and relaunch. Lean startups get this and allow the end user to dictate the growth and direction rather than force someone to buy a product that you believe was made for them. Flip that tables and publish the idea with a strong emphasis or incentive on feedback and build into what they’re using or need
Fellow developer here. I was stuck in the same loop for months. What finally worked: Ship with embarrassingly basic features, but ship TODAY. Pick literally the smallest thing you can launch – even if it’s 20% of your vision. My rule now: If I’m not embarrassed by v1, I waited too long. Concrete habit that helped: I block 2 hours every morning ONLY for customer conversations or marketing – no coding allowed in that block. Sounds simple but it forces the shift. The mental shift was realizing: a mediocre product with 10 paying customers beats a perfect product with zero customers. You can iterate based on real feedback, but you can’t iterate in a vacuum. What’s the absolute minimum version you could launch this week? Not “ready” – just functional enough that ONE person could pay for it and get value?
I too have faced this earlier and then I started having a publishing schedule. For one of my project, I have set Monday as publishing date and I will publish all production ready updates on that day. That became small, but consistent update for my user and really helped my project.
It would suck to spend even more time perfecting and realize that no one’s actually interested. You need demand proof and you won’t get that without launching.
I did this exact thing with my first startup. Built for 8 months before showing anyone. Lost $40K. It sucked.
The shift for me was realizing perfect code is worthless if nobody uses it. Your world-class frontend that’s still unshipped is worth exactly $0 right now.
“Good enough to ship” means it does the main thing without breaking. That’s it. Everything else you can fix later based on actual feedback. My second thing I only had 3 features when I launched. It worked fine.
What actually helped: I set a deadline and forced myself to show people. Like “I’m gonna talk to 10 potential users by Friday no matter what.” Then I did it. Also talk to people before you launch. If you can’t find 5-10 people who are interested before you ship, the product probably isn’t solving a real problem.
Honest take: you’re probably avoiding sales because deep down you’re worried the product doesn’t actually solve anything important. So you keep building hoping it’ll become undeniably good. But more features won’t fix that. Only customers can tell you if it matters.
Stop building. Find 10 people who might actually use this and show them what you have. Their reaction will tell you what to do next.
In my experience, sales and marketing require a very different mindset to product teams. I would always say don’t be afraid of exploring the freelancer or employee routes depending on what stage you’re at