Selfware

Selfware refers to software that writes, adapts, or repairs itself – usually with the help of AI systems that generate program code. The term is a buzzword from the tech industry and does not describe a fixed technology, but rather a direction in which programming is currently moving.

A computer program consists of instructions that, until now, humans have written line by line. Selfware refers to programs that generate these instructions entirely or partially by themselves. Such a program can therefore change without anyone manually rewriting the text of the instructions. This is made possible by AI systems that have learned from vast amounts of existing program code what code looks like and how it works. The term is a portmanteau of the English word “self” and “software.” It is not a protected technical term but a collective term that companies and trade media apply with varying breadth.

What this changes about programming

Writing software is expensive because it takes time from well-paid specialists. A large part of this time flows into routine work: building standard components, hunting for bugs, adapting old code to new requirements. This is exactly where Selfware comes in. When a system takes over this routine, the human’s work shifts from writing to reviewing and deciding.

Economically, this is one of the reasons why investors and companies are watching AI programming tools so closely. Software is embedded in cars, banks, hospitals, and factories. If the costs of producing it drop significantly, this affects almost every industry. Some companies already report that a noticeable share of their new code comes from AI.

But there is also an unpleasant side. Code that no one has fully read carries risks for security and reliability. When a system changes itself, it also becomes harder to trace who is responsible for an error. This question remains legally unresolved to this day.

From request to finished code

It usually starts with a description in plain language. A human might write, for example: “Create a function that adds up invoice amounts.” A language model, that is, an AI system for text, generates matching program code from this. This code is then automatically executed and tested. If a test fails, the model receives the error message back and writes a new version.

This loop of generating, testing, and improving is the core of the idea. It resembles the approach of a student solving a math problem, checking the result, and recalculating if there is a discrepancy. The decisive point is the feedback: without automatic tests, the system would have no benchmark for whether its result is usable.

A common misconception is that Selfware is a program that develops itself further in an uncontrolled way. In practice, almost everything happens within narrow boundaries. The human sets the goal, checks the result, and approves it. One should also not confuse Selfware with machine learning: there, a model adjusts internal numerical values, whereas here readable program text is created.

Where you’ve already encountered self-writing code

The development is most visible in programming tools like GitHub Copilot, Cursor, or Claude Code. They suggest entire sections as you type or edit multiple files at once on command. Millions of developers now use such assistants daily.

There are also tools that let even people without programming knowledge build small applications. You describe an idea, say a website for a club’s event schedule, and receive a working result. In the news, the buzzword “vibe coding” often appears for this.

In business news, you usually encounter the term in two contexts. On one hand, with companies that want to use AI to lower their development costs. On the other, in the debate about how job profiles in IT are changing. When you read the term, it’s worth asking exactly what is meant: an assistant that makes suggestions, or a system that independently rolls out changes.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.