AGENTS.MD

AGENTS.MD

None of us are senior engineers. All of us are senior engineers.

It is 2024. I am in my third year of a Software Engineering degree. I am 27, because I spent most of my late teens and early twenties in a Not Very Good mental state. I am pasting a question from a machine-learning assignment into ChatGPT because I am stumped. It is very confidently not stumped, and also very confidently wrong.

Because I’ve spent my time at university trying very hard not to actually be at university, I don’t want to ask the tutor or lecturer for help, and I don’t have any friends to discuss things with. Instead, I spend my weekend stressed, banging my head against a metaphorical wall, until it finally caves in (the wall, not my head). And in that moment, I think to myself,

There’s no way OpenAI is surviving through 2025 lol.

We talk a lot about AI in class throughout 2024, and I see a few of my classmates using it. But it doesn’t write functional code. All it seems capable of doing is the odd IDE autocomplete suggestion and serving as a better search engine than 2024 Google (but arguably still worse than 2017 Google).

It has also cost USD $109 billion to develop to this extent. It burns a bottle of water over the course of a conversation. It’s a privately owned product trained on a massive collection of uncompensated labourers’ and artists’ works. And so it’s pretty fucking evil, pretty fucking useless, and pretty fucking easy to hate.

I have an internship near the end of the year at a small SaaS technology firm, developing an AI-powered automation tool designed to turn OCR’d document data into structured outputs. The AI isn’t very good at this, and I find myself wiring deterministic processing into the system wherever possible to uplift its reliability.

The gap between the reality and the hype leaves me disoriented.

I spend most of 2025 trying to avoid using AI. I recognise its relevance to my field and continue to take papers on its underlying mathematics and concepts. I’m impressed by some of the applications I see in medicine and accessibility technologies like transcription and image description.

But I still don’t see much reason to use it myself. I’m not convinced it can code well, and I’m insulated from the pressures of production by virtue of being at university, and thus having “chose to study things because they’re interesting, because they aid my personal growth and understanding, and don’t think about your giant student loan fuck.”

Instead, I take interest in the ethics of the technology. I read about how we basically re-invented slave labour to create image training datasets, and how diffusion models can almost straight-up reproduce their training data from the right prompt, and how we spent USD $286 billion in 2025 on this all paying off somehow.

Speaking of loans paying off, somehow.

It’s now 2026 and I am in full-time employment at a small SaaS technology firm. I am happy to have a job, as the market is Absolutely Fucked. I work in a small, close-knit team of junior-to-intermediate developers. They are good people, I think. The culture is friendly, I think. I’m being paid less than the NZ living wage, but that’s going to change eventually. I think.

Still, my work fills me with dread. Because you see, there are no senior engineers.

There is no opportunity for mentorship, no oversight or feedback for my work. The user stories I receive are vague, single-sentence allusions to functionality. There are no code conventions. I am given full access to production environments. Sometimes there is only a production environment.

I am too old. I am already behind my cohort, and I am scared.

So I turn to the only senior engineer on-hand.

It turns out a lot has happened to AI in the time I wasn’t paying much attention. The technology has made sudden and substantial progress in writing code. I don’t initially trust the AI all that much, but I use it with restraint to ask the kinds of questions I would otherwise ask a trusted senior. Mostly to get a second-opinion or sanity-check something after I’ve already spent some time thinking and coding myself.

“Does this architecture make sense?”, “Does a library for this already exist?”, “Are there any edge-cases I haven’t accounted for?”

From trial-and-error, I learn that I can’t trust the model to work alone. But it becomes an invaluable tool for quickly searching documentation, reviewing my code for non-obvious edge-cases, and writing first-pass implementations of well-specified functions.

I see a lot of criticism directed towards vibe-coding, and I largely agree with it at first. Often the model writes code that simply doesn’t work without modification. Often the code doesn’t fully meet the specifications I give it. And the code often introduces performance inefficiencies that only become more relevant when deployed.

But the model keeps getting better. Over the last nine months, I’ve seen AI transition from “a very useful replacement for Google and Stack Overflow” to “give it a good enough spec and it’ll probably produce something production-ready” to “yeah, fuck you, enjoy being a minimum-wage worker because no amount of ‘learning to adapt’ is going to overcome the pace these models are developing at. lol.”

Or at least, I think this is the case (the “good production code” part, not the wage depreciation part; I’m pretty convinced of the latter either way). The real problem is, I don’t occupy the kind of professional position to confidently make this assertion.

I can say, in our working context, that AI is delivering code far better than what we were previously capable of authoring. I can say that it has uplifted our software’s security, improved our deployment practices, and allowed me to clean up enormous technical debt left by previous devs whose only ‘senior engineer’ of call was Google and/or Stack Overflow.

But the thing is,

I’m not a senior software engineer.

These sloppy codebases are evidence of opportunities past. For a revolving-door company that collects cheap labour and produces capital-f Functional software, the trade-off we’re implicitly negotiating as fledgling developers is represented in these artefacts.

We write slop, break the build, create technical debt. And then we have to remedy these things enough that whatever ships at the end of the sprint is passable.

The people whose names are inscribed in the git history before me built their careers here, fucking up. Sometimes in spectacular fashion.

I am not visibly fucking up all that much, and that’s a problem. I’m not getting the trade-off I feel I need to grow as a professional engineer. I’m getting opportunities to review the Senior Engineer’s code diff and glean some modicum of understanding through intuition and implication.

So, how do I grow as a professional? Well, I’m not sure anyone’s going to grow as a professional anymore, that’s the thing. Not unless they like working for free.

These models are reaching a point where they’re capable of answering the very questions I’m trying to develop the engineering acumen to answer myself. It’s more useful to production to ask the AI “What’s the right way to architect this feature, considering performance/memory constraints A, B, C?” than to use it as a research assistant while I spend an afternoon deriving the answer through my own reasoning.

I don’t get paid to learn. I learn in spite of getting paid through the natural friction engineering provides. And that friction is smoothing over at an alarming pace.

“So, you should stop using AI.”

I am so, so fucking tired of this line.

Sorry if I’ve been leading you on. I grew up loving computers, maths, problem solving. I really do get why people with a career of length feel robbed by this technology.

But I want to escape the Flesh Prison. I want to survive capitalism. I want money. I really couldn’t give a fuck about B2B SaaS.

Pre-AI, this career seemed well-poised to suit me. I’d spend the day engineering software features, and take the professional and personal enrichment home to my hobbies. But that’s not the equation I’m now dealing with 9-to-5.

My goal of professional development wasn’t to demonstrate some underlying love for my job. I like understanding systems, sure. I like solving problems, absolutely. But I’d obviously rather spend my spare time training to become a Tetris Grandmaster, or learning to draw, or make music, or write fanfiction, or do something else that I find personally and artistically fulfilling.

No, my goal was to accrue enough skill in an esoteric area that Ordinary People don’t know much about, so I could justify the kind of salary that’d liberate me from my Flesh Prison and other assorted bullshit.

So for one, as much as I might benefit from yielding to AI usage at work, it’s not something I can negotiate. Most people in this position can’t, stop being an asshole.

But also for two, I don’t want to stop using the 10x reverse-engineer tool in any personal capacity either. Sorry, I just don’t get much intrinsic value out of manually tracing each and every function ref.

You’re more than welcome to feel like some sick computer freak writing MIPS assembly by hand. I still think you’re cool. Through my early 20s, I spent plenty of time teaching myself 6502 and fucking around with (S)NES ROMs. In a different world, I earnestly believe I’d have had the sickness too.

So let’s instead get down to why despite being kinda fucked by it, I’m not, at least in any fundamental sense, anti-AI.

“AI is theft”

Okay, so I’m a communist. This doesn’t really do it for me, but I’ll digress. I’ve seen this argument a lot in otherwise-leftist circles.

Obviously there’s a read of this that is compatible with the communist PoV. But I don’t like where it goes.

So, we accept some pragmatic version of copyright and intellectual property as communists. Not because they’re ‘correct’, but because reality is, we’re not living in communist utopia, and people need money from labour to Not Die.

But the argument that this justifies categorical opposition to AI, particularly through a consumerist framing, becomes moot the moment you accept AI isn’t going away. Some people haven’t accepted that. They think we’re untoasting the toast.

I can run a GPT-5 class model on my personal laptop. ChatGPT has, according to OpenAI, more than 1 B-billion weekly active users. We’re not untoasting the toast.

I’ll paraphrase Wilhoit’s Law here to sound smart. The AI companies have clearly demonstrated, copyright and intellectual property exist, like any other property law under capitalism, to protect but not bind those with capital, and to bind but not protect those who labour.

But let’s say that’s bullshit, better things are possible, and we can reinstate copyright law as some legitimate binding principle. What then? Well, it’s not like next-token prediction relies on copyright text to function. It’s a convention of mathematics at scale. Feed enough text pairs into the machine, and it’ll ‘learn’ all the same.

Capitalism has favoured quick and cheap development of these models. That’s what capitalism does. But there’s nothing to prevent a future theoretical AI company from training their product entirely on open-source, public-domain, and legally-compensated private training data.

It might take a little longer to achieve the same outputs and labour displacement we’re seeing today. But it’ll get there eventually. What then?

Do you still anchor your rejection on the violation of copyright, or instead recognize that the core issue is the technology’s underlying mechanisms seem incredibly well-positioned to displace labourers?

Okay, fine, AI is bad because the underlying mechanisms are incredibly well-positioned to displace labourers.

So, I see three political approaches downstream of this position.

Approach A: we try to outlaw AI entirely. I don’t see a viable path to this (see above). In the meantime, AI accelerates and consolidates the power of capital holders. Elon Musk becomes significantly more cringe.

Approach B: we try to change the ownership model of AI. We support public and cooperative AI initiatives, local model development and deployment, increased affordability and availability of AI-capable hardware, and fight to ensure data centres work for communities, not in spite of them. Seize the means of inference, or whatever.

Approach C: we try to change how labour is compensated. UBI, taxes on companies leveraging AI in place of labourers, union-negotiated compensation for affected industries, shorter working hours.

I feel a concerning amount of leftist discourse is still unproductively mired in A, and we need to be shifting the discussion towards B and C. But for anyone still clinging to the scarce value of their work,

I think keeping labour scarce is ableism, actually.

Yeah I get it. I want my labour to be scarce too. Except not really, that’s why I’m writing this. But y’know.

Computers are a pretty good domain for examining why scarcity is a loser’s ideology. Nobody’s writing code in hexadecimal. Instead, we all collectively benefit from layers upon layers of (generally, relatively) open-source abstractions in development. Decades of work pursuing the public good of “make software faster, and easier, and cheaper”.

But a stronger moral example is accessibility.

AI has rapidly accelerated already-machine-assisted processes in the domains of subtitling, audio-description, dubbing, and translation.

This is good. It’s also very bad for all the people who spent years refining their skills in these domains, and who are now out of a job under capitalism. I’m very anxious I’ll be able to relate to these people a little too well in a few years’ time.

But we simply do not have the labour to subtitle everything. So which is more preferable? Automation at scale for the hard-of-hearing and deaf, or manufactured scarcity for the labourers?

This very much extends to how I feel about vibe-coding. It’s one thing to criticise slop PRs on public repos, or mourn the loss of code as an art. But it’s another to imply that vibe-coding itself is a morally-compromised action.

Vibe-coding is creating a new paradigm around computer usage. It’s helping non-technical people create their own tools, helping disabled people adapt systems to their personal environment, cracking old DRM protections, reviving EOL hardware, etc.

And so I’m in a weird position. Because I don’t want to miss out on the professional opportunities of the people who entered this field before me. And I don’t want to be crushed under capitalism’s heel. I want my labour to be scarce and valuable, and I want to make money and be happy.

But I just can’t reject this technology on some categorical basis. Not just because it’s politically useless to do so, but because it’s not a position I can morally defend. Instead, I want us to mobilize around it in some pragmatic manner.

Because if we fail to move past the blunt political position of “FUCK AI”, we’re absolutely going to get Fucked by AI.