I like that you point out that the cost to build software is still not 0. And in my expirence it’s further from 0 than I would expect. I often find myself thinking I can rebuild a project (or usually improve upon an existing one) in just a few days. And yet when it comes down to making anything well, it still takes time and iteration.
It’s a bit funny because I felt this way before coding agents as well, like you could clone something in just a few weeks. But in practice my expectations are rarely accurate.
I find myself fixing the spec of my software often, and that makes lots of existing code obsolete. Creating working code is getting cheaper with AI, but creating great specs which make the software easy and intuitive to use seems to be more difficult for AI.
Why? Because you have to actually use the product to discover what is wrong, or sub-optimal, with it.
Yeah exactly, I literally don’t know how to change my spec until I’ve gathered more data.
I was building a transaction classifier recently and I initially thought it would be a trivial “solved” problem. Throw transactions into a tiny local LLM, let it classify. But that approach was too slow, and not accurate enough. I didn’t know that though until I tried and then needed to change the spec.
So wait ... you're not even going to train based on what you want, just "throw into"? Did you actually put in work on a very clear and accurate prompt with a full manual on what to do?
I have multiple side projects that I would never have contemplated building before but whose utility now exceeds the much lower cost to build.
I got a few weeks in to each and then stalled on all of them because the effort and motivation required to extend beyond the crazed early days _is_ still more than the utility I get.
In a professional context, paying someone for software to do something outside my core domain is still the practical option compared to the motivation and effort needed to maintain another dependency.
I wouldn't underestimate the community effect of software. There are plenty of features that get shipped because a small but important minority requested them, only to benefit the long tail of users who never knew to ask for such a feature but now find it indispensable. If everyone is building their own isolated solutions, how does this positive externality manifest itself?
Much of the business world sees that as very high risk.
In their eyes, community moderation is an inverted pendulum that eventually falls over. Either one niche and unprofitable direction dominates, or the community turns it into an incoherent junk drawer of features. You're also opening yourself up to competitors poisoning the whole thing. To investors, it signals a lack of vision.
Feedback isn't inherently good or bad, but it can be unnecessary risk if you already know you have a solid product that meets the most common use cases with the strongest demand.
This is why successful products tend to be very mediocre. They're the average of all insights considered. Doing anything else is leaving money on the table.
To answer your question, nobody wants their product to become the platform that launches your directly competing product. That's suicide. You're asking to ride someone else's coattails.
Perhaps as open source software, but it would require building a community that agrees on some common procedures about what to build and how to use AI.
Brandur of course knows more than me, and his framing sounds correct. I would be worried about whether the TAM of Go + Postgres is enough for business sustainability, but that says probably more about my fears than the reality in this huge market called “internet”
I think this is a well thought out understanding of your specific snapshot in time. However these are indeed exponential times. It may be more realistic to do your calculus on time shifting assumptions, especially given how clear you are about the development time and life cycle of the product.
Also, some software businesses use a ton of aggregated or hard to get data which needs to be synthesized and that doesn't go away even if the llm driven coding is cheap.
I recently asked Claude to duplicate Google Docs. It practically threw up. I tried to have it write a plan, decompose it, deobfuscate it.
It gave me all sorts of reasons why this was a terrible idea. I've never seen it resist a task so directly and relentlessly.
It knew.
One point worth considering is that tools like Jira and Salesforce have dozens of screens and modals. But you only ever look at one at a time. So the enormity of the ask "duplicate Jira" is hard to see in its totality.
With Google docs, the entirety of the tool is almost one screen. It resists decomposition. So the true gravity of the request is more in your face.
You say you want to duplicate Asana or Service Now or Jira or Zendesk? Great, here's the keys to the car, a tank of gas, and a quarter to call me on a payphone when you get there. Oh wait payphones don't exist anymore...but it doesn't matter because you're never getting there.
These software platforms are built by thousands of engineers over more than a decade of dedicated work. They are they way they are for reasons. To think someone can duplicate them with some clever prompting is to completely fail to understand the scale of the problem at hand.
Be careful with making decisions about your livelihood based on a rational calculus. As you correctly point out, there is a threshold for which a programmer or company should not even blink at the cost of software. It's often the case that if the software they're buying saves one single hour of productivity, it's value-positive... and yet they won't buy it. Individual devs are notorious for refusing to pay a cent out of their own wallet, turning up their noses at anything that isn't offered open source and completely free. Enterprises manage to saddle what should be a no-brainer trivial expense into dozens of hours of bureaucracy that cost two orders of magnitude more than the expense the bureaucracy is for.
Your customers are more irrational than you are, and your appeal to them will likely need to resonate with them on an emotional level rather than logical one. I would argue that marketing is the hardest part of entrepreneurship, by far.
Yes, I roughly agree with all of this. In fact, for most of my existence, I'm been one of those cheap programmers.
The circumstances that led to me trying to push River for the next few months were somewhat accidental, and it felt like a good moment to at least make a go of trying to make it work. I'm not committing the rest of my career/life to any particular decision one way or the other.
I'll reiterate too that I believe we're still quite early in the LLM age and are still waiting for the other shoe to drop. All LLM-generated software feels free at the moment because it's still novel and the exhilaration of accomplishment when you build something complex inside of a few hours is addictive beyond words. However, within a year or two I think we're going to have a lot more software, all of which needs maintaining to some degree, and we're going to become a little more reluctant to generate new projects to add to the heap. This'll cause an adjustment back to a more compromise position.
(Also, could be completely wrong about all of that, so take it for what it is.)
I think people are more rational than given credit for. Their decisions are not necessarily rational for the company, but they are often pretty rational for themselves.
And some bureaucracy is often necessary to evaluate security, data protection agreements, etc.
Some companies are not efficiently allocating resources and so projects sit in legal/security review for longer than is reasonable, but it makes sense that individual developers don't have unilateral authority to use 3rd party vendors.
Plus, too many companies don't spend their money in a logical fashion. As a manager, you can direct your $200,000/year engineer in any way you want, but try to spend any amount of money on a new SaaS product and procurement might huffily demand hours of your time and weeks of delay to authorize even $40/month, let alone $400/month.
That said, I think the path Brandur is describing is well-trodden and proven out by projects like Sidekiq.
Some of my past employers were pretty good about authorizing small and medium expenditures quickly, or in some cases not requiring any authorization at all.
This feature almost always went away as the company grew and the abuse became too much to ignore. I thought it would be safe to trust developers and to deal with isolated abuse when it came up, but the number of people who see any spending perk and treat it like a target they need to maximize is way higher than I ever thought.
There are a lot of examples of this, like companies that offer to pay for dinner if people have to stay late. This seemingly always turns into a game where people hang out in the office and scroll on their phones until the allowed time arrives, then they take their dinner and leave. This doesn’t happen at small companies where you can witness what people are doing, but cross the threshold to big company and many people start doing whatever they can get away with.
There was a big story a few years ago about how employees at a big company were even caught using this perk to order their home groceries because the DoorDash like service they used had launched a section where they could get those things delivered with their food. It was crazy that employees making mid six figure salaries were still brazenly breaking the rules for personal gain of a couple hundreds of dollars per month.
This is one of those things that makes me go insane at the last three companies I worked at and the reality is there's just an in group of people whose purchases are basically auto approved, and anyone below our out of this group might as well pound sand.
This creates so many weird inefficiencies that I have seen an entire billion dollar companies analytics run on free google sheets + compute because they couldn't figure out what to use for five years.
Thankfully, most devs aren't the one making purchasing decisions in B2B. I haven't seen any change in the build vs buy equation for real businesses tbqh, and in B2B, those are the customers you want to target anyways, not the indie devs who think they can build Dropbox in a weekend. In B2C, I can definitely see this being true, but I have very little experience there so anything I say here is more on gut-feeling than anything else. But I have over 10 years of experience in B2B, and I've never seen businesses more eager to buy, to free teams up to work on the things they're experts at -- myself included.
If we can show that the hour of productivity saved is worth more, would the individual dev still want to build it because they like tinkering with it. The individual dev would value the time of playing with the code more than the time of productivity saved?
Thanks applfanboysbgon, this is the type of comment every HN commented should aspire to!
Packed full of insightful comments that cut against the grain and are logical even if unpleasant to hear, delivered with kindness and a thoughtful, caring tone, and backed up with strong justification.
Did I mention delivered with kindness?
And it mirrors my experience. The struggle has me convinced that to sell anyone anything your offer has to be so overwhelmingly good they’d not just win from having it but lose from not having it. It’s why the slick salespeople of old would talk for minutes at you just to get you to buy a thing once - non stop talking attacking your objections from every angle before finally moving on to the price. Sure, as the person offering the thing you see the value - but your prospect just showed up to your site, they’ve got an Amazon purchase to finish on another tab, the baby is crying in the other room, and there’s an outage. Sorry - your thing does what again?
Dismissing software non-buyers as irrational, or asserting certain purchases are "no-brainers" is missing the mark.
Acquiring new software is a major commitment beyond just the price tag. It means integration, continuous maintenance, dealing with forced UI updates, supply chain exposure, and so on.
Every seasoned dev (unless very lucky) has dealt with bad software acquisitions, almost all of which seemed to be great deals at the time of purchase.
This is so true, and it’s true of libraries, OSS, etc. I frequently build instead of using a library simply because I’ll know and can fix the warts, I’m automatically in tune with the state of the code, and I’m in control of maintenance. Of course if the code is too big (TLS library like OpenSSL) then it changes. But I still try to avoid external stuff just because of the costs you listed.
Not a SalesForce dev, but there is a bit of oversimplification what CRM SaaS is today.
Almost everything integrates with SF today and most often understanding, replicating and maintaining these integration pathways may need more than 1.5 engineers. You then bring 3 engineers (to cover absences) and buy enough tokens.
And we haven't even scratched other parts: disaster recovery, security, legal (CCPA/GDPR), etc
I would say that the main reason to buy corporate software is to delegate responsibility to a 3rd party. By doing in-house you take the legal, regulatory responsibility of pretty sensitive records, that will definitely bite you in the future, or will easily inflate the build costs
I find that younger software engineers sometimes take the attitude of: Why would I pay for that when I could easily just do it on my own? As they grow and gain more responsibilities that flips to: Why would I build and maintain something on my own when I could pay someone else a few bucks to do it? At least I feel I went through this change as I grew professionally...
So many things I am completely capable of doing on my own I simply don’t want to. I have better things to do. More valuable things.
Good luck on your new endeavour! Selling to devs is hard, did you consider building in public? That would def help get traction imo.
Your point about considering API design and overall architecture would definitely differentiate among the all AI slop out there
It’s a bit funny because I felt this way before coding agents as well, like you could clone something in just a few weeks. But in practice my expectations are rarely accurate.
Why? Because you have to actually use the product to discover what is wrong, or sub-optimal, with it.
I was building a transaction classifier recently and I initially thought it would be a trivial “solved” problem. Throw transactions into a tiny local LLM, let it classify. But that approach was too slow, and not accurate enough. I didn’t know that though until I tried and then needed to change the spec.
I got a few weeks in to each and then stalled on all of them because the effort and motivation required to extend beyond the crazed early days _is_ still more than the utility I get.
In a professional context, paying someone for software to do something outside my core domain is still the practical option compared to the motivation and effort needed to maintain another dependency.
In their eyes, community moderation is an inverted pendulum that eventually falls over. Either one niche and unprofitable direction dominates, or the community turns it into an incoherent junk drawer of features. You're also opening yourself up to competitors poisoning the whole thing. To investors, it signals a lack of vision.
Feedback isn't inherently good or bad, but it can be unnecessary risk if you already know you have a solid product that meets the most common use cases with the strongest demand.
This is why successful products tend to be very mediocre. They're the average of all insights considered. Doing anything else is leaving money on the table.
To answer your question, nobody wants their product to become the platform that launches your directly competing product. That's suicide. You're asking to ride someone else's coattails.
Also, some software businesses use a ton of aggregated or hard to get data which needs to be synthesized and that doesn't go away even if the llm driven coding is cheap.
It gave me all sorts of reasons why this was a terrible idea. I've never seen it resist a task so directly and relentlessly.
It knew.
One point worth considering is that tools like Jira and Salesforce have dozens of screens and modals. But you only ever look at one at a time. So the enormity of the ask "duplicate Jira" is hard to see in its totality.
With Google docs, the entirety of the tool is almost one screen. It resists decomposition. So the true gravity of the request is more in your face.
You say you want to duplicate Asana or Service Now or Jira or Zendesk? Great, here's the keys to the car, a tank of gas, and a quarter to call me on a payphone when you get there. Oh wait payphones don't exist anymore...but it doesn't matter because you're never getting there.
These software platforms are built by thousands of engineers over more than a decade of dedicated work. They are they way they are for reasons. To think someone can duplicate them with some clever prompting is to completely fail to understand the scale of the problem at hand.
Your customers are more irrational than you are, and your appeal to them will likely need to resonate with them on an emotional level rather than logical one. I would argue that marketing is the hardest part of entrepreneurship, by far.
The circumstances that led to me trying to push River for the next few months were somewhat accidental, and it felt like a good moment to at least make a go of trying to make it work. I'm not committing the rest of my career/life to any particular decision one way or the other.
I'll reiterate too that I believe we're still quite early in the LLM age and are still waiting for the other shoe to drop. All LLM-generated software feels free at the moment because it's still novel and the exhilaration of accomplishment when you build something complex inside of a few hours is addictive beyond words. However, within a year or two I think we're going to have a lot more software, all of which needs maintaining to some degree, and we're going to become a little more reluctant to generate new projects to add to the heap. This'll cause an adjustment back to a more compromise position.
(Also, could be completely wrong about all of that, so take it for what it is.)
"one of those stingy programmers" might be clearer wrt this use of "cheap" meaning "tightwad" not "inexpensive"
And some bureaucracy is often necessary to evaluate security, data protection agreements, etc.
Some companies are not efficiently allocating resources and so projects sit in legal/security review for longer than is reasonable, but it makes sense that individual developers don't have unilateral authority to use 3rd party vendors.
That said, I think the path Brandur is describing is well-trodden and proven out by projects like Sidekiq.
This feature almost always went away as the company grew and the abuse became too much to ignore. I thought it would be safe to trust developers and to deal with isolated abuse when it came up, but the number of people who see any spending perk and treat it like a target they need to maximize is way higher than I ever thought.
There are a lot of examples of this, like companies that offer to pay for dinner if people have to stay late. This seemingly always turns into a game where people hang out in the office and scroll on their phones until the allowed time arrives, then they take their dinner and leave. This doesn’t happen at small companies where you can witness what people are doing, but cross the threshold to big company and many people start doing whatever they can get away with.
There was a big story a few years ago about how employees at a big company were even caught using this perk to order their home groceries because the DoorDash like service they used had launched a section where they could get those things delivered with their food. It was crazy that employees making mid six figure salaries were still brazenly breaking the rules for personal gain of a couple hundreds of dollars per month.
This creates so many weird inefficiencies that I have seen an entire billion dollar companies analytics run on free google sheets + compute because they couldn't figure out what to use for five years.
Build a good product and they will come.
and
https://xkcd.com/1205/
Packed full of insightful comments that cut against the grain and are logical even if unpleasant to hear, delivered with kindness and a thoughtful, caring tone, and backed up with strong justification.
Did I mention delivered with kindness?
And it mirrors my experience. The struggle has me convinced that to sell anyone anything your offer has to be so overwhelmingly good they’d not just win from having it but lose from not having it. It’s why the slick salespeople of old would talk for minutes at you just to get you to buy a thing once - non stop talking attacking your objections from every angle before finally moving on to the price. Sure, as the person offering the thing you see the value - but your prospect just showed up to your site, they’ve got an Amazon purchase to finish on another tab, the baby is crying in the other room, and there’s an outage. Sorry - your thing does what again?
Acquiring new software is a major commitment beyond just the price tag. It means integration, continuous maintenance, dealing with forced UI updates, supply chain exposure, and so on.
Every seasoned dev (unless very lucky) has dealt with bad software acquisitions, almost all of which seemed to be great deals at the time of purchase.
Not to mention enshittification, predatory prices increases, the supplier getting bought out, etc. The list goes on...
Almost everything integrates with SF today and most often understanding, replicating and maintaining these integration pathways may need more than 1.5 engineers. You then bring 3 engineers (to cover absences) and buy enough tokens.
And we haven't even scratched other parts: disaster recovery, security, legal (CCPA/GDPR), etc
So many things I am completely capable of doing on my own I simply don’t want to. I have better things to do. More valuable things.
Yes, build versus buy. The eternal question!