Entwicklung & Code
Kommentar: Entwickler, wacht auf – oder verliert euren Job
Noch vor wenigen Jahren galten KI-gestützte Programmierwerkzeuge als nette Spielerei. Das hat sich grundlegend geändert. Copilot, Claude, Codex und Co. schreiben heute Code, der funktioniert – nicht immer perfekt, aber in der Regel durchaus brauchbar. Sie generieren Unit-Tests, erstellen Dokumentation und schlagen Refactorings vor. Die Entwicklung beschleunigt sich rasant. Und wer glaubt, nicht betroffen zu sein, täuscht sich.
Weiterlesen nach der Anzeige

Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
Was KI kann – und was nicht
Wichtig dabei: KI-Systeme arbeiten auf der Ebene von Syntax und Mustern. Sie erkennen wiederkehrende Strukturen und reproduzieren sie mit beeindruckender Geschwindigkeit. Für Standardaufgaben reicht das oft aus, beispielsweise, um eine REST-API aufzusetzen, eine Datenbankanbindung zu schreiben oder ein Formular zu validieren.
KI versteht jedoch nicht, warum etwas so ist, wie es ist. Sie kennt keine Zielkonflikte zwischen Performance und Wartbarkeit. Sie weiß nicht, welche Entscheidungen in sechs Monaten teuer werden. Sie hat kein Gespür dafür, wie eine Architektur zur Organisation passt. Und sie kennt die ungeschriebenen Regeln der Fachdomäne nicht, jene Logik, die in keinem Pflichtenheft steht, aber über Erfolg oder Scheitern eines Projekts entscheidet.
Die unbequeme Wahrheit
Das bedeutet, dass sich die Wertschöpfung in der Softwareentwicklung verschiebt, weg von der reinen Umsetzung, hin zur Konzeption. Das ist keine düstere Prophezeiung, sondern bereits Realität. Wer heute hauptsächlich Code runterschreibt, ohne tieferes Verständnis für das Gesamtsystem, macht sich mittelfristig ersetzbar.
Doch was bleibt, ist Architektur. Architektur bedeutet dabei jedoch nicht, UML-Diagramme zu zeichnen oder ähnliches. Architektur bedeutet, die Entscheidungen zu treffen, die später schwer zu ändern sind: Wie schneiden wir unsere Services? Welche Abhängigkeiten gehen wir ein? Wo ziehen wir die Grenzen zwischen Modulen? Diese Fragen erfordern Kontextwissen, Erfahrung und Urteilsvermögen. Das sind alles Dinge, die sich nicht aus Trainingsdaten ableiten lassen.
Weiterlesen nach der Anzeige
Jetzt handeln
Und das bedeutet: Die Zeit, sich mit Architektur zu beschäftigen, ist nicht „irgendwann, wenn ich mal Zeit habe“. Sie ist jetzt. Wer wartet, bis die KI-Tools noch besser werden, wartet zu lange.
Das heißt konkret: Abstraktionsfähigkeit entwickeln, Systemdenken üben, Domänenwissen aufbauen, statt nur Tickets abzuarbeiten. Entwicklerinnen und Entwickler müssen lernen, warum die eine Entscheidung getroffen wurde, und nicht nur, wie der Code aussieht.
Developer, die diese Fähigkeiten mitbringen, werden wertvoller, nicht weniger wert. Sie werden zu denjenigen, die KI-Werkzeuge effektiv einsetzen und deren Ergebnisse kritisch bewerten können. Sie werden die Architekten und Architektinnen sein, die Systeme gestalten, während die reine Codierung zunehmend automatisiert wird.
Mit anderen Worten: Wer als Developer seinen Job behalten will, muss sich jetzt mit Architektur beschäftigen. Ein guter Ort dafür ist die Konferenz zur Softwarearchitektur, die OOP 2026. Sie vermittelt, wie Entwicklerinnen und Entwickler Softwareprojekte strategisch gestalten, statt nur zu coden.
(rme)
Entwicklung & Code
Cloudflare übernimmt Astro Technology Company
Die Astro Technology Company wurde von Cloudflare übernommen, wie das Astro-Team auf seinem Blog bekannt gegeben hat. Die Nutzung des seit 2021 bestehenden Webframeworks Astro verdoppele sich demnach jedes Jahr und die Download-Zahlen liegen derzeit bei rund einer Million pro Woche. Durch die Cloudflare-Übernahme seien nun mehr Ressourcen verfügbar. Bereits seit Längerem war Cloudflare ein Sponsor des Open-Source-Projekts.
Weiterlesen nach der Anzeige
Auswirkungen der Übernahme
Der Blogbeitrag schildert, was sich durch die Übernahme ändert und was gleich bleibt. So soll Astro weiterhin Open Source sowie MIT-lizenziert sein und aktiv weiterentwickelt werden. Es kann weiterhin mit einem breiten Set an Deployment-Zielen außer Cloudflare umgehen, und auch die Open Governance und die aktuelle Roadmap bleiben bestehen. Allerdings sind alle Vollzeitmitarbeitenden von The Astro Technology Company jetzt Mitarbeitende von Cloudflare, sollen jedoch weiterhin in Vollzeit am Astro-Framework arbeiten.
Eine ähnliche Entwicklung verzeichnete kürzlich Bun: Das JavaScript-Toolkit wurde von dem US-amerikanischen KI-Unternehmen Anthropic übernommen. Bun soll, wie auch Astro, trotz der kommerziellen Übernahme Open Source und MIT-lizenziert bleiben.
Fokus auf Astro-Entwicklung: Geplante Features in v6
Statt wie bisher zu versuchen, selbst ein erfolgreiches Geschäftsmodell aufzubauen, kann sich das Astro-Team laut dem Blogbeitrag wieder voll und ganz der Entwicklung des Webframeworks zuwenden. Bereits im anstehenden Release Astro 6.0 soll sich das bemerkbar machen. Dieses steht mit der ersten Beta-Version in den Startlöchern.
Die Beta für Astro 6.0 präsentiert eine Neugestaltung des Entwicklungsservers astro dev, insbesondere im Hinblick auf Cloudflare Workers: astro dev kann nun eine komplette Anwendung mit Cloudflares quelloffener JavaScript-Runtime workerd ausführen. Dabei handelt es sich um die gleiche Runtime, die Cloudflare Workers in Produktion verwenden – nicht wie im Fall der bisherigen Astro-Cloudflare-Integration, die eine Simulation verwendete.
Weiterlesen nach der Anzeige
Zudem bringt das Release neue integrierte APIs, unter anderem für die Verwendung des Sicherheitsstandards Content Security Policy (CSP), und soll eine deutlich gesteigerte Rendering-Performance aufweisen.
(mai)
Entwicklung & Code
Programmiersprache Python: Performante Algorithmen entwickeln und optimieren
Plant man eine Reise durch mehrere Städte und will die kürzeste Route finden, greift man auf Algorithmen zurück, eine wohldefinierte Abfolge deterministischer Operationen. Dieser Artikel begleitet den Entwicklungsprozess eines Algorithmus, der kürzeste Wege zwischen Städten findet. Er zeigt Schritt für Schritt den Weg von der ersten Skizze über Tests und Visualisierung mit Matplotlib und NetworkX bis zur Optimierung durch geeignete Datenstrukturen. So entsteht ein Programm, das nicht nur funktional korrekt arbeitet, sondern auch performant ist.
Weiterlesen nach der Anzeige

Michael Inden ist Java- und Python-Enthusiast mit über zwanzig Jahren Berufserfahrung. Derzeit ist er als Head of Development tätig, spricht auf Konferenzen und schreibt Fachbücher über Java und Python.
Ziel ist, in einem Straßennetz diejenigen Wege zu finden, die Städte am kürzesten verbinden. Zur Modellierung kann man Graphen verwenden. In Abbildung 1 repräsentieren Kreise mit Beschriftung die Städte und die Verbindungslinien mit Zahlen entsprechen Wegen mit Distanzen.

Ein Graph visualisiert die Abstände von Städten; die Zahlen stehen für die Entfernungen (Abb. 1).
Für diese vereinfachte Karte soll der kürzeste Weg von A nach D gefunden werden. Während man bei wenigen Städten und Verbindungen alle Möglichkeiten ausprobieren kann, wird der Ansatz aufwendiger, je mehr Städte und Verbindungen existieren. Folgende Verbindungen sind möglich, wobei 13 die schlechteste ist und 6 die beste:
A -> B -> C -> D => 5 + 1 + 7 = 13
A -> C -> B -> D => 2 + 1 + 3 = 6
A -> C -> D => 2 + 7 = 9
A -> B -> D => 5 + 3 = 8
Mit der O-Notation die Effizienz verstehen
Für eine gute Bedienbarkeit von Programmen ist relevant, wie schnell sich Berechnungen und Operationen ausführen lassen. Das gilt vor allem bei großen Datenmengen. Die O-Notation erlaubt es, Algorithmen zu klassifizieren und das Wachstum der Laufzeit (oder des Speicherbedarfs) eines Algorithmus zu beschreiben, wenn die Eingabemenge größer wird. Somit sind Effekte vorhersagbar, etwa wenn eine Liste nicht mehr 10 oder 20, sondern 100.000 und mehr Daten enthält.
Weiterlesen nach der Anzeige
Die O-Notation hilft, die Laufzeit von Operationen einzuschätzen. Sie ordnet Algorithmen und Funktionen in Komplexitätsklassen ein. Bei O(n³) wächst die Anzahl der Schritte mit der dritten Potenz der Eingabemenge. Bei 100 Eingabedaten ergibt sich ein Aufwand von 1003 für die Berechnung, also 1.000.000 Schritte. Je niedriger die Komplexitätsklasse ist, desto besser. Weitere Klassen zeigt die Tabelle „O-Notation mit in Komplexitätsklassen eingeteilten Algorithmen“, Abbildung 2 visualisiert die Effekte.
| O-Notation mit in Komplexitätsklassen eingeteilten Algorithmen | ||
| Notation | Bedeutung, Wachstum | Beispiel |
| O(1) | konstant | Zugriff auf ein Listenelement |
| O(log n) | logarithmisch | Binärsuche |
| O(n) | linear | einfache Schleife über alle Elemente |
| O(n log n) | linear-logarithmisch | effiziente Sortieralgorithmen (etwa Mergesort) |
| O(n²) | quadratisch | zweifach verschachtelte Schleife |
| O(n3) | kubisch | dreifach verschachtelte Schleife |

Die Graphen zeigen die Anzahl der Operationen in Abhängigkeit von der Eingabegröße (Abb. 2).
Eine Klassifikation mit der O-Notation ist insbesondere wichtig, um Laufzeiten unabhängig von Hardwareausstattung, Implementierungsdetails und gewählten Programmiersprachen bezüglich ihrer Skalierungseigenschaften zu vergleichen.
Für eine vereinfachte Einschätzung betrachtet man bei der Bewertung nur den dominierenden Term, da bei großen Eingabegrößen kleine Konstanten oder niedrigere Terme und Faktoren vernachlässigbar sind. In der Formel n3 + 4n² + 3n + 7 folgt durch die Vereinfachungen die Laufzeitklasse O(n3).
Von der Idee zum Programm
Ein systematisches Vorgehen ist selbst für kleinere Programme und vor allem bei komplexen Softwareprojekten der Schlüssel zu funktionalem, wartbarem und performantem Code.
1. Problem verstehen und analysieren
- klären, welches Problem zu lösen ist, und es in Teilaufgaben zerlegen;
- prüfen, ob es bereits bewährte Lösungen für Teilaufgaben gibt, beispielsweise Binärsuche für performante Suchen in sortierten Datenbeständen, Dijkstra-Algorithmus für kürzeste Wege;
- Eingabe- und Ausgabedaten definieren;
- Randbedingungen und Sonderfälle berücksichtigen.
2. Planen und eine Grobstruktur entwickeln
- Problem in Teilaufgaben zerlegen;
- Abläufe in natürlicher Sprache formulieren oder skizzieren;
- geeignete Datenstrukturen wählen (Listen, Dictionaries, Heaps).
3. Implementierung
- Sourcecode in klar getrennte Funktionen oder Klassen gliedern;
- auf Lesbarkeit und Verständlichkeit achten, aussagekräftige Namen und (falls sinnvoll) ergänzende Kommentare verwenden;
- vorhandene Bibliotheken nutzen, um Entwicklungszeit zu sparen (etwa Matplotlib zur Visualisierung).
4. Testen (Dry-Run- und Unit-Tests)
- Funktionsweise ausprobieren;
- Unit-Tests schreiben, um die Funktionsweise zu prüfen und Rand- und Sonderfälle abzudecken.
5. Performance messen
- Messungen mit kleinen, mittleren und großen Datenbeständen ausführen, etwa mit 100, 10.000 und 1.000.000 Datensätzen;
- Engpässe identifizieren – sie zeigen sich allerdings meist erst bei sehr großen Datenbeständen.
6. Optimieren
Wurden in Schritt 5 Schwachstellen aufgedeckt, sollte man die Umsetzung und die gewählten Algorithmen für Teilprobleme nochmals genauer anschauen.
- O-Notation verwenden, um die Komplexität formal zu bewerten: Was läuft in Schleifen? Wie und wo erfolgt eine Suche – linear oder mit Binärsuche? Für verschiedene Aktionen kann das Laufzeiten von O(1)
, O(log n) oder O(n)bedeuten. - besser geeignete Algorithmen oder effizientere Datenstrukturen einsetzen.
Implementierung und Test miteinander verweben
In der Praxis laufen die Schritte 3 und 4 nicht immer unabhängig voneinander. Wenn sich die Ergebnisse gut vorhersagen lassen, bietet es sich an, mit dem Erstellen von Testfällen zu starten. Manchmal braucht es aber erst einmal eine Idee und einen Prototyp der Implementierung. Gerade bei größeren Programmierprojekten ergeben sich weitere Anforderungen während der Implementierungs- und Testphase.
Der folgende Ablauf hat sich in der Praxis bewährt und lässt sich auch beim Entwickeln eines Algorithmus anwenden.
Entwicklung & Code
GitLab 18.8: Duo Agent Platform jetzt allgemein verfügbar
Mit GitLab 18.8 stellt GitLab die Duo Agent Platform allgemein zur Verfügung. Sie soll Unternehmen dabei unterstützen, KI-Agenten für Planung, Entwicklung, Absicherung und Auslieferung von Software koordiniert einzusetzen.
Weiterlesen nach der Anzeige
Einheitlicher Ansatz für KI in der Softwareentwicklung
GitLab reagiert damit auf ein bekanntes Problem beim Einsatz von KI in der Softwareentwicklung: KI-Tools steigern zwar die Produktivität einzelner Entwicklerinnen und Entwickler, verlieren diesen Effekt aber oft auf Teamebene. Die Duo Agent Platform orchestriert KI-Agenten deshalb innerhalb eines einheitlichen Systems und nutzt einen gemeinsamen Projektkontext aus Issues, Merge Requests, Pipelines und Security-Findings.
Lesen Sie auch
KI-Agenten, Chat und Automatisierung
Die Plattform kombiniert konversationelle KI, spezialisierte Agenten und automatisierte Workflows. Ein zentraler Baustein ist der Agentic Chat, der in der GitLab-Oberfläche und in verschiedenen Entwicklungsumgebungen zur Verfügung steht. Er unterstützt beim Erstellen von Code, bei der Analyse und Fehlerbehebung, bei Tests und Dokumentation auf Basis des aktuellen Projektkontexts.
Der Planner Agent ist nun ebenso allgemein verfügbar und soll Produktmanager in GitLab bei der Arbeit mit Work Items unterstützen. Er kann unter anderem beim Analysieren von Backlogs, beim Priorisieren (z. B. mit RICE oder MoSCoW) und beim Aufbereiten von Planungsinformationen helfen.
Weiterlesen nach der Anzeige
Katalog, Agenten und Flows
Mit dem AI Catalog können Teams Agenten und Workflows organisationsweit bereitstellen und teilen. Vorgefertigte Agenten übernehmen typische Aufgaben wie Planung oder Sicherheitsanalyse. Flows automatisieren wiederkehrende Abläufe, etwa das Erstellen von Merge Requests, die Anpassung von CI/CD-Pipelines oder die Analyse fehlgeschlagener Builds.
Auch der GitLab Duo Security Analyst Agent ist mit GitLab 18.8 aus der Beta-Phase in die allgemeine Verfügbarkeit übergegangen. Er ermöglicht es, Schwachstellen per natürlicher Sprache im GitLab Duo Agentic Chat zu verwalten, und ist dort standardmäßig ohne zusätzliche Einrichtung verfügbar.
Betrieb und Abrechnung
Die Duo Agent Platform ist auf GitLab.com und in GitLab Self-Managed verfügbar, GitLab Dedicated soll folgen. Transparenz- und Governance-Funktionen unterstützen den Unternehmenseinsatz. Die Abrechnung erfolgt nutzungsabhängig über GitLab Credits aus einem gemeinsamen Pool. Weitere Informationen finden sich im entsprechenden Blogbeitrag.
(mdo)
-
Entwicklung & Codevor 2 MonatenKommandozeile adé: Praktische, grafische Git-Verwaltung für den Mac
-
Künstliche Intelligenzvor 3 MonatenX: Für Dauer von Bezahlabo kann man bald ungenutzte Kontonamen übernehmen
-
UX/UI & Webdesignvor 3 MonatenArndt Benedikt rebranded GreatVita › PAGE online
-
Künstliche Intelligenzvor 3 WochenSchnelles Boot statt Bus und Bahn: Was sich von London und New York lernen lässt
-
Online Marketing & SEOvor 3 Monaten3 Creator to watch: Diese TikToker haben im September für Aufsehen gesorgt
-
Entwicklung & Codevor 1 MonatKommentar: Anthropic verschenkt MCP – mit fragwürdigen Hintertüren
-
Künstliche Intelligenzvor 3 MonatenDeutschlands größter Batteriespeicher entsteht in Sachsen-Anhalt
-
Künstliche Intelligenzvor 3 MonatenGoogle „Broadwing“: 400-MW-Gaskraftwerk speichert CO₂ tief unter der Erde
