63 points thegreatpeter 8 hours ago 64 comments
sroerick 7 hours ago | parent
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.
alchemist1e9 7 hours ago | parent
simianwords 7 hours ago | parent
Or is it just a collection of AGENTS.md docs?
jswelker 7 hours ago | parent
devilsdata 7 hours ago | parent
mrandish 6 hours ago | parent
Instead, TFA begins addressing objections and potential misinterpretations before even making it's case.
raahelb 7 hours ago | parent
Reference: https://www.aicodingdictionary.com/?term=software-factory
simianwords 7 hours ago | parent
marcosdumay 7 hours ago | parent
xpct 7 hours ago | parent
win311fwg 7 hours ago | parent
zem 7 hours ago | parent
dvh 7 hours ago | parent
framework
d13z 7 hours ago | parent
Fordec 7 hours ago | parent
collin128 7 hours ago | parent
I'm not a software engineer and it's enabled me to build a startup with $4k mrr in the last few months solo.
eterm 7 hours ago | parent
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.
matsemann 7 hours ago | parent
bbor 6 hours ago | parent
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...
zem 5 hours ago | parent
i do use agents for code review but again in a very human-in-the-loop manner; i will ask for a review and then read it over before feeding it to my coding LLM session and asking it to read and iterate on it. as you say, it can be surprisingly tricky to get right, and i like the confidence of the human being the coordinating reviewer.
thanks for all the examples, though - that does give me a lot more context for what people mean by "software factories" (and the assurance that they don't fit the way i work).
yjftsjthsd-h 5 hours ago | parent
It's still LLMs though? This feels like saying we've moved on from using compilers now that we have IDEs; that's just a wrapper and we're still using the first thing.
whattheheckheck 7 hours ago | parent
nielsole 7 hours ago | parent
coldtea 7 hours ago | parent
iugtmkbdfil834 7 hours ago | parent
lukan 1 hour ago | parent
schmookeeg 6 hours ago | parent
jelkand 6 hours ago | parent
neko_ranger 2 hours ago | parent
"pull out all hardcoded strings in web app into i18n files. do not stop until hard coded strings linter stops complaining"
or
"create tests to test uncovered lines by code coverage. do not stop until all files at at least 95% covered per the reporting tool output"
sublinear 7 hours ago | parent
So, don't use agents. Use LLMs like a search engine?
stavros 7 hours ago | parent
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.
herunan 7 hours ago | parent
codebastard 7 hours ago | parent
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.
theturtletalks 7 hours ago | parent
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.
ajmurmann 7 hours ago | parent
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.
brightball 1 hour ago | parent
Using Elixir, Phoenix, LiveView and Ash for everything creates a very well defined and verifiable structure for every part of the codebase with a precommit that looks like this:
precommit: [
"compile --warnings-as-errors", # Fail compilation if any warnings exist
"deps.unlock --check-unused", # Fail if unused dependencies are unlocked
"deps.audit", # Scan dependencies for known security vulnerabilities
"cmd mix hex.audit", # Audit Hex packages for retired or vulnerable versions
"migrations.safety", # Check database migrations for unsafe operations
"format --check-formatted", # Verify code matches the formatter style
"credo --strict", # Run strict static code analysis checks
"sobelow --exit --threshold high --skip", # Fail on high-confidence security issues only
"ash.codegen --check", # Ensure Ash generated code is up to date
"usage_rules.sync --check", # Verify usage rules are synchronized
"cmd bun run lint", # If there's JS beyond LiveView
"test" # Run the full test suite
]
The result has been excellent consistency across my code base and the AI learns fast how it should be working. Everything comes out very readable if I want to dig into something.For the most part, everything I ask for gets 1 shotted with this approach with typically rare minor tweaks and refinements.
Lerc 7 hours ago | parent
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.
saulpw 6 hours ago | parent
Lerc 5 hours ago | parent
Languages less than 10 years old are still in their infancy. It's fairly common for the first 10 years of a language to be quite niche.
The Languages bought by large corporations can avoid that 10 years by making it used by decree, that can make it more popular sooner, but it doesn't guarantee long term success,
There is probably a language that exists today that will be a top 50 language in a decade or two that neither of us knows about. Time is one of the best design resources.
saulpw 4 hours ago | parent
10 years is enough time. The industry was absolutely using Perl (1987) in 1997 and I was using Python (1991) professionally by 2003.
I mentioned Zig already; Julia also feels like it fizzled in a similar way, by getting attention without commensurate adoption.
But I will concede that you're right about Lean. It feels important that it's solving tomorrow's problem (i.e. today's) rather than yesterday's problem.
Lerc 3 hours ago | parent
Things do go a little slower these days however. It was 5 years and one month between the release of the Vic-20 and the Amiga. How different is your computer to the one you had 5 years ago?
yareally 1 hour ago | parent
hackingonempty 1 hour ago | parent
There is a lot of news right now about AI writing proofs in Lean (2013.) Lots of people rely on Elixir (2012) and Gleam (2016) is up and coming. I wouldn't give up on Scala (2004) just yet, it's really one of the best languages out there with some great libraries and runs on the JVM. You could argue that Reason (2016) and ReScript (2020) are just dialects of OCaml but they are industrial strength tools that people rely on in production.
...and don't even try to take Clojure (2007) away from any hands that are not truly cold and dead.
advael 7 hours ago | parent
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
saulpw 7 hours ago | parent
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?
yieldcrv 6 hours ago | parent
What this doesn’t solve is the money problem, which is the incentive to considering the software factory.
All of the examples in the article, like the fruit fly brain or a de-slopped android tv, also do not solve the money problem. they are examples of nontechnical people showing initiative, in the way that the technical person is not, but they are not examples of monetized things that demonstrate either party has solved that for themselves.
Just saying stop doing something while offering no alternative or addressing the reason why the pattern exists wont really provide any introspection
The software factory is still the way out for a software engineer or anybody inspired to produce software slop
rc-1140 5 hours ago | parent
I think if you have plans for a software factory (read: some kind of conceptual framework for a loop that turns tasks into code/features), you should try it. My opinion is that even if your implementation is a bust or you never take it past a proof of concept, you've at least done something to inform yourself about what's out there and what you've tried.
Better to have a graveyard of barely started projects that give depth to your knowledge instead of relegating yourself to prompt slavery because [frontier model of the financial quarter] can do Marvel + Bioshock + Ted Lasso + Command and Conquer or whatever horrifying Consumptionslop™ that people like Nikita Bier love so much.
honr 4 hours ago | parent
With that out of the way, I think trying out developing software-building automation is a great learning experience, regardless of the final outcome. Beside [re]learning various ropes that might have been modernized recently, you are likely to end up with bonus [possibly tiny] helper tools that you can carry into your other software development projects. Or you might learn new [non technical] disciplines around software development life cycle.
rspoerri 5 hours ago | parent
well, im gonna release it now and see if anybody else wants it.
VCFundedGenYer 5 hours ago | parent
Excuse you, I am not impressed by non devs vibeslopping things that barely function or are riddled with security vulnerabilities with unreadable code.
I guess we are not the same.
jchw 1 hour ago | parent
I could be misunderstanding what a "software factory" is but I think whatever I have done fits the criteria. I have a custom agent that goes around implementing software and maintaining private repositories completely autonomously and I can communicate with it using issues and comments.
It seems like a useful pattern, just maybe not what people had in mind. I think people figured that you'd build an AI Microsoft or something. I don't think that's true because most of what a company like that does isn't really software engineering anyway, but there is probably still something to this pattern.
gaiagraphia 1 hour ago | parent
If you try and one shot stuff, you're going to get a smell of the LLM, but if you build an entire ecosystem of development, it's going to be something a little more unique to know you are and what you know.
I think we're going to see some huge changes in language, in how we learn, present, build and design things. As these millions of 'software factories' start maturing and competing, we're going to see some interesting standardisations win out.
It should be applauded that people want to push capabilties of their new toys to the max. I wonder if some people are also scared about the golden age of LLMs coming to an end soon, and want to dig a huge moat ASAP, too... The more you can get deterministic tools and frameworks up and running, the less at mercy you're going to be in the future to huge AI companies.
BatchJob 1 hour ago | parent
I dont think the author is right to say it because of all the vibe coding that this is pointless.
I think it might be pointless because we are witnessing in essence the destruction of computing itself. And writing code with or without AI will eitehr not be possible (hardware unavailable) or become so unsavory and unenjoyable (jobs nobody wants) that computing for any reason but subsistence (or world domination) will die.
Its even conceivable that the platforms LLMs generate all this code for (the web, mobile, desktop) will die.
dbg31415 1 hour ago | parent
I’m really enjoying the software factories that I’ve built lately.
You can tell me they’re a waste of time, but man are they ever good at what I need them for.
And it’s keeping all my code standardized, and all my repositories running the same way… I’m really enjoying working with them.
Without them, AI just sort of solves the problem anyway it wants to in any given moment. Things get really chaotic.
I basically just use them to enforce standards and consistency between similar projects.
Olscore 1 hour ago | parent
People are thinking about this from a quantity angle, but the key is quality, and achieving a self-maintaining project at home. I built a distributed trading system that runs multiple strategies in US options and MUST be correct. So my goal wasn't to build huge quantities of software and pump out garbage, but to ensure correct behavior and proper fixes in the codebase with agents.
Open sourced my methodology: https://github.com/pullboard-dev/pullboard
hilariously 53 minutes ago | parent
zhivota 1 hour ago | parent
kaashif 30 minutes ago | parent
I don't think it's natural for a software engineer to want to build a "software factory" because I have never heard of anyone doing that. I'm sure it's a thing.
What I see everyone doing is just building software, incorporating their feedback into agents.md, skills, etc, to make their harness better. Is that a factory? Should people not do that?
I still don't really understand.
simplesocieties 24 minutes ago | parent
All you need is the source code for your existing project and the claude code/codex/opencode cli and boom, you are ready to ship. Most people doing the impressive stuff with AI are just using it, not building harnesses or "agentic" tooling.
vivzkestrel 29 minutes ago | parent
- your other blog post says https://www.peterp.me/articles/clustering-node-js/ you should clustering for max performance in nodejs
- are you using it in production or do you run multiple docker instances?