Day in the Life of a Software Engineer

Career TipsJobRise Team8 min read

Du stellst dir vor, als Software Engineer den ganzen Tag in Ruhe Code zu schreiben, und wunderst dich nach dem ersten Monat, warum das kaum passiert. Die Wahrheit: Ein typischer Tag besteht aus viel Kommunikation, unterbrochen von konzentrierten Blöcken, die du dir selbst erkämpfen musst. Hier ist ein ehrlicher Ablauf, ohne Hochglanz.

Der Vormittag: Mails, Standups und der erste Fokusblock#

Der Tag startet selten mit Code. Zuerst kommen Slack, E-Mails und die CI-Pipeline. Du prüfst, ob der Build der Nacht durchgelaufen ist und ob irgendein Deploy gescheitert ist. Meistens ist alles grün. Manchmal nicht, und dann verschiebt sich alles andere.

Gegen 9:30 Uhr ist Standup. Fünfzehn Minuten geplant, in der Realität oft zwanzig. Du sagst, woran du gearbeitet hast, was als Nächstes kommt, und blockierst du bist. Das war es. Alles Weitere wird in separaten Gesprächen geklärt, nicht im Plenum.

Danach beginnt der wertvollste Teil des Tages: der erste Deep-Work-Block. Bei mir sind das rund zwei Stunden, manchmal weniger. Headphones auf, Slack auf "nicht stören", IDE auf. In dieser Zeit entsteht produktiver Code. Alles andere ist Vorbereitung, Klärung oder Aufräumarbeit.

Den nächsten Ratgeber per E-Mail

Neue Ratgeber und aktuelle Jobs in einer kurzen E-Mail. Kostenlos.

Mit einem Klick abbestellen.

Der typische Tag im Überblick#

Für einen Mid-Level-Engineer sieht eine realistische Aufteilung oft so aus:

  • 2 bis 3 Stunden konzentrierte Entwicklungsarbeit
  • 1 bis 2 Stunden Meetings oder Pairing
  • 1 Stunde Code Reviews, Tickets, Antworten auf Fragen
  • 30 Minuten für CI, Deploys, kleine Fixes
  • Der Rest: Kontextwechsel, Chat, unplanierte Störungen

Das variiert stark. In manchen Phasen dominiert die Entwicklung, in anderen dominiert die Abstimmung. Wer in einem Team mit vielen Stakeholdern arbeitet, kommt selten unter drei Meetings am Tag.

Tools, die wirklich benutzt werden#

Die Tool-Liste in Stellenanzeigen ist oft zu lang. Im Alltag benutzt du weniger, dafür täglich.

Für die Arbeit selbst: eine IDE wie IntelliJ, VS Code oder Neovim, Git, dazu ein Debugger und viel Terminal. Für die Zusammenarbeit: Slack oder Teams, Jira oder Linear, Confluence oder Notion. Für Qualität: Code Review in GitHub oder GitLab, dazu eine CI-Pipeline mit automatisierten Tests.

Dazu kommen ein paar Spezialtools, die je nach Team dazukommen: Docker für lokale Umgebungen, kubectl wenn ihr Kubernetes nutzt, Grafana oder Datadog für Logs und Metriken. Ein Newcomer ist oft überrascht, wie viel Zeit in Tickets, Tabellen und Kommentaren steckt. Das gehört zum Job.

Wenn du wissen willst, welche Tools in einer konkreten Stelle wirklich gebraucht werden, hilft ein Blick in die Stellenbeschreibung. Ein Decoder für Jobanzeigen zeigt dir schnell, was hinter Floskeln wie "moderner Tech-Stack" steckt. Du findest so etwas unter den kostenfreien Karriere-Tools auf unseren Jobrise-Seiten.

Der Nachmittag: Reviews, Störungen und Kontextwechsel#

Nach dem Mittagessen ist die Konzentration oft niedriger. Deshalb plane ich hier Meetings und Code Reviews. Ein Review dauert bei mir zwischen fünf und fünfzehn Minuten pro Pull Request, abhängig von der Größe. Größere Änderungen bespreche ich lieber kurz per Call, bevor ich Kommentare schreibe.

Gegen 15 Uhr kommt oft die nächste Störung. Ein Kollege fragt etwas, ein Test schlägt fehl, ein Kunde meldet ein Problem. Diese Unterbrechungen sind der Hauptgrund, warum Schätzungen selten aufgehen. Wer drei Stunden für eine Aufgabe veranschlagt und dabei zweimal unterbrochen wird, braucht eher fünf.

Der letzte Block des Tages ist für Aufräumarbeiten. Ticket-Updates, kleine Fixes, Notizen für morgen. Danach Laptop zu. Wer abends noch an derselben kniffligen Stelle sitzt, macht selten Fortschritte. Der Kopf braucht Abstand.

Ein konkreter Arbeitstag#

Damit es nicht abstrakt bleibt, hier ein Beispiel aus einem normalen Dienstag.

Um 9:00 Uhr prüfe ich die CI-Nacht-Ergebnisse. Um 9:30 Uhr ist Standup. Um 10:00 Uhr beginne ich an einem Feature: eine Fehlermeldung soll für den Nutzer verständlicher werden. Dazu ändere ich zwei Klassen, schreibe einen Test, teste lokal. Um 12:15 Uhr ist Mittagessen.

Um 13:00 Uhr Review für zwei Pull Requests von Kollegen. Um 14:00 Uhr Sprint-Refinement, eine Stunde. Um 15:00 Uhr geht etwas bei einem Deploy schief, ich schaue mir die Logs an und finde einen falsch gesetzten Konfigurationswert. Um 16:00 Uhr schließe ich mein Feature ab und stelle den Pull Request. Um 16:45 Uhr schreibe ich die Notizen für morgen.

Kein besonderer Tag. Aber so sieht die Mehrheit der Tage aus.

Druckpunkte, über die niemand spricht#

Der größte Druck kommt selten vom Code selbst. Er kommt von Terminen, die zu früh angesetzt wurden, und von Erwartungen, die niemand klar formuliert hat. Dazu kommt der ständige Kontextwechsel, der müder macht als acht Stunden konzentriertes Arbeiten.

Ein zweiter Punkt: Verantwortung ohne Entscheidungsbefugnis. Du sollst eine Schätzung abgeben, aber die Anforderungen stehen noch nicht. Du sollst ein Problem lösen, aber die Architekturentscheidung hat jemand anders getroffen. Das ist normal, aber es frustriert.

Dritter Punkt: Meetings ohne Ergebnis. In manchen Firmen ist das die Mehrheit. Wenn du merkst, dass du in jedem Termin sitzt und selten etwas beitragen kannst, sprich das an. Sonst bleibt keine Zeit für Entwicklung.

Was Neue überrascht#

Der größte Schock für Berufseinsteiger ist der Unterschied zwischen Uni-Projekten und echter Softwareentwicklung. An der Uni beginnt ein Projekt bei null. Im Job arbeitest du fast immer an Code, den andere geschrieben haben, und der ist selten so sauber wie im Lehrbuch.

Der zweite Schock ist, wie viel Kommunikation zum Job gehört. Schätzen, erklären, verhandeln, dokumentieren. Wer nur programmieren will, wird unglücklich. Wer gut erklären kann, wird schneller befördert als der reine Code-Held.

Dritter Punkt: Fehler sind Alltag. Du wirst regelmäßig etwas kaputt machen, Tests werden rot, und ein Deploy wird rückgängig gemacht werden müssen. Das ist kein Zeichen von Inkompetenz. Das ist der Normalzustand in einem lebenden System.

Vom Junior zum Senior: Was sich ändert#

Als Junior bekommst du klar umrissene Aufgaben. Die Akzeptanzkriterien stehen, jemand hilft dir bei Blockern, und deine Schätzungen werden großzügig korrigiert.

Als Mid-Level-Engineer bekommst du Aufgaben mit weniger Vorgaben. Du sollst selbst herausfinden, was zu tun ist, und kleinere Entscheidungen treffen. Du fängst an, Reviews zu schreiben und neue Kollegen einzuarbeiten.

Als Senior verschiebt sich der Fokus noch stärker. Weniger eigener Code, mehr Architektur, mehr Klärung von Anforderungen, mehr Mentoring. Ein großer Teil deiner Arbeit besteht darin, Entscheidungen vorzubereiten und Risiken früh zu erkennen. Wer den ganzen Tag Code schreiben will, wird als Senior oft enttäuscht.

Dein erster Monat: eine Checkliste#

  • Kläre, wie ihr deployed und wer bei Störungen zuständig ist
  • Frage nach dem Review-Prozess, bevor du den ersten Pull Request stellst
  • Notiere dir jede Abkürzung und jeden Systemnamen, den du nicht kennst
  • Blocke dir täglich einen festen Deep-Work-Termin im Kalender
  • Frag deinen Buddy, welche Meetings du besuchen musst und welche nicht
  • Lies die letzten zehn Pull Requests deines Teams, um den Stil zu verstehen
  • Prüfe mit einem kostenfreien ATS-Test, ob dein Lebenslauf überhaupt durch die erste Filterung kommt, falls du dich parallel bewirbst, etwa über unseren kostenfreien Lebenslauf-Check

Wo du passende Stellen findest#

Wenn du nach einer Stelle suchst, die zu deinem gewünschten Arbeitsalltag passt, lohnt ein gezielter Blick auf Stellenangebote mit klaren Angaben zu Teamgröße, On-Call und Remote-Regelung. Eine Übersicht aktueller Positionen findest du in unserer Jobbörse. Wer mehr zu Gehalt, Technologie-Trends und Karrierewegen lesen will, findet vertiefende Beiträge in unserem Karriere-Blog.

Häufige Fragen#

Wie viel Zeit verbringen Software Engineers wirklich mit Programmieren?

In vielen Teams sind es zwei bis vier Stunden pro Tag, der Rest geht für Meetings, Reviews und Abstimmung drauf. Die genaue Aufteilung hängt stark von Firma, Team und Rolle ab. In kleinen Startups ist der Anteil Code oft höher, in großen Konzernen niedriger.

Wie unterscheidet sich der Arbeitsalltag zwischen Startup und Konzern?

Im Startup arbeitest du an vielen verschiedenen Aufgaben gleichzeitig und hast mehr Freiheit, aber weniger Struktur. Im Konzern sind Prozesse klarer, dafür gibt es mehr Abstimmung und längere Entscheidungswege. Welche Umgebung zu dir passt, musst du selbst herausfinden.

Muss man als Software Engineer regelmäßig Überstunden machen?

In gesunden Teams sind Überstunden die Ausnahme, nicht die Regel. In Phasen vor Releases oder bei Störungen kann es mal länger dauern. Wenn Überstunden dauerhaft erwartet werden, ist das ein Warnsignal, kein Karriere-Merkmal.

Welche Tools sollte ein Anfänger zuerst lernen?

Git, eine IDE deiner Wahl, und die Kommandozeile sind die Grundlage. Danach kommen die Tools, die dein Team nutzt, meist eine Ticket-Verwaltung, eine CI-Pipeline und Docker. Alles Weitere lernst du im Job, nicht davor.

Wie plant man Deep Work, wenn der Kalender voll ist?

Blocke dir feste Zeiten im Kalender und behandle sie wie Meetings. Setze Slack auf "nicht stören" und sage deinem Team Bescheid, wann du erreichbar bist. Wenn das nicht reicht, sprich im nächsten One-on-One an, dass zu viele Meetings deine Entwicklung verlangsamen.

Schick das der Person, die diese Woche das Interview hat.