Software as a Business Part 1: Lessons from the Trenches. A hands on take on building and selling software, written from the keyboard of someone who ships, answers support at midnight, and stares at Stripe charts with coffee in hand. These are timeless lessons you can put to work right now.
Context: building software in this moment
If you write code and want to make money from it, this is a wild and interesting moment. Microsoft just picked up GitHub and the dev world is buzzing. GDPR landed in inboxes and changed how we think about consent and data. Docker and Kubernetes moved from cool to normal. Serverless is no longer a party trick. AWS Lambda, Google Cloud Functions, and Azure Functions keep showing up in side projects and production alike. Slack lives on every team’s dock. Zoom is the new meeting room. Stripe made charging for software almost too easy, and small teams keep launching real businesses from side bedrooms and coffee shops.
At the same time, we feel subscription fatigue and app stores are tightening rules. Twitter changed APIs and reminded us that platforms can pull the rug. Crypto made noise and taught everyone that hype does not equal value. In this mix, the game is simple to say and hard to do: find a painful problem, solve it with software, and charge fairly for it. The rest is craft.
Definitions you can run with
We toss around metrics and buzzwords without stopping to sync on what they mean. Here is a clear set you can keep close.
- Software as a business: code plus distribution plus support plus cash flow. Not a project. Not a repo. A living thing that must earn trust and money.
- MRR: monthly recurring revenue. The heartbeat. Watch it weekly.
- ARR: twelve times MRR. Good for planning but do not let it hide churn.
- ARPU: average revenue per user per month. Moves when you raise prices or segment better.
- CAC: customer acquisition cost. What you spend to get a paying customer. Ads, content, sales time, partnerships. All in.
- LTV: lifetime value. Revenue you expect from a customer over their time with you. Rule of thumb we like: LTV should be at least three times CAC.
- Payback period: how many months to recover CAC from gross profit. Under twelve months is healthy for most bootstrapped teams.
- Churn: who leaves and how much revenue they take. There is logo churn and revenue churn. Watch both.
- Net revenue retention: do upgrades cancel out downgrades and churn. Above one hundred percent is magic.
- Activation: the moment a new user gets value. Your job is to pull this forward.
- Onboarding: the steps that lead to activation. Clear, short, and focused on outcomes.
- Product market fit: people use it, tell friends, and get mad if you turn it off. Churn drops, support changes from pain to feedback.
- Freemium vs free trial vs paid only: free forever tier, time limited trial, or no free at all. Your market and CAC will push you one way or the other.
- Sales led vs product led: demos and reps guiding deals, or self serve with the product doing the heavy lifting. Many end up with a blend.
Examples from the trenches
Example one. A two person team built a status page and incident alerting tool for Shopify stores. They started at nine dollars per month. People liked it but support was heavy. Stores with real traffic needed multiple contacts, SMS alerts, and fancy reports. The team moved to three tiers at nineteen, forty nine, and one hundred ninety nine per month. They added a yearly plan with two months off. MRR went from two thousand to nine thousand in six months with the same number of customers. ARPU jumped. Churn fell because the right customers felt seen. Key move: they wrote a simple setup checklist that led to a win in the first session. Activation time dropped from three days to under one hour. CAC stayed low because installs came from the Shopify app store and content they wrote about uptime, SSL, and performance.
Example two. A small company selling a data export API for marketing teams priced by seats. The buyers barely added more seats but hammered the API with millions of calls. Costs grew. They switched to usage pricing based on processed rows with a minimum monthly fee. They kept seats free for viewers. Revenue steadied. The best customers paid more without negotiation. The wrong customers self selected out. Support tickets about rate limits went down once they added a clear usage meter in app with alerts before crossing tiers.
Example three. A solo developer made a desktop screenshot tool for QA teams. Early buyers were freelancers. Then agencies started buying ten seats at a time. He added a team plan and simple billing for managers. He also offered an annual option with a small discount and invoices for any purchase above five hundred. CAC for freelancers was near zero with Product Hunt and word of mouth. CAC for agencies came from time spent on demos. He gave himself a rule: no custom work unless the feature helped at least twenty percent of the base. That rule saved the road map more than once.
Counterexamples you can avoid
- Free plan with too much power. A team offered unlimited projects on the free tier to get signups. It worked. Hundreds of active users. Almost no upgrades. When they put a cap at three projects and added a clear reason to pay, conversion climbed from under one percent to five percent. Before the change, they were training users to treat the product like a toy.
- Custom features disguised as progress. A young company chased a big client and said yes to everything. They spent eight weeks building one off options. The client churned after a quarter because internals changed. That code haunted them for a year. Saying no would have hurt less.
- Paid ads with fuzzy math. Another team pushed dollars into search without tracking payback. CAC looked fine when they counted trials as signups. Real CAC was triple once they matched ads to paying customers. They paused ads for a month, fixed tracking, and came back with tighter keywords and better landing pages. Payback went from never to eight months.
- Platform risk ignored. A product depended on a social API for data. Terms changed overnight. Calls were rate limited, then blocked for many accounts. The product had no plan B and churn spiked. If any part of your offer hangs on someone else’s API or store, assume that policy can change and keep a buffer.
- Too many settings. A team kept adding options to satisfy every edge case. New users felt lost. Activation never happened because people got tired before seeing value. When they hid most settings behind a simple default and moved advanced stuff into a separate page, activation doubled.
Decision rubric for shipping and selling
Use this when you feel stuck. It keeps emotion in check and points to action.
- Who is the buyer: write a plain sentence. Who pays and why do they pay. If you cannot do this, do not ship the feature.
- What is the job to be done: describe the moment of pain. Example, marketing manager needs a clean CSV every Monday at nine to share with finance. Your product should make that predictable.
- What is the next best alternative: spreadsheet, contractor, script, bigger tool. Price against the next best thing, not against zero.
- Price test like a scientist: start with three tiers. Good, better, best. Anchor with a clear jump in value. Move price up for new customers after every twenty closed deals or every quarter. Keep grandfathering unless your costs explode.
- Choose trial or free: pick a free trial if activation happens within fourteen days and your value is clear. Pick freemium if your CAC is high and the product spreads by itself inside teams. Paid only is fine when the buyer knows the pain and already has budget.
- Payback rule: if CAC payback is over twelve months and you are bootstrapped, fix that before you add new channels. Improve activation, raise prices, or focus on a smaller niche with higher ARPU.
- Feature filter: will this help at least twenty percent of paying users within sixty days. If not, put it in a parking lot. Say no with care.
- Support shape: if you get the same question three times, update onboarding or docs. If a question is about price, revisit packaging. Support is a mirror, not a chore.
- Channel mix: aim for two steady channels. For example content plus marketplace, or referrals plus outbound. If one channel owns more than sixty percent of new revenue, build a second one.
- Platform risk buffer: if you depend on an external API or store, keep at least two months of cash and a plan to shift. Collect emails. Own your domain and your audience.
- Sales or self serve: if your ACV is under one thousand per year, push to self serve with crisp onboarding and a great help center. Between one and ten thousand, a mixed motion works. Above that, hire a rep once you close ten deals as founder and have a repeatable pitch.
- Metrics rhythm: review weekly MRR net new, churn, trials started, activation rate, support volume, and NPS comments. Ship changes that move activation and retention first.
Lesson learned: timeless truths for software as a business
- Charge for value early. The longer you wait to ask for money, the harder pricing becomes. Money is feedback. It tells you who you serve.
- Retention beats growth hacks. You can buy signups. You cannot buy stickiness. If people stay and expand, everything else gets easier.
- Speed to learning wins. Ship small, measure, talk to customers, and tighten the loop. Fancy road maps do not pay the bills. Small wins compound.
- Pick a clear niche. A narrow market with real pain is better than a vague mass. Be the best at one job. You can widen later.
- Simple pricing helps everyone. Three tiers, clear limits, and plain words. Add usage pricing only when it maps to value people feel.
- Own your audience. Email list, docs, and a blog you control. Platforms can turn and you need a direct line to customers.
- Measure what matters. MRR, activation, churn, CAC, LTV, and support response time. Vanity metrics do not keep the lights on.
- Reduce time to first value. Give people a win in minutes. Templates, defaults, sample data. Celebrate the moment with a clear message and next step.
- Build the boring stuff. Backups, billing, permissions, audit logs, clear error messages. Trust pays back every day.
- Guard focus. Every yes costs you. Put ideas on a board, review monthly, and say no twice as often as you say yes. The best feature is reliability.
- Use price as a steering wheel. When support is crushing, raise price. When demand is soft, test a lower entry tier. When everyone asks for invoices, add annual plans and net terms.
- Document decisions. One page per change with the goal, the metric to move, and the date to review. Future you will say thanks.
- People buy outcomes. Your home page should show the result, not the tech. Save the architecture talk for docs and sales calls.
- Talk to customers weekly. Short calls, screen shares, and open questions. Ask what they tried before you, what surprised them, and what broke. Patterns will emerge.
- Respect cash. Cash is oxygen. Keep a simple forecast. If you have less than six months of runway, fix payback and pricing before adding headcount.
If you only remember one thing, make it this: software is a service job. Write code, yes. But also write clear emails, record a quick loom when a customer is confused, pick up the call when something breaks, and charge fairly for the value you bring. Do that on repeat and the charts tend to follow.