
Software-Engineering
Software-Engineering ist die planvolle Herstellung von Computerprogrammen im Team: von der Frage, was das Programm können soll, über das Schreiben des Codes bis zu Test, Betrieb und Pflege. Es unterscheidet sich vom reinen Programmieren dadurch, dass es auch Organisation, Qualitätssicherung und Wartung über Jahre umfasst.
Software-Engineering ist die geplante, arbeitsteilige Herstellung von Computerprogrammen. Ein einzelner Mensch kann ein kleines Programm einfach hinschreiben. Sobald aber hunderte Leute jahrelang an einem System arbeiten, das Millionen Menschen benutzen, reicht das nicht mehr. Dann braucht es Regeln, Zuständigkeiten, Zeitpläne und Prüfverfahren. Genau darum geht es hier: nicht nur um das Schreiben von Anweisungen für den Computer, sondern um alles rundherum. Der Name ist bewusst gewählt: Software soll so verlässlich entstehen wie eine Brücke, die ein Ingenieurbüro baut.
Warum Programme so oft scheitern
Große Software-Projekte gehen erstaunlich häufig schief. Sie werden später fertig als geplant, teurer als kalkuliert, oder sie tun am Ende nicht das, was die Auftraggeber wollten. Der Grund ist selten, dass jemand nicht programmieren kann. Meist liegt es an Missverständnissen darüber, was gebaut werden soll, und an Systemen, die niemand mehr überblickt.
Dazu kommt ein Punkt, der Anfänger überrascht: Der größte Teil der Arbeit an einer Software entsteht nach der ersten Veröffentlichung. Fehler werden gefunden, Gesetze ändern sich, neue Handys kommen auf den Markt. Fachleute schätzen, dass über die Lebensdauer eines Systems der Aufwand für Pflege deutlich höher ist als der für die erste Version. Deshalb bewertet man Code nicht nur danach, ob er funktioniert, sondern ob ein anderer Mensch ihn in drei Jahren noch versteht.
Und Software steckt heute in Dingen, bei denen Fehler gefährlich sind. Bremsassistenten, Krankenhausgeräte, Zahlungssysteme, Stromnetze. Ein Denkfehler in wenigen Zeilen kann Menschen schaden oder Milliarden kosten. Die Disziplin existiert vor allem, um dieses Risiko zu senken.
Von der Anforderung zum laufenden System
Am Anfang stehen die Anforderungen. Das Team klärt möglichst genau, was das Programm leisten muss und was nicht. Danach kommt der Entwurf: Man legt fest, aus welchen Bausteinen das System besteht und wie diese Bausteine miteinander sprechen. Erst dann wird Code geschrieben. Dieser Ablauf wird nicht einmal durchlaufen, sondern in kurzen Runden immer wieder, oft in Zwei-Wochen-Abschnitten. Diese Arbeitsweise nennt man agil.
Zentral ist das Testen. Entwickler schreiben zu ihrem Code zusätzliche kleine Programme, die automatisch prüfen, ob alles noch stimmt. Bei jeder Änderung laufen diese Tests durch, oft tausende in wenigen Minuten. Findet ein Test einen Fehler, wird die Änderung nicht übernommen. Man kann sich das wie ein Sicherheitsnetz vorstellen, das den Umbau eines Hauses erlaubt, ohne dass es einstürzt.
Damit viele Leute gleichzeitig arbeiten können, nutzen Teams ein Versionsverwaltungssystem, meist Git. Es speichert jede Änderung einzeln und kann sie rückgängig machen. Jeder arbeitet an einer eigenen Kopie und führt seine Arbeit später mit dem Hauptstand zusammen. Vorher liest ein Kollege den Code durch. Dieses gegenseitige Lesen heißt Code-Review und findet mehr Fehler als jede andere einzelne Maßnahme.
Der Beruf und die neue Rolle der KI
Software-Engineering ist ein Studienfach und eine der häufigsten Berufsbezeichnungen der Tech-Branche. Wer als Software Engineer arbeitet, sitzt weniger vor leeren Bildschirmen als vermutet. Ein großer Teil des Tages besteht aus Besprechungen, dem Lesen fremden Codes und der Suche nach Fehlerursachen. In Börsennachrichten begegnet dir der Begriff bei Personalzahlen: Wenn ein Konzern Stellen abbaut oder aufbaut, sind meist Engineering-Teams gemeint.
Aktuell verändert KI diesen Beruf spürbar. Programme wie Copilot oder Claude schlagen Code vor, erklären fremde Dateien und schreiben Tests. Sie beschleunigen das Tippen erheblich. Was sie bisher nicht ersetzen, ist die Klärung der eigentlichen Frage: Was soll das System überhaupt tun, und welche Lösung passt zum Unternehmen? Genau dieser Teil war schon immer der schwierigste.
Ein verbreiteter Irrtum ist deshalb, Software-Engineering mit Programmieren gleichzusetzen. Programmieren ist eine Fertigkeit, wie Rechnen. Software-Engineering ist der Umgang mit einem System, das größer ist als ein Kopf und länger lebt als ein Projekt. Wer nur schnell Code erzeugen kann, produziert am Ende oft Software, die niemand mehr pflegen kann.