Every software project is a startup that will probably fail
muldoon.cloud
muldoon.cloud
Well, sure, if you restrict the definition of "project" to large high-risk software development, it may be true that most may fail. But in addition to the large projects under my belt, I've built literally hundreds of small, safe apps that offered incremental improvements to existing business processes, and they almost universally succeed.
So I'd have the opposite conclusion of the article. No, don't learn from VCs. Don't aim high and expect to fail. Don't look for large projects and expect them to transform your business. Do look for the small steps that take you towards your goals, and work the ones that have the highest impact for the lowest risk.
And in all honesty, most of the software work in the corporate world fits that mold. It just doesn't get any press because it is boring. Stable, but boring.
Thank you.
Added: With background in math and (theoretical) computer science.
Note that "stable boring" software is almost never "correct" from an academic perspective. The software is stable not because it has achieved theoretical perfection, but because it has been hardened through countless cycles of iteration, debugging, and customer feedback. The "boring" parts.
My #1 advice would be to get a foothold ASAP. University IT/other IT departments can be a good starting point. Even if you don't start out as a SWE, any sort of systems-facing role will get you valuable domain expertise and you will 100% have opportunities to automate whatever work you are doing and eventually graduate into full-time development positions.
Recently I’m reading up combinatorial optimisation and how it can be applied.
- Company of One
- Zero to Sold
- Million Dollar One Person Business
This one seems to be a new book. Have you read it? If so, what do you think?
Rob Walling coined that term initially through his conference on it called MicroConf, he has a new book called The SaaS Playbook [0] which I'd recommend, he has a sample PDF here [1]. His older book Start Small, Stay Small [2] is also quite good.
But to start off with a free resource, Jason Cohen's video on designing a bootstrapped business can't be beat [3].
[1] https://static1.squarespace.com/static/63974bca690bb40f1adc6...
> I'd recommend that you instead look up micro-SaaS, where you just target making $10k+ monthly recurring revenue and be set, rather than going on the VC treadmill and trying to raise capital, hire a team, etc which is often overkill for first time founders.
Yeah, it's also my orginal goal and what I want to start with.
On a side note, I read "No Filter" and "That Will Never Work" and quite enjoyed them.
One thought for you: RTO isn't so bad in this instance. Lots of insurance knowledge captured in the heads of older folks that prefer face-to-face. Their knowledge is the hardest to replicate but the most useful to system builders who really should know the business reasoning behind their efforts.
To me, this is the First Rule of software engineering. We take it for granted, but seeing things through this lens explains so much, including (e.g.) the potential benefits of LLMs.
Every software project has a shelf life except for a handful of very low-level ones that have survived the ages.
All projects need maintenance until they reach their deprecation date.
....maybe AI will solve this problem for us one day. :P
At any point we could all just just agree to make an unchanging ExtremeLTS target if we really wanted. Just like, freeze a modern Linux and only do nonbreaking changes to any of the parts.
Unfortunately nobody seems to have done that for real practical use. There's UXN, which is cool, but I wouldn't want to use anything that minimal, especially not with the focus on ASM instead of a high level language.
We could also just decide to make a compiler to make N64 dev easier and just keep making most of our stuff for that, retro console games will probably always be playable for as long as civilization continues, but that would not exactly be practical.
But windows kinda already does the whole unchanging target thing, or did. Their backwards compatibility is so much better than Linux, where nothing works in 2 years because of all the dynamic linking.
Failure on the preliminary R & D can be a complete show-stopper before you even get started.
OTOH with such limited, poor & incorrect documentation pertaining to the hardware & software, especially in combination with each other, a strong background in the Experimentation & Discovery aspect of R & D is often the only way to achieve your objective when the intended initial logical approach fails to perform as it is supposed to do. This need can penetrate beyond maintenance all the way to end-of-life.
One reason maintenance can chew up so many man-hours.
In any decently-run company, this already is the case. Most customer-facing projects are treated as startups that will fail (most do, some don't). I think expectations are well-balanced... but compensation, on the other hand...
> And more importantly, I’d want the developers of the project to have skin in the game to compensate for the risk. I’d want them to share in the upside risk, just like early startup employees do with their stock options. Because in the absence of that kind of incentive and risk management structure, what I see is sort of the worst of both worlds (software and corporate politics): new software products usually fail but nobody wants to take the blame, resulting in pervasive fraud and willful ignorance and shame and scapegoating and bitterness.
This hits the nail on the head. I remember working on a customer-facing product at X company about a decade ago. Our team was small and scrappy, and we were able to build a product that would eventually bring in $2M/month+. It felt very startuppy: we were regularly staying late at the office, getting takeout in the wee hours of the night, doing swarm sessions, war rooms, etc. I will say: it was engaging and fun. But what was our reward? A few months later, we got some cheap puffy jackets (estimated cost: $100 bucks) and a slap on the back: "good job team."
Companies will never let you share in the wealth. Why? There are enough suckers out there that are more than happy with six figures (when they should be making seven). I was already enamored with startups since my late teens, but after that experience, I truly realized corporate upside is basically non-existent unless we're in a market bull run. The year after, I quit and started to solely place my bets on my own startups.
In fact, the downside of betting on your own startup is fast converging with the downside of working at a FAANG or BigCo. Job security is shot (layoffs galore), perks are eroding (WFH, etc.), so what's the point? Best of both worlds is probably taking a BigCo salary and attempting your own thing on the side.
(Obviously, young kids, spouses, debt, etc. can change the equation substantially.)
Engineers - you are capable of creating an extreme amount of value that far exceeds your income. Take care of #1.
I once worked for a small closely held company (CEO and family were the sole, bootstrapped shareholders, no institutional funding), where the CEO would regularly moan and complain that his employees were so lazy and not dedicated enough and that they should "treat it as if it were their own business." It never really dawned on him that they might do that if it actually were partially their own business, with an equity stake (or even a bonus structure that rewarded effort).
There's no upside if there's no downside.
Even VCs take a management fee.
What about all the software teams who are not customer facing, and without whom you would not have had the opportunity to create this product?
How much of your success is due strictly to your team? What externalities are you not counting?
If you learned something which contributes to your future success, it's hardly a failure. I have lots of defunct personal software projects that "failed", but all of those failures make me pretty good at my day job.
I have 100's of projects too I never finished but they typically morph into something else or I realize it was a bad idea. I think not having that would mean failure and it seems these true failures are rare.
That's not failure.
The major difference being that the startup model is -> get a ton of investment based on a prototype, THEN try to figure out how to mature it and monetize it. Whereas lots of software projects have a direct path to revenue already.
Almost everything new is hard.
A thing doesn't have to achieve a shoot-the-moon ending in order to be a non-failure.
(And in the particular case of the USPS, it's literally enshrined in the constitution because it was seen as a pillar of democracy to be able to securely communicate with others over long distances.)
This is not true in the US, the post office budget is separate and not subsidized by taxes.
But that depends on what counts as "success". If you are looking at just money or Github stars (or whatever the equivalent is in art or music) then that's one measure, but success could mean learning, personal satisfaction, something that helped or inspired someone else, the praise of a few people you look up to, or a job opportunity.
If you want to be working on shipping products, work on embedded stuff.
I’ve done customer facing business software too. Still mostly successful but that is where I’ve seen a few failures. One project I did was writing automated functional/integration tests didn’t see release but I take no blame for that one. The tests worked. The product didn’t.
I took a new ventures college class focusing on high tech startups and the statistics were more like: most startups get acquired, some IPO, and a small percentage fail.
Software is one of the most profitable industries out there. Just look up margins compared to other industries.
Now, I realize the article is talking about projects and not companies, but what’s the point of that?
Example: A typical car company loses 100% of the money it puts into their infotainment system software. But they make a bunch of money when they sell the car.
[1] (https://www.beauhurst.com/blog/startup-fail-scale-exit/)
Aligns with my extensive experience with startups, later stage venture-backed sw companies, mature public ISVs, and well-established multi-national margin-optimizing system integrators (SIs).
Most of them act (pretend) as if they are in one of the other categories, so they never have the self-knowledge required to apply the right rules to achieve success.
So, I’m not surprised the observation about startups also applies
In fact, I'm not sure it's on anyone. There's inherent risk in every project, and the team's job is to maximize the probability of success. At least that's the way a process-first person would probably think about it.
Results-first folks might argue that a great team will find a way to succeed. And then definitely, having more skin in the game will help with motivation. But I still think even the best team is just maximizing probability of success, and still they're more likely than not going to fail, because getting PMF is hard.
Why is it not on the developer?
That alone gets you to situations where the devs can see it obviously won't work, but the incentives and the egos are setup so that your job is just to build it, not critique it.
We live in the age of silent espionage, where large money hoarding monopolies control information and silently monitor trends. That information is also used to crush competition at the ground level. Even your notepad application talks to the Internet... Your social media posts get consumed by crawlers, that report your ideas back to companies with large teams of devs that could easily spin up a clone of your idea 10 times faster than you could.
It's at the point where writing thoughts in a notepad (on paper) will be the only way to keep them somewhat secure... Then of course, you need to be able to fully develop your ideas totally offline, until you're ready to launch... But then even after go live, you'll need to rely on those same systems that work to reverse engineer your best ideas, or to sell them in secret to your competition... We're doomed perhaps... As an independent software maker, you compete instantly with companies that run powerful espionage platforms, and that have money and human resources that can easily crush you, along with legal teams that can ensure you spend the rest of your life in a courthouse battling for ownership of your original brilliant ideas...
Maybe it's time to just return to entrepreneurship that doesn't involve software development, or jurnalism, or anything online for that matter... Even our calculator app snitches over the Internet on us now, and it's far too late for an aging and very non-technical Congress to reign this shady brand of innovation espionage back into anything protective of our rights.
No one said anything about conspiracy... Anti-competitive business behavior though is definitely real, and growing for people that know about it through experience.
Your lack of knowledge concerning how business actually works is apparent in your post.
My first project was a WebSocket client/server for developers, second one was a multi-blockchain ecosystem built using the WebSocket server/client, then I made a decentralized exchange to connect the blockchains. My current project is a no-code SaaS platform; it's being built using my WebSocket client/server and blockchain ecosystem as the auth and payment layer. When that fails at monetization, my next project will be to use the SaaS platform I will have made to copy successful existing SaaS platforms in various niches via a cryptocurrency-based subscription model. Then when that fails, my next project will be the lowest risk one, I will use all the stuff I built to offer contract-based development services to individual clients. When that fails, I will try to get into politics or write a book about failure.
I won't even read the article.
Motivation is a key requirement. If you don't believe in yourself and/ or your product, you might as well quit everything.
Posts with titles like those are, for me, toxic, and I'll flag it.
You need enough motivation to get across the finish line and ship a product. Many, many people fail here.
If you're able to ship you need to be realistic about failure so you can iterate your product or move onto the next one with lessons learned.