Einstieg in die Entwicklung

Die Sprache ist schnell gelernt, das Drumherum nicht

Build, Tests, Datenbankzugriff und ein Rahmenwerk machen aus jemandem, der Java schreiben kann, jemanden, der in einem Team mitarbeiten kann.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Seit 1997 am Markt Kleine Gruppen Präsenz und Live-Online Zertifizierte Trainer
Worum es geht

Der Einstieg scheitert selten an der Sprache, sondern am ersten fremden Projekt

Wer sich Java selbst beibringt, kommt meist gut bis zu Klassen, Vererbung, Sammlungen und Datenströmen. Der Bruch kommt beim ersten echten Projekt: Es gibt eine Build-Datei mit dreißig Abhängigkeiten, eine Ordnerstruktur, die jemand vor Jahren festgelegt hat, Testklassen, deren Zweck sich nicht sofort erschließt, und Konfiguration, die je nach Umgebung anders aussieht. Nichts davon steht in einem Sprachkurs, und alles davon ist Alltag.

Der zweite Bruch kommt beim Datenbankzugriff. Der Zugriff über eine Abbildungsschicht sieht einfach aus, erzeugt aber im Hintergrund Abfragen, die man nicht sieht. Der klassische Fall ist eine Schleife über hundert Datensätze, bei der jede Runde eine eigene Abfrage auslöst, oder ein Zugriff auf nachgeladene Daten außerhalb der Transaktion, der zur Laufzeit abbricht. Beides sind keine Anfängerfehler im engeren Sinn, sie passieren auch erfahrenen Leuten, aber wer nicht in die erzeugten Abfragen schaut, findet die Ursache nie.

Der dritte Punkt betrifft den Bestand. Java sitzt dort, wo Systeme lange leben: in Banken und Versicherungen, in der Industrie, im Handel, in der öffentlichen Verwaltung. Ein großer Teil der Arbeit besteht deshalb darin, fremden Code zu verstehen und vorsichtig zu ändern, und viele Häuser laufen noch auf älteren Langzeitversionen. Wer nur auf der grünen Wiese gelernt hat, trifft im ersten Job auf eine Aufgabenstellung, für die ihn niemand vorbereitet hat.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Schritt für Schritt

Sieben Schritte, die den Weg tatsächlich beschreiben

Diese Reihenfolge ist die, die sich bei Leuten wiederholt, die aus einem anderen Beruf oder aus der Ausbildung in die Java-Entwicklung gekommen sind. Wer mit einem Rahmenwerk anfängt, baut Anwendungen, die er nicht reparieren kann.

  1. 1

    Die Sprache auf Arbeitsniveau bringen

    Klassen und Schnittstellen, Sammlungen, Datenströme, Fehlerbehandlung, der Umgang mit Nullwerten und Datumsarithmetik über die moderne Zeitbibliothek statt über die alten Klassen. Dazu Records, versiegelte Typen und Mustervergleich, weil aktueller Code sie selbstverständlich benutzt.

    Geschafft, wenn: Du liest fremden Java-Code, ohne bei jeder zweiten Zeile nachschlagen zu müssen.

  2. 2

    Werkzeugkette aufsetzen und verstehen

    Ein Projekt mit Maven oder Gradle von der Kommandozeile bauen, Abhängigkeiten aufnehmen, einen Versionskonflikt auflösen, ein ausführbares Paket erzeugen. Dazu Git mit Zweigen und Zusammenführungen, weil ohne Versionsverwaltung kein Team arbeitet.

    Geschafft, wenn: Du baust dein Projekt auf einem fremden Rechner, ohne dass jemand deine Entwicklungsumgebung braucht.

  3. 3

    Tests schreiben, bevor es jemand verlangt

    JUnit für Prüfungen, eine Mocking-Bibliothek für externe Abhängigkeiten, und die Gewohnheit, für jeden gefundenen Fehler zuerst einen Test zu schreiben, der ihn nachweist. Ein Bewerbungsprojekt mit Tests wirkt anders als eines ohne, weil es zeigt, wie du im Team arbeiten würdest.

    Geschafft, wenn: Eine Änderung, die etwas kaputtmacht, fällt dir auf, bevor sie jemand anders bemerkt.

  4. 4

    Datenbanken von unten nach oben lernen

    Zuerst SQL mit Verknüpfungen, Gruppierung und Indizes, dann der direkte Zugriff über JDBC, danach die Abbildung auf Objekte über JPA. In dieser Reihenfolge, denn nur dann erkennst du, welche Abfragen die Abbildungsschicht erzeugt und warum eine davon zu langsam ist.

    Geschafft, wenn: Du kannst dir die tatsächlich abgesetzten Abfragen anzeigen lassen und eine davon gezielt verbessern.

  5. 5

    Eine Anwendung mit Spring Boot bauen

    Eine Schnittstelle nach außen, eine Datenbank dahinter, Konfiguration je Umgebung, Anmeldung und Rechte, dazu Protokollierung und ein Zustandsbericht für den Betrieb. Das ist der Stand, den Ausschreibungen meinen, wenn sie Erfahrung mit dem verbreiteten Rahmenwerk verlangen.

    Geschafft, wenn: Deine Anwendung läuft in einem Container und lässt sich ohne Codeänderung in einer zweiten Umgebung starten.

  6. 6

    Fremden Code übernehmen und lesbaren Code schreiben

    Nimm ein bestehendes Projekt, arbeite dich in einen Bereich ein und ändere ihn mit Test. Parallel dazu die Frage, wie du selbst schreibst: sprechende Namen, kleine Einheiten, klare Zuständigkeiten. Das ist es, was Kollegen meinen, wenn sie von wartbarem Code sprechen, und es ist erlernbar.

    Geschafft, wenn: Jemand anders kann deine Änderung im Review nachvollziehen, ohne dich zu fragen.

  7. 7

    Den Betrieb dazunehmen

    Protokollierung mit sinnvollen Stufen, Messwerte, Konfiguration über Umgebungsvariablen, ein Container-Abbild und die Grundlagen der Fehlersuche in Produktion: Speicherabbild, Threadauszug, Blick auf die Speicherbereinigung. Wer das kann, wird gerufen, wenn es brennt, und das verändert die Rolle im Team.

    Geschafft, wenn: Du findest die Ursache eines Problems, das nur in der Produktionsumgebung auftritt.

Sechs Bausteine, die ein Java-Projekt im Betrieb ausmachen

  1. 01 Die Sprache selbst, samt Sammlungen und Fehlerbehandlung.
  2. 02 Der Build mit Abhängigkeiten, Versionen und einem reproduzierbaren Paket.
  3. 03 Automatisierte Tests, die bei jeder Änderung mitlaufen.
  4. 04 Der Datenbankzugriff, und die Abfragen, die dabei tatsächlich entstehen.
  5. 05 Ein Rahmenwerk für Konfiguration, Schnittstellen und Anbindungen.
  6. 06 Der Betrieb mit Protokollierung, Messwerten und Fehlersuche im Ernstfall.
Was du mitnimmst

Was du dir in welcher Reihenfolge aneignest

Die folgenden Bausteine bauen aufeinander auf. Wer sie in dieser Reihenfolge nimmt, hat nach jedem Schritt etwas Lauffähiges und muss nichts Gelerntes wieder verwerfen.

Die Sprache bis zu Sammlungen und Fehlerbehandlung

Klassen, Schnittstellen, Sammlungen, Datenströme, Fehlerbehandlung und der Umgang mit fehlenden Werten. Dazu die neueren Sprachmittel wie Records und Mustervergleich, weil sie in aktuellem Code überall auftauchen.

Build und Abhängigkeitsverwaltung

Maven oder Gradle sind kein Nebenthema, sondern die Art, wie Java-Projekte existieren. Du musst eine Abhängigkeit hinzufügen, einen Versionskonflikt auflösen und ein Paket bauen können, ohne dafür eine Entwicklungsumgebung zu brauchen.

Tests von Anfang an mitschreiben

JUnit für die Prüfungen, eine Mocking-Bibliothek für Abhängigkeiten, die im Test nicht laufen sollen. Tests sind in Bewerbungsprojekten der zuverlässigste Unterschied zwischen jemandem, der zum Gespräch eingeladen wird, und jemandem, der es nicht wird.

SQL vor der Abbildungsschicht

Erst Abfragen, Verknüpfungen und Indizes verstehen, dann JDBC, dann die Abbildung auf Objekte. Wer den umgekehrten Weg geht, kann Datenzugriffe schreiben, aber nicht erklären, warum eine Seite plötzlich acht Sekunden lädt.

Ein Rahmenwerk und eine echte Schnittstelle

Mit Spring Boot baust du eine Anwendung, die eine Schnittstelle anbietet, eine Datenbank anspricht, Konfiguration je Umgebung liest und sich in einen Container packen lässt. Das ist der Stand, ab dem du in Ausschreibungen die geforderten Stichworte tatsächlich erfüllst.

Fremden Code übernehmen und ändern

Such dir ein bestehendes Projekt, verstehe eine Stelle, ändere sie und belege mit einem Test, dass die Änderung wirkt. Diese Fähigkeit füllt im Beruf mehr Zeit als das Schreiben neuer Klassen, und sie wird in Kursen fast nie geübt.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt

Was den Arbeitstag tatsächlich füllt

Neuer Code ist der kleinste Posten. Den größten Teil machen Lesen und Ändern von Bestehendem aus, dazu Fehlersuche, Code-Review für andere, Abstimmung mit dem Fachbereich darüber, was eine Anforderung eigentlich bedeutet, und die Pflege der Werkzeugkette. Wer sich Entwicklung als stundenlanges konzentriertes Schreiben vorstellt, erlebt in den ersten Wochen eine Enttäuschung, die nichts mit dem eigenen Können zu tun hat.

Die zweite falsche Erwartung betrifft die Vielfalt der Aufgaben. In vielen Java-Häusern arbeitet man jahrelang an derselben großen Anwendung, und der Reiz liegt nicht im Neubau, sondern darin, ein System, das seit fünfzehn Jahren Geld verdient, verständlich und änderbar zu halten. Das ist eine eigene Fähigkeit, sie wird gut bezahlt, und sie ist etwas anderes als das Aufsetzen neuer Dienste.

Ein Betriebsthema, das viele überrascht, ist die Versionsfrage. Java hat Langzeitversionen, und viele Bestandssysteme laufen auf einer älteren davon. Der Sprung nach oben ist meist kein Sprachthema, sondern ein Abhängigkeitsthema: Bibliotheken müssen mitziehen, und beim Wechsel der Unternehmensplattform hat sich vor einigen Jahren zusätzlich der Namensraum der Schnittstellen von javax auf jakarta geändert, was jede betroffene Bibliothek betrifft. Wer bei einem solchen Umstieg schon einmal mitgearbeitet hat, hat ein Gesprächsthema, das ihn von anderen Bewerbern unterscheidet.

Dazu kommt eine Lizenzfrage, die keine Sprachfrage ist. Es gibt viele Bauversionen desselben offenen Quellstands, etwa von Eclipse Adoptium, Amazon, Azul, Red Hat oder Microsoft, und sie sind für den Betrieb frei nutzbar. Nur der Build des ursprünglichen Herstellers steht unter eigenen Bedingungen mit einem Abonnementmodell. In vielen Häusern ist auf Entwicklungsrechnern über Jahre der falsche Build gelandet, und aufgefallen ist es erst bei einer Prüfung.

Der Weg hinein, und welche Nachweise zählen

Formal führen zwei Wege in die Rolle: die Ausbildung zum Fachinformatiker für Anwendungsentwicklung und ein Studium der Informatik oder eines verwandten Fachs. Der dritte Weg, der Quereinstieg, ist in der Java-Welt verbreiteter, als viele denken, weil der Bedarf im Bestand groß ist und Häuser mit langlebigen Systemen eher jemanden einarbeiten als eine Stelle unbesetzt lassen.

Was in der Bewerbung wirklich zählt, ist ein Projekt, das jemand anders bauen und starten kann. Konkret: ein Verzeichnis mit Quellcode, eine Build-Datei, eine kurze Anleitung, Tests, die durchlaufen, und eine Anwendung, die nach dem Start tatsächlich etwas tut. Das schlägt jede Kursliste, weil es genau die Fragen beantwortet, die im Fachgespräch gestellt werden: Warum hast du das so geschnitten, was passiert, wenn die Datenbank nicht erreichbar ist, wie würdest du diese Funktion testen.

Zertifizierungen zur Sprache spielen im deutschsprachigen Raum eine kleinere Rolle als in anderen Märkten. Sie schaden nicht und können in der Vorauswahl bei Dienstleistern helfen, ersetzen aber weder Code noch die Fähigkeit, über eigene Entscheidungen zu sprechen. Deutlich mehr Wirkung hat es, wenn du erklären kannst, warum du in deinem Projekt an einer Stelle bewusst gegen die naheliegende Lösung entschieden hast.

Woran zwei Leute mit gleicher Berufsdauer auseinandergehen

Der erste Unterschied ist der Schnitt. Es gibt Entwickler, deren Code funktioniert, und solche, deren Code sich in zwei Jahren noch ändern lässt, ohne dass jemand Angst davor hat. Der Unterschied liegt in Kleinigkeiten, die sich benennen lassen: klare Zuständigkeit je Klasse, Abhängigkeiten von außen hereingereicht statt im Inneren erzeugt, keine Geschäftslogik im Datenzugriff, und Tests, die sich lesen lassen wie eine Beschreibung des erwarteten Verhaltens.

Der zweite Unterschied ist die Fehlersuche in Produktion. Wer bei einem Problem, das sich lokal nicht nachstellen lässt, nach Speicherabbild, Threadauszug und Protokollen der Speicherbereinigung greift und daraus eine Hypothese baut, ist in jedem Team die Person, die man anruft. Diese Fähigkeit entsteht nicht aus Kursen, sondern daraus, dass man sie einmal unter Druck gebraucht hat und danach systematisch geübt hat.

Der dritte Unterschied ist Fachwissen aus der Domäne. Java sitzt in Branchen mit komplizierten Regeln: Versicherungsmathematik, Zahlungsverkehr, Logistik, Fertigungssteuerung. Wer die Regeln versteht, mit denen sein Haus Geld verdient, schreibt nicht nur den Code, sondern erkennt, wenn eine Anforderung fachlich nicht stimmen kann. Das ist der Punkt, an dem aus einem Entwickler eine Person wird, die in Entscheidungen einbezogen wird.

Wohin die Rolle führt

Die erste Richtung ist die Architektur. Wer über Jahre gesehen hat, welche Entwürfe alterungsbeständig waren und welche nicht, wird zu der Person, die den Schnitt neuer Systeme verantwortet und Entscheidungen begründet aufschreibt. Diese Rolle bleibt technisch, verlagert sich aber von der Umsetzung auf Abwägung und Vermittlung.

Die zweite Richtung ist der Betrieb der eigenen Software. Container, Auslieferungsketten, Messwerte und Verfügbarkeit sind für Java-Anwendungen ein eigenes Fachgebiet geworden, und wer aus der Entwicklung kommt, bringt dafür den Vorteil mit, den Code zu kennen, den er betreibt. Die Testautomatisierung ist ein verwandter Weg, der ähnlich viel Bestandserfahrung verlangt.

Die dritte Richtung führt weg vom Code: Fachliche Analyse, Anforderungsarbeit, Teamleitung. Und dann gibt es noch die Bewegung innerhalb der Plattform. Wer auf der Java-Laufzeitumgebung bleibt, aber die Sprache wechselt, findet dort Kotlin und andere Sprachen, die dieselben Bibliotheken nutzen. Die Entwicklung für Android baut ebenfalls auf dieser Welt auf, ist aber ein eigener Beruf mit eigenen Werkzeugen und eigenem Veröffentlichungsweg.

Dazu passende Kurse

Wenn du bei null anfängst, ist der geordnete Aufbau schneller als jedes Selbststudium, und dafür gibt es Kurse, in denen du die Sprache von der ersten Klasse an aufbaust .

Weil im Beruf mehr gelesen als geschrieben wird, lohnen sich früh Seminare, in denen du deinen Code so schreibst, dass ihn andere übernehmen können .

Was verdient man

Die amtlichen Zahlen zu dieser Rolle

Die Zahlen stammen aus der Berufsgattung Softwareentwicklung, eine sprachbezogene Zelle für Java gibt es nicht. Es sind Bruttomonatsverdienste in Vollzeit ohne Sonderzahlungen, Weihnachts- und Urlaubsgeld kommen also noch dazu und der Jahresverdienst liegt über dem Zwölffachen. Der Abstand zwischen den beiden Zeilen ist groß, und er beschreibt nicht deine Berufsjahre: Das Anforderungsniveau steht für den Zuschnitt der Stelle, also dafür, ob jemand zugearbeitete Aufgaben umsetzt oder eigenverantwortlich Lösungen entwirft. Ein Wechsel von der einen in die andere Zeile passiert deshalb über den Stellenzuschnitt und nicht automatisch mit der Zeit. Halte dich an den Median, weil einzelne sehr hohe Verdienste den Durchschnitt nach oben ziehen, und rechne Branche, Betriebsgröße und Region als die üblichen Gründe für Abweichungen ein.

Amtliche Medianverdienste, April 2025

Brutto im Monat

Statistisches Bundesamt, Verdiensterhebung. Vollzeit, ohne Sonderzahlungen. Die Hälfte der Beschäftigten verdient weniger als der Median, die andere Hälfte mehr.

Softwareentwicklung Fachkraft 4.201 €

KldB 43412, Durchschnitt 4.608 €, gerundet rund 50.000 € im Jahr ohne Sonderzahlungen

Softwareentwicklung Spezialist 5.986 €

KldB 43413, Durchschnitt 6.238 €, gerundet rund 72.000 € im Jahr ohne Sonderzahlungen

02k4k6k
  • Vollzeitbeschäftigte, Bruttomonatsverdienst ohne Sonderzahlungen. Weihnachts- und Urlaubsgeld, Prämien und Boni sind nicht enthalten, der Jahresverdienst liegt also über dem Zwölffachen.
  • Das Anforderungsniveau beschreibt den Zuschnitt der Stelle, nicht die Berufserfahrung. Fachkraft, Spezialist und Experte sagen etwas über die Komplexität der Tätigkeit aus, nicht über Dienstjahre.
  • Die Erhebung geht regional nur bis auf die Bundeslandebene. Für einzelne Städte gibt es keine amtlichen Zahlen, weil der Zufallsfehler zu groß wäre.

Quelle: Statistischer Bericht Verdienste , Statistisches Bundesamt (Destatis). Den eigenen Fall prüfst du im Entgeltatlas der Bundesagentur für Arbeit . Beachte dort: Entgelte oberhalb der Beitragsbemessungsgrenze sind der Statistik nicht bekannt, bei gut bezahlten IT-Rollen steht deshalb nur eine Untergrenze.

Wissen prüfen

Wie sicher bist du beim Thema wirklich?

Lesen fühlt sich schnell nach Können an. Ein kurzer Test zeigt dir, was davon schon sitzt und wo sich ein Kurs lohnt. Kostenlos, ohne Anmeldung, mit einer Erklärung zu jeder Antwort.

Ein sehr gutes, praxisorientiertes und nachhaltiges Seminar. So sollte es immer sein. Vielen Dank.
LimeSurvey - Anwendertraining Teil 1 (Grundlagen)
Ein sehr guter und verständlicher Überblick über die Grundlagen im Umgang mit BricsCAD.
BricsCAD 2D Schulung Grundkurs
Alle meine Erwartungen wurden erfüllt und ich habe mich sehr gut aufgenommen gefühlt, jede Frage wurden Probleme direkt beseitigt.
BricsCAD 3D Schulung - Grundlagen

Häufige Fragen

Lohnt sich Java noch, oder sollte ich etwas Neueres lernen?
Der Bedarf entsteht weniger aus neuen Projekten als aus dem Bestand, und der ist riesig und langlebig: Banken, Versicherungen, Industrie, Handel und öffentliche Verwaltung. Das bedeutet stabile Nachfrage und Aufgaben, die eher aus Weiterentwicklung als aus Neubau bestehen. Wenn dich das reizt, ist es ein guter Einstieg. Wenn du ausschließlich auf grüner Wiese arbeiten willst, ist es der falsche.
Welche Java-Version sollte ich lernen?
Lerne auf einer aktuellen Langzeitversion, denn die Sprachmittel der letzten Jahre stehen überall in neuem Code. Rechne aber damit, dass dein erster Arbeitgeber auf einer älteren Langzeitversion läuft. Der Unterschied ist beherrschbar, du solltest nur wissen, welche Sprachmittel es dort noch nicht gibt, damit du nicht Code schreibst, der sich nicht übersetzen lässt.
Spring Boot oder Jakarta EE?
Für den Einstieg Spring Boot, weil es in Stellenausschreibungen deutlich häufiger verlangt wird und du damit schneller zu einer lauffähigen Anwendung kommst. Die Konzepte dahinter, also Abhängigkeiten hereinreichen, Transaktionen, Schnittstellen und Persistenz, sind in beiden Welten dieselben, und der Wechsel ist danach eine Frage von Wochen, nicht von Jahren.
Brauche ich ein Studium?
Nein, der Weg über die Ausbildung zum Fachinformatiker für Anwendungsentwicklung ist gleichwertig, und der Quereinstieg ist in dieser Sprache verbreiteter als in manchen anderen. Ein Studium hilft bei Grundlagen wie Algorithmen und Nebenläufigkeit und bei manchen Arbeitgebern in der Vorauswahl. Ersetzen kann es das Projekt nicht, das jemand anders bauen und starten kann.

Passt thematisch dazu

Wenn eine Seite ohne erkennbaren Grund langsam wird, hilft es zu wissen, wie du dir ansiehst, was die Datenbank aus deiner Abfrage macht .

Weil ein Java-Projekt schnell dreißig fremde Bibliotheken einbindet, gehört dazu, wie du die Herkunft deiner Abhängigkeiten belegbar machst .

Persönlich für dich da

Deine Ansprechpartner

Du bist dir nicht sicher, welcher Kurs oder welches Level zu dir passt? Wir beraten dich persönlich und kostenlos.

Yves Hoppe

Yves Hoppe

Weiterbildung & Beratung

Hilft dir, aus dem IT-Berufe-Programm den passenden Kurs für deinen Stand zu finden.

Norbert Jansen

Norbert Jansen

Beratung & Inhouse

Plant mit dir Inhouse-Trainings, die auf eure Abläufe und euren Datenbestand zugeschnitten sind.