logoalt Hacker News

Personal software factories are a waste of time

87 points • by thegreatpeter • yesterday at 7:02 PM • 75 comments • view on HN

Comments

jchw • today at 2:01 AM

In spite of this, I actually kind of did build a "software factory". The main reason why was because there is a number of things I build that really are just means to an end, tools where I could not give a shit less if the code sucks or anything as long as it does roughly what I want. This stuff will most likely never be posted anywhere, but that's not the point, because it still has quite a bit of utility. Having a "software factory" to build and maintain it seemed a lot less annoying than being a "meat proxy" all day just to maintain some tools that aren't very important.

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.

Olscore • today at 2:27 AM

The author is wrong, and a software factory isn't a distraction.

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

➕ show 1 reply
kaashif • today at 3:00 AM

I don't really understand what the post is about.

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.

➕ show 1 reply
ajmurmann • yesterday at 8:06 PM

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.

➕ show 1 reply
nielsole • yesterday at 7:50 PM

Everything is being rethought right now. So many paradigms are broken. There wasn't ever a better time to build a software factory.

➕ show 1 reply
zhivota • today at 2:29 AM

People are building software factories? First I've heard of it. I just build software for my needs and call it a day.

➕ show 2 replies
rc-1140 • yesterday at 9:44 PM

What I'm getting from the contents of the blog post is that there's a constant fight the author has with their audience that I'm summarizing as "I think your endeavor is foolish and you shouldn't do it, but I'm not your boss so who cares, but it's a bad idea, but it could be useful, but you shouldn't do it".

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.

➕ show 1 reply
smileduck • today at 9:27 AM

It's like playing video game.

codebastard • yesterday at 8:02 PM

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.

zem • yesterday at 7:47 PM

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?

➕ show 7 replies
tecoholic • today at 4:32 AM

Along this line of thought. I think the "internal tools" product category is dead. I remember trying to deploy one of these things - Tooljet, Retool.. I can't remember exactly, and thinking, maintaining the stack and the tools is not worth the effort. But then I didn't work in a big enterprise company. So maybe others had a reason or manpower to maintain them. Now I doubt anyone wants a programmable drag and drop form builder - aka no-code/low-code software factory.

saulpw • yesterday at 8:25 PM

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?

Lerc • yesterday at 8:13 PM

I have seen this argument many times before over the years. Formerly it was applied to someone creating a new programming language.

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.

➕ show 1 reply
herunan • yesterday at 8:02 PM

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.

sroerick • yesterday at 7:41 PM

He's probably right about this.

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.

theturtletalks • yesterday at 8:05 PM

I agree, a lot of people are making software factories that don’t need them.

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.

stavros • yesterday at 7:59 PM

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.

advael • yesterday at 8:16 PM

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

vivzkestrel • today at 3:01 AM

- a bit unrelated but i had to ask

- 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?

uejfiweun • yesterday at 7:53 PM

This article would work better if it first defined what exactly a software factory is.

➕ show 1 reply
simianwords • yesterday at 7:45 PM

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.

Or is it just a collection of AGENTS.md docs?

➕ show 4 replies
dbg31415 • today at 2:24 AM

I don’t know…

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.

BatchJob • today at 2:20 AM

Its pretty easy to put together a microservice framework, along with some API spec driven tools to generate android and iOS clients then just work on UI.

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.

gaiagraphia • today at 2:08 AM

I think a 'software factory' is an attempt to align development with your own internal mental model. People have got a sniff of being able to have magic powers, where their thoughts can align 1:1 with some type of output.

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.

VCFundedGenYer • yesterday at 10:07 PM

> non-devs are applying AI in mind blowing ways and you still haven't built shit.

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.

sublinear • yesterday at 7:56 PM

"software factory" = agents and general vibecoding ?

So, don't use agents. Use LLMs like a search engine?

whattheheckheck • yesterday at 7:49 PM

Is anything not a waste of time

alchemist1e9 • yesterday at 7:44 PM

Not very convincing

yieldcrv • yesterday at 9:06 PM

Thanks for writing that

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

piro0919 • today at 12:45 AM

[dead]

no_no_no_no • yesterday at 9:20 PM

[dead]

rspoerri • yesterday at 9:51 PM

damn, i just did that for more then a year. all this wasted time, just before i wanted to release it. /s

well, im gonna release it now and see if anybody else wants it.