Was macht ein Software Engineer?
Software Engineering bedeutet, technische Lösungen für fachliche Probleme zu bauen und über Jahre lauffähig zu halten. Ein typischer Tag beginnt mit einem kurzen Abstimmungstermin im Team, danach folgt Arbeit an konkreten Aufgaben aus einem Ticketsystem: eine neue Funktion in einer Weboberfläche umsetzen, eine Schnittstelle zu einem Fremdsystem anbinden, einen Fehlerbericht aus dem Support nachstellen und beheben. Dazwischen liegen Code-Reviews für Kolleginnen und Kollegen, Gespräche mit Fachabteilungen darüber, was eine Anforderung genau bedeutet, und das Schreiben automatisierter Tests.
Ein verbreiteter Irrtum ist, dass der Beruf hauptsächlich aus dem Schreiben neuen Codes besteht. Der größere Teil der Zeit geht in das Verstehen bestehender Systeme, in Fehlersuche und in Umbauten an gewachsenen Anwendungen. Wer in einem Unternehmen mit langlebiger Software arbeitet, verbringt Wochen damit, sich in fremden Code einzulesen. Dazu kommen Aufgaben rund um den Betrieb: Deployments, Überwachung, Reaktion auf Störungen in der Produktivumgebung.
Wie wird man Software Engineer?
Der häufigste Weg ist ein Studium der Informatik, Wirtschaftsinformatik, Softwaretechnik oder eines verwandten Fachs mit Bachelor- oder Masterabschluss. Ebenso etabliert ist die duale Ausbildung zum Fachinformatiker für Anwendungsentwicklung über drei Jahre, oft gefolgt von einigen Jahren Praxis. Auch Quereinstiege sind in diesem Berufsfeld realistischer als in den meisten anderen: Menschen aus Naturwissenschaften, Mathematik, Ingenieurwesen oder aus ganz anderen Bereichen kommen über Weiterbildungen, Bootcamps und vor allem über nachweisbare eigene Projekte in den Beruf. Entscheidend ist bei Quereinsteigern, dass sie Code zeigen können und die Grundlagen sitzen – Datenstrukturen, Versionsverwaltung, Testen, Datenbanken.
Formale Abschlüsse verlieren mit den Jahren an Gewicht, die Berufserfahrung ersetzt sie. Der Einstieg ohne Studium und ohne Ausbildung ist allerdings deutlich schwerer geworden, seit sich der Bewerbermarkt für Junioren gedreht hat.
Was der Beruf verlangt
Die Arbeit ist überwiegend sitzend und findet am Bildschirm statt, häufig mit Anteil an Homeoffice. Belastend ist weniger die Körperhaltung als die Dauerhaftigkeit der Konzentration und der Zwang, sich fortlaufend neu einzuarbeiten: Werkzeuge, Sprachen und Frameworks wechseln, ein Teil des Wissens veraltet innerhalb weniger Jahre. Wer nicht bereit ist, dauerhaft zu lernen, gerät in Rückstand.
Hinzu kommt Termindruck vor Releases, in manchen Häusern Rufbereitschaft für Produktivsysteme und die Erfahrung, dass Fehler sichtbare Folgen haben. Fachlich schwerfällt vielen weniger das Programmieren als das Kommunizieren: Anforderungen hinterfragen, unrealistische Zusagen zurückweisen, technische Entscheidungen gegenüber Nichttechnikern begründen. Frust entsteht oft an Altsystemen, schlechter Dokumentation und Organisationen, in denen technische Schulden nicht abgebaut werden dürfen.
Aussichten
Die Nachfrage ist weiterhin hoch, hat sich aber gegenüber den Boomjahren merklich abgekühlt. Erfahrene Entwicklerinnen und Entwickler finden nach wie vor schnell Stellen, Berufseinsteiger konkurrieren dagegen um deutlich weniger Junior-Positionen als noch vor einigen Jahren. Werkzeuge zur automatischen Codegenerierung verändern die Arbeit, ersetzen aber bislang vor allem Routineanteile.
Entwicklungswege führen entweder in die fachliche Tiefe – als Spezialist für Architektur, Sicherheit, Datenplattformen oder Betrieb – oder in die Führung als Teamlead und Engineering Manager. Weitere Optionen sind Beratung, Freiberuflichkeit und der Wechsel in produktnahe Rollen.