I think he's right in that the software factory somewhat should emerge. You shouldn't start a project by saying "well, I first should build a software factory to make this faster". Start by building the thing by directing an agent. If you find yourself writing the same thing over and over put it into a skill which you should think of and treat as a macro. When you find yourself developing clear patterns what skill gets invoked when it might be time to start a software factory which in essence puts those decisions and relevant informations behind a pretty interface.
My software factory emerged that way and for the 50-70% of simpler tasks I work on this saves me so much time and, more importantly, mental overhead.
Sounds to me like people understand different things under a software factory.
I believe a software factory is just the next step in the mantra everything is code.
One wants to write a feature description and acceptance criteria into the "box" as fuzzy and with least details as much as possible.
To enable this, one creates for the factory access to information of the domain, requirements and software stack as required by the environment.
And this one attempts all with tools, documentation and processes optimized for the ai.
All with the goal use less tokens, context and speed up every action taken by an agent as much as possible.
That's why there is a trend to plugin based self evolving harnesses which try to automate this with opionated solutions.
Therefore I don't see a reason why building tools for easier testing and less tokens usage is a waste of time especially because one learns more a more areas in ones work one can automate and because depending on your tool choice it can be done without your input and one misses the chance to experiment if ones input in that regard will improve the factory or not.
Depends. I say, let your needs drive your personal infrastructure. For example, I wanted to run Claude Code in YOLO mode 6 months ago, but I have lots of projects that I wanted to keep separate from one another (or at least be intentional about how they interact), and especially I wanted give some a set of permissions that they needed, but not this other set, and vice versa, and I could see them doing "grep -r" and "find $HOME" to just search over everything (with constant "I'm sorry, I exfiltrated these API tokens, so you need to rotate them"), so I built a little container setup to isolate them, and it's been working decently well for me and given me peace of mind when I let a project cook for a few hours.
Now I find that sometimes I do have tasks that I just want completed, and they're small or obvious or scoped enough that I know my role would be basically opening up a session and telling it to implement it and then asking another LLM for review and then fix the problems it found and then rubberstamp it--this is all for my personal setup so "QA" just involves me trying out the feature in my normal workflow anyway. So now I have a little miniature "software factory" that does the above, but without me needing to be in the loop. I press Alt+N and type e.g. "make TTS streaming" and continue about my other business, and in 5 minutes my text-to-speech setup has gone from nothing showing up until I toggle my push-to-talk switch, to words showing up at every pause.
I know it's not a bigco "software factory" but it serves my needs. And isn't that what this new era is about? We have a magic genie that grants wishes as long as they're well-enough defined and it's connected to the right other pieces to make it happen. So create an internal process that allows that genie to grant your wishes reliably and in bulk. What else is a "software factory" anyway?
I fully agree with the sentiment, but is it attacking a strawman or are people really building "software factories"? this is the first time I've even seen the term used in the context of LLMs. what would a software factory on top of an LLM even look like?
I know a few entrepreneurs and they all independently started building these kind of factories around the same time, so this is definitely not a straw-man.
I'd say give it another couple of months and you won't be able to move for announcements about this kind of thing.
The "sales pitch" is that factories are to agents what agents were to models; Personally I'm not convinced we need an extra automation layer, with all the downsides that come with even more disconnection from the product being built, but some people are starting to swear by them.
I guess it depends on what people define it as. But I've seen many devs build custom harnesses of sorts, and spend lots of time on that to wire it all together, to then really not achieve much with them. Examples being tools or stuff that got superseded once mcps became a thing. Or spend hours making gigantic folder of skills that specified loads of stuff that the next generation model just could infer. Or build a gigantic parallel agent suite when the bottleneck wasn't the agents in the first place.
I have my own dark factory for a small company I work in several projects.
The factory is: agent orchestration and swd.
Basically I refine the work to do, create a bunch of tickets on day 1 and the factory deliver the work during the rest of the week.
So first off, talking about "LLMs" is kinda a yellow flag that you might be a bit behind the times, here: in ~April of this year[1], "agentic engineering" became truly tractable for serious work. We've all been playing with LLMs for coding and research since ~2023 of course, but they were mostly limited to the chatbot paradigm; even after years of Claude Code "harnesses", most engineers were still not trusting them to perform significant tasks on their own due to inevitable quality issues.
Now, that has changed. This isn't just better models, it's a qualitative improvement in capabilities, a step-change, an inflection point; what the MLrs like to call emergent capabilities, in a loose sense.
To pick just one very tangible example close to my heart: This is why the three.js subreddit[2] has exploded in popularity, showcasing demos by non-engineers that blow any three.js app I saw pre-singularity out of the water, which took hundreds of hours of specialized engineering to make (ask me how I know...). The community is reacting[3] much like the mathematicians, understandably.
---
Ok now to answer your actual question (sorry -- that was the intention, originally!) as concisely as I can. "Software factories" are any system you setup to help you build software in deeply agentic ways. All the major harnesses and "ADEs" like Zed could arguably fit here already, but there's a massive ecosystem of other takes, as this article implies. I don't want to give them too much credit for just snagging the name, but the "Factory" startup does embody the idea pretty well: https://docs.factory.com/
They often (though not necessarily, IMHO) include some services that spawn their own agents after deterministic checks ("latent services", in my lingo) and services that use DL models more subtly to empower otherwise-symbolic services ("semilatent services").
In my biased experience, they often focus on a few central usecases, solving the problems that individual devs run into when trying to run multiple harnesses on multiple projects without friction, longterm decoherence, token wastage, or bottlenecks:
1. Code review. This is the big one and far trickier than it seems (trust me!), so often tried then abandoned. There's a huge startup just for this: https://www.coderabbit.ai
2. Cross-harness syncing of settings, hooks, and/or various flavours of very important markdown -- AGENTS.md files, skills, and subagents personas being the big ones.
3. Cross-agent, harness-agnostic coordination and communication. This just recently reached both the main harnesses, but it seems internal for now; a `BULLETIN.md` helps me a TON.
4. More generally, cross-agent coordination when it comes to worktrees, resource sharing (e.g. OCR queues on my 4090, for me), persisting agent-facing content (e.g. reports, trackers, scratch files, .jsonl blobs) in a convenient place that doesn't clog up the repo, and other technical details that might otherwise have to be figured out again and again by each agent.
5. Enforcing standards, either through hooks (blockers, nudges, or revertable fixes) or the aforementioned services. Think commit messages, prose simplicity, doc conventions, etc., though the sky's the limit, here. Like an intuitively-intelligent, more complexly triggered, agent-only precommit setup, in a way.
6. Finally, there's a whole ecosystem of tooling for agents, which I like to call "ACIs"/"Agent-Computer Interfaces". The sky is both the ground and the limit, here; it's really whatever the dev finds their agents to be oddly inefficient about, or just straight up bad at. I personally some to make edits "self-healing", normalize post-OCR cleaning, and capture quick screenshots w/ optional aesthetic critique[4], if that gives you a sense.
TL;DR: Fun stuff to make that speeds you up because it's tailormade to how you work! I made a bunch because I've been ""self-employed"" and thus had the time to explore myself[5], tho I understand why a more realistic after-work paradigm would make this kind of work wasteful.
On that note, back to writing cover letters -- apologies if the long message bothers anyone. I really should start a blog or get a hobby or something, huh
AFAICT there have only been two programming languages that people rely on today that were created after the year 2000: Go and Rust. Both were sponsored by large organizations which had clear goals that drove the design and development. All other modern languages are not going anywhere. The days of Python and Ruby and Perl and PHP being personal projects that people created, that grew into widespread languages that other people use seriously, are over. (Zig feels like it's a potential counterexample, but it's already been 10 years; for every other language mentioned above, after 10 years they were clearly well along their adoption curve.)
I guess it depends how you look at it. I agree there's a lot of new products being built that will get zero maintenance. But also think there's some awesome stuff coming out that is changing the name of the game. And that's thanks to personal software factories. I think it's better to see it as a personal software lab rather than a factory.
I'm not sure that there is a "One Size Fits All" software factory out there. I think that they kind of have to grow with your organization.
However, I think being able to build a software factory is probably a very useful skill. And it feels pretty great to just send a list of bullet points over XMPP and know they'll get integrated overnight.
I've given up on sharing anything I make. Distribution was already hard before LLMs, because the market was so saturated that you needed a big advertising budget or a good pre-existing channel to reach anyone. Now that making things isn't special, you don't even get the small boost of having made anything.
I think about posting a Show HN of something I made, and then think "everyone will have made ten things before lunch, why would I", and just never share now.
If the predictions of the death of software engineering come to fruition, the only acceptable result of that is a world where "software" is a detail about how computers do things that some people can investigate for the sake of their curiosity, or because they are particularly meticulous about some detail. A world in which any software can be created by prompting eventually converges into a world where people solve their own problems with software, without thinking about the act of creating software. The idea of selling software in that world becomes ridiculous, and computers reach their potential as a tool normal people and businesses alike can use to solve problems.
To be clear, as someone who currently makes a living on making software, this is a major upheaval and sucks for me at least in the short term, because of the economic realities of the society in which we live. However, there are only two classes of alternatives. One is that the "AI can make all software" world fails to materialize. We're certainly not guaranteed this outcome, LLMs still generate sprawling and buggy code and we are in an era of unprecedented levels of tech rot. It's possible this is an unsolvable problem, and engineering, while probably assisted by LLMs, still requires people do a lot of manual work, or at least steering and guiding. The idea that we can already get reliable software out of claude go brr is uh... pretty misguided and silly, and at best the people who push that idea are, shall we say, optimistic. I think software engineering for a company continues to suck in this world, and I hope there's the opportunity for more people to go around being computer-touchers for non-computer-people in a more integrated context, rather than some massive "tech industry" increasingly insulating itself from society at large and building shit to try to ensnare and enthrall people, as it has been for the last few decades.
But I do think it's pretty plausible we get there, get to the computer that you just interact with by asking it for things - which it builds as software on the backend because software is a way more reliable and cheap way to repeatedly do the same task than throwing an LLM at the problem fresh each time you need something - but mostly people don't worry about that part. In that world, we either get to own computers or we don't, and if we don't, we are in an authoritarian dystopia the likes of which the world has never seen and may never escape. That's the second alternative. Governments outlaw computers or companies make it impossible for consumers to get their hands on them or some combination of these. This is the world that most large tech firms clearly want, and even as they praise open source software and rely on it as the backbone of most things they do, they seek to enclose the commons and use it as a means of societal control and get fat off of rent-seeking. A world in which the awesome power of the general purpose computer is a tool of control by an elite aristocracy is a world of either extermination or oppression of an unprecedented number of people, both in sheer numbers and percentage of the population. I think it behooves almost everyone to fight against this class of outcome tooth and nail, no matter what promises the present crop of aristocrats tries to entice you with
Personally I want the world where a computer is just a tool most people have, that does computation things a person or organization wants, and asking in a way that gets them what they want is a pretty normal skill to have. Star Trek really feels prescient as I watch "non-technical" people start to engage with solving their own problems with computers more. It feels very plausible that people find themselves asking for things we currently have to write programs for in plain natural language. I think we could get there on our current trajectory. But we could also get a world where governments and corporations conspire to hoard computation and lock the general public out of it.
I don't think "software factories" are useless in this moment any more than I think writing programming languages was useless ten years ago. I do agree that there's an infinitesimal likelihood of this making you money in the short term, though. You likely won't be able to sell them, make a business out of them competing with the big guys, or maybe even leverage them at your corporate job. For your own purposes, though? Why not? Not everyone cares about setting the terms by which we build things with computers, but some do, and more power to them. Letting this be monopolized is a part of how we get the bad outcomes. If operating systems had fully become a monopoly, we'd already be much further into the bad outcomes than we are
What's a software factory? Honestly I have no idea. Is it something that takes in prompts and spits out a released software? That's already my Claude Cowork setup by default.
Agreed. I'm not someone who usually has trouble with comprehension, yet when I hit the paragraph which starts "I'm not saying...", I realized I still didn't know what TFA is saying. Based on the title, I expected it would lead with some clearly stated reasons why "Personal software factories are a waste of time" perhaps followed by examples and supporting facts.
Instead, TFA begins addressing objections and potential misinterpretations before even making it's case.
What a horrendous UI, with all the important content crammed on the right-bar, and the real, non-misleading content in a small font, after the bad summary.
My software factory emerged that way and for the 50-70% of simpler tasks I work on this saves me so much time and, more importantly, mental overhead.
I believe a software factory is just the next step in the mantra everything is code.
One wants to write a feature description and acceptance criteria into the "box" as fuzzy and with least details as much as possible.
To enable this, one creates for the factory access to information of the domain, requirements and software stack as required by the environment.
And this one attempts all with tools, documentation and processes optimized for the ai.
All with the goal use less tokens, context and speed up every action taken by an agent as much as possible.
That's why there is a trend to plugin based self evolving harnesses which try to automate this with opionated solutions.
Therefore I don't see a reason why building tools for easier testing and less tokens usage is a waste of time especially because one learns more a more areas in ones work one can automate and because depending on your tool choice it can be done without your input and one misses the chance to experiment if ones input in that regard will improve the factory or not.
Now I find that sometimes I do have tasks that I just want completed, and they're small or obvious or scoped enough that I know my role would be basically opening up a session and telling it to implement it and then asking another LLM for review and then fix the problems it found and then rubberstamp it--this is all for my personal setup so "QA" just involves me trying out the feature in my normal workflow anyway. So now I have a little miniature "software factory" that does the above, but without me needing to be in the loop. I press Alt+N and type e.g. "make TTS streaming" and continue about my other business, and in 5 minutes my text-to-speech setup has gone from nothing showing up until I toggle my push-to-talk switch, to words showing up at every pause.
I know it's not a bigco "software factory" but it serves my needs. And isn't that what this new era is about? We have a magic genie that grants wishes as long as they're well-enough defined and it's connected to the right other pieces to make it happen. So create an internal process that allows that genie to grant your wishes reliably and in bulk. What else is a "software factory" anyway?
I'd say give it another couple of months and you won't be able to move for announcements about this kind of thing.
The "sales pitch" is that factories are to agents what agents were to models; Personally I'm not convinced we need an extra automation layer, with all the downsides that come with even more disconnection from the product being built, but some people are starting to swear by them.
I'm not a software engineer and it's enabled me to build a startup with $4k mrr in the last few months solo.
framework
Now, that has changed. This isn't just better models, it's a qualitative improvement in capabilities, a step-change, an inflection point; what the MLrs like to call emergent capabilities, in a loose sense.
To pick just one very tangible example close to my heart: This is why the three.js subreddit[2] has exploded in popularity, showcasing demos by non-engineers that blow any three.js app I saw pre-singularity out of the water, which took hundreds of hours of specialized engineering to make (ask me how I know...). The community is reacting[3] much like the mathematicians, understandably.
---
Ok now to answer your actual question (sorry -- that was the intention, originally!) as concisely as I can. "Software factories" are any system you setup to help you build software in deeply agentic ways. All the major harnesses and "ADEs" like Zed could arguably fit here already, but there's a massive ecosystem of other takes, as this article implies. I don't want to give them too much credit for just snagging the name, but the "Factory" startup does embody the idea pretty well: https://docs.factory.com/
They often (though not necessarily, IMHO) include some services that spawn their own agents after deterministic checks ("latent services", in my lingo) and services that use DL models more subtly to empower otherwise-symbolic services ("semilatent services").
In my biased experience, they often focus on a few central usecases, solving the problems that individual devs run into when trying to run multiple harnesses on multiple projects without friction, longterm decoherence, token wastage, or bottlenecks:
1. Code review. This is the big one and far trickier than it seems (trust me!), so often tried then abandoned. There's a huge startup just for this: https://www.coderabbit.ai
2. Cross-harness syncing of settings, hooks, and/or various flavours of very important markdown -- AGENTS.md files, skills, and subagents personas being the big ones.
3. Cross-agent, harness-agnostic coordination and communication. This just recently reached both the main harnesses, but it seems internal for now; a `BULLETIN.md` helps me a TON.
4. More generally, cross-agent coordination when it comes to worktrees, resource sharing (e.g. OCR queues on my 4090, for me), persisting agent-facing content (e.g. reports, trackers, scratch files, .jsonl blobs) in a convenient place that doesn't clog up the repo, and other technical details that might otherwise have to be figured out again and again by each agent.
5. Enforcing standards, either through hooks (blockers, nudges, or revertable fixes) or the aforementioned services. Think commit messages, prose simplicity, doc conventions, etc., though the sky's the limit, here. Like an intuitively-intelligent, more complexly triggered, agent-only precommit setup, in a way.
6. Finally, there's a whole ecosystem of tooling for agents, which I like to call "ACIs"/"Agent-Computer Interfaces". The sky is both the ground and the limit, here; it's really whatever the dev finds their agents to be oddly inefficient about, or just straight up bad at. I personally some to make edits "self-healing", normalize post-OCR cleaning, and capture quick screenshots w/ optional aesthetic critique[4], if that gives you a sense.
TL;DR: Fun stuff to make that speeds you up because it's tailormade to how you work! I made a bunch because I've been ""self-employed"" and thus had the time to explore myself[5], tho I understand why a more realistic after-work paradigm would make this kind of work wasteful.
On that note, back to writing cover letters -- apologies if the long message bothers anyone. I really should start a blog or get a hobby or something, huh
---
[1]: i.e. Mythos and GPT-6, though obviously access rolled out slower to orgs/people without the special access programs, and even slower to people who prefer open models, where GLM-5.3[-Flash] was the first real contender[9]. For internal agent usage see this graph https://epoch.ai/data-insights/openai-coding-agent-spending and/or this writeup from June https://www.anthropic.com/research/claude-code-expertise
[2]: https://www.reddit.com/r/threejs/top/?t=month
[3]: https://www.linkedin.com/posts/danielgreenheck_i-think-its-t...
[4]: https://gitlab.com/doering-ai/libs/tact , https://gitlab.com/doering-ai/libs/mend , https://gitlab.com/doering-ai/apps/piq
[5]: Most of it is still private, but I made a subset public at https://gitlab.com/doering-ai/libs/fleet , and my code review & hooks are at https://gitlab.com/doering-ai/apps/gate
[9] https://www.anthropic.com/research/glm-5-3-and-the-spread-of...
People always told them they were wasting their time, and they were probably right about that.
On the other hand every programming language that people rely upon today also had people telling them this when they started out.
It's ok to attempt something that probably won't work if all you need is for enough people to make enough attempts that one of them works.
You need to look at people making software factories that actually need them to get to their end goal.
My personal software factory has been building an open-source Shopify for every vertical and I think it’s immaculate…no bias.
I'm not sure that there is a "One Size Fits All" software factory out there. I think that they kind of have to grow with your organization.
However, I think being able to build a software factory is probably a very useful skill. And it feels pretty great to just send a list of bullet points over XMPP and know they'll get integrated overnight.
I think about posting a Show HN of something I made, and then think "everyone will have made ten things before lunch, why would I", and just never share now.
To be clear, as someone who currently makes a living on making software, this is a major upheaval and sucks for me at least in the short term, because of the economic realities of the society in which we live. However, there are only two classes of alternatives. One is that the "AI can make all software" world fails to materialize. We're certainly not guaranteed this outcome, LLMs still generate sprawling and buggy code and we are in an era of unprecedented levels of tech rot. It's possible this is an unsolvable problem, and engineering, while probably assisted by LLMs, still requires people do a lot of manual work, or at least steering and guiding. The idea that we can already get reliable software out of claude go brr is uh... pretty misguided and silly, and at best the people who push that idea are, shall we say, optimistic. I think software engineering for a company continues to suck in this world, and I hope there's the opportunity for more people to go around being computer-touchers for non-computer-people in a more integrated context, rather than some massive "tech industry" increasingly insulating itself from society at large and building shit to try to ensnare and enthrall people, as it has been for the last few decades.
But I do think it's pretty plausible we get there, get to the computer that you just interact with by asking it for things - which it builds as software on the backend because software is a way more reliable and cheap way to repeatedly do the same task than throwing an LLM at the problem fresh each time you need something - but mostly people don't worry about that part. In that world, we either get to own computers or we don't, and if we don't, we are in an authoritarian dystopia the likes of which the world has never seen and may never escape. That's the second alternative. Governments outlaw computers or companies make it impossible for consumers to get their hands on them or some combination of these. This is the world that most large tech firms clearly want, and even as they praise open source software and rely on it as the backbone of most things they do, they seek to enclose the commons and use it as a means of societal control and get fat off of rent-seeking. A world in which the awesome power of the general purpose computer is a tool of control by an elite aristocracy is a world of either extermination or oppression of an unprecedented number of people, both in sheer numbers and percentage of the population. I think it behooves almost everyone to fight against this class of outcome tooth and nail, no matter what promises the present crop of aristocrats tries to entice you with
Personally I want the world where a computer is just a tool most people have, that does computation things a person or organization wants, and asking in a way that gets them what they want is a pretty normal skill to have. Star Trek really feels prescient as I watch "non-technical" people start to engage with solving their own problems with computers more. It feels very plausible that people find themselves asking for things we currently have to write programs for in plain natural language. I think we could get there on our current trajectory. But we could also get a world where governments and corporations conspire to hoard computation and lock the general public out of it.
I don't think "software factories" are useless in this moment any more than I think writing programming languages was useless ten years ago. I do agree that there's an infinitesimal likelihood of this making you money in the short term, though. You likely won't be able to sell them, make a business out of them competing with the big guys, or maybe even leverage them at your corporate job. For your own purposes, though? Why not? Not everyone cares about setting the terms by which we build things with computers, but some do, and more power to them. Letting this be monopolized is a part of how we get the bad outcomes. If operating systems had fully become a monopoly, we'd already be much further into the bad outcomes than we are
Or is it just a collection of AGENTS.md docs?
Instead, TFA begins addressing objections and potential misinterpretations before even making it's case.
Reference: https://www.aicodingdictionary.com/?term=software-factory
So, don't use agents. Use LLMs like a search engine?