Berufsbild Java Entwickler*in

An Java interessiert Sie nicht die Bohne.

Als Java-Entwickler*in (alternativ Java Developer oder Java Engineer) ist man primär in den Backends dieser Welt unterwegs. Gerade durch diesen Einfluss auf Kernfunktionen ist klar, dass man oft schon bei Anforderungsanalyse und Konzept mit dabei ist. Egal, ob die Neu- und Weiterentwicklung von Anwendungen, Websites und/oder Mobile-Apps (kein Android ohne Java) – Sie sind überall willkommen. Sie nutzen Frameworks , sorgen mit APIs für die richtige Connectivity und übernehmen Testing und Code Reviews. Durch den Backend-Fokus ist man oft auch bei Architekturfragen mit im Boot. Dabei geschieht das Ganze wie so oft mittlerweile zumeist agil nach Scrum und Kanban.

Typische Aufgaben als Java-Entwickler*in

  • Coden für den Einsatz in Web-/Desktopanwendungen, Applets oder Apps
  • große Plattformbandbreite, vom Smartphone über Desktop bis hin zu embedded
  • Erweiterung, Optimierung und Anpassung bestehender Systeme
  • Aufnahme und Analyse von funktionalen und nicht-funktionalen Anforderungen
  • Design und Implementierung von Software-Architekturen oder -Services
Blu Ray Player
Java wurde ursprünglich für Set-Top-Boxen entwickelt – und findet sich heute noch auf vielen Wiedergabe-Geräten.

Ein*e Java-Entwickler*in kommt selten allein. Nicht nur in Start-ups, auch in Großkonzernen sind New-Work-Kulturen mit genauso offener Feedbackkultur wie Bürotür auf dem Vormarsch. Rückmeldung gibt’s auf dem kurzen Weg direkt von und mit Fachabteilungen, Designern, Produkt- und Projektmanagern. Vom Anforderungsmanagement – funktional und nicht-funktional – über die Umsetzung des selbst erstellten Konzepts bis zum Release Management und darüber hinaus sind Sie mittlerweile fast immer agil unterwegs. Der von Ihnen geschaffene Code erfreut dabei nicht nur Kollegen, sondern auch userseitig: Denn bekanntlich begeistert nichts mehr, als wenn eine Anwendung mal ganz unauffällig so funktioniert, wie sie soll. ;-) Die große Verbreitung von Java bringt dabei einiges an Abwechslung mit. Ob Web-Anwendungen, die backendseitig mit Java-Motor und frontendseitig klassisch mit JavaScript und Co. laufen, ganze Desktop-Programme für die Enterprise-Nutzung in verschiedensten Branchen oder die Entwicklung von Android-Apps – Java ist überall willkommen. Ähnlich wie bei PHP ist es für Java als Backend-Sprache nicht unüblich, dass man als Entwickler*in direkt selbst für die Anbindung an Datenbanken sorgt, damit die richtigen Inhalte immer in Klickweite sind. Kurzum: Mit Ihrer Unterstützung kooperieren alle Anwendungen und Systeme im Java-Umfeld stets reibungslos und kompatibel.

Welche Techs sind im Java-Umfeld gefragt?

  • Java-Kenntnisse, je nach Unternehmen alles zwischen Version 8 und 12
  • potentiell JavaSE und JEE
  • übliche Frameworks, etwa Spring, Spring Boot, JSF und Co.
  • Kenntnisse relationaler DBs, langfristig immer mehr NoSQL
  • Erfahrung mit Schnittstellentechnologien
  • Kenntnisse gängiger Tools und IDEs, etwa BlueJ, Eclipse, IntelliJ IDEA, NetBeans

Nicht alles, was in anderen Programmiersprachen Gang und Gäbe ist, lässt sich auf Java übertragen – dennoch, ohne IDEs und Frameworks stehen auch hier die Bänder still. Wer auf bereits gelöste Herausforderungen rund um Komponenten, Lösungen und Schnittstellen zurückgreifen kann, programmiert schneller, effizienter und fehlerfreier. Datenbanktechnisch kommt man zumeist um SQL in allen Ausprägungen nicht herum, weiterhin werden typischen Java-Entwickler*innen perspektivisch mit steigenden Datenmengen non-relationale DBs immer mehr über den Weg laufen, genau wie die gängigen APIs (etwa Java Server Faces, Java Message Service, JMF und Co). Zu guter Letzt gehören virtuelle Maschinen (JVMs) zu den üblichen Verdächtigen, mit denen sich eine baldige Auseinandersetzung lohnt. Abseits der Java-Spezifika gibt es ein wahres Spalier nützlicher Tools, die Unternehmen oft schon bereichsunabhängig einsetzen. Die Versionsverwaltung meistert man nicht nur als Java-Entwickler*in mit Git oder SVN, die Integration wird durch Jenkins und Konsorten erleichtert. Projektmanagement und Kommunikation? Jira und Confluence stehen eifrig bereit, um Übersicht zu bieten und Projektpakete aufzuschlüsseln. Klar, dass das Testing wieder andere Tools erfordert: Hallo, JUnit, JMeter und Mockito!

Technologien

  • Java
  • Frameworks (Symfony, Zend, Laravel, Yii usw.)
  • IDEs (Eclipse, NetBeans, IntelliJ IDEA u.a.)
  • (My)SQL, noSQL
  • APIs: JSF, JMF, JMS
  • JVM

Häufig verwendete Tools

  • Git, SVN
  • Jenkins
  • Jira, Confluence
  • JUnit, JMeter, Mockito

Tools und Methoden, die man sonst noch kennen sollte

  • Tests und deren Automatisierung
  • Qualitätsoptimierung und -sicherung
  • Performance-Optimierung, Code Reviews
  • Pair Programming, XP
  • MVC-/OOP-Konzepte
  • agile Entwicklungsmethoden
  • Trend- und Innovationsbeobachtung

Klar ist: Der schönste Code ist auch in der Java-Entwicklung ohne die richtige Palette ergänzender Methodenkenntnisse nicht viel wert. Ob Konzepte wie objektorientierte Programmierung (bei Java kommt man ohnehin nicht drumherum) oder Themen wie Continuous Integration, Deployment und Delivery als Schnittstelle zu den DevOps – je nach Unternehmensgröße sind diese Paradigmen bereits Marktnormalität und sickern langsam aber sicher in alle Größensegmente durch. Zudem legen Java-Entwickler*innen oft Hand an, wenn es um Fragen von Performance und Qualität geht, nicht zuletzt, da sie mit backend-mächtigem Java unmittelbaren und umfangreichen Einfluss auf diese Faktoren haben. Methodisch weiterhin kaum vermeidbar ist im Karrierepfad “Java-Entwicklung” das Thema Agilität. Scrum und Kanban drehen sich rund um inkrementelles Projektmanagement und eine ebensolche Arbeitsorganisation, das klassische Wasserfallmodell verliert in und abseits großer Konzernlandschaften gleichermaßen langsam an Bedeutung. Kein Wunder also, dass auf dem Karriereweg nach oben etwa noch agile Produktverantwortung oder ein Scrum-Master-Titel auf dem Plan stehen. Abseits davon ist für Java-Entwickler*innen wichtig, neueste Techs und Trends im Auge zu behalten. Sei es, die neueste Java-Version zu kennen, oder den Hardwaremarkt im Blick zu behalten, um zu wissen, auf welchen Plattformen die eigenen Lösungen womöglich bald laufen: Ein Blick über den Tellerrand des Status quo hinaus ist immer ratsam. Der Markt steht nicht still und damit am besten genauso wenig Java-Entwickler*innen.

TIOBE Index 2019
Die Ausnahmen bestätigen die Regel: Java ist laut TIOBE unangefochtener Spitzenreiter. Quelle: TIOBE.com

Konzepte

  • OOP
  • MVC
  • Scrum, Kanban
  • Continuous Integration, Continuous Delivery

Methoden

  • QA
  • (automatisierte) Tests
  • Monitoring
  • Performance-Optimierung
  • Code Reviews

Was sollte man sonst so mitbringen?

  • immer gern gesehen ist eine Ausbildung oder ein Studium im Informatikbereich
  • Berufserfahrung im Java-Umfeld kommt stets gut an
  • für Senior-Positionen: je mehr, desto besser

Zwar ist nach wie vor oft ein Studium oder eine abgeschlossene Ausbildung in den Anforderungen gefragt, die Tür in die Java-Entwicklung steht aber ebenso genialen Quer-Einsteigern offen, sofern sie praktisch fit sind. Um Ambitionen in Richtung Senior-Level nachzukommen, kommt es nicht nur auf weitere Jahre Berufserfahrung, sondern handfeste Projektabschlüsse an. Werkt man an Schnittstellen, kommen Technologien wie JSON, REST, SOAP und XML gelegen. Naturgemäß sind im Backend auch SQL- und/oder andere Datenbankkenntnisse selten fehl am Platze. Wie generell im Sektor gilt: Eine tiefgehende Passion für Technologien und deren Weiterentwicklungen am sehr dynamischen IT-Markt sind ein absolutes Muss. Bei den harten Anforderungen darf man allerdings die Softskills nicht aus den Augen verlieren, dazu zählen nicht nur Lust auf agile Arbeit, Teamplay und Moderationstalent für diverse funktionale Schnittstellen, sondern genauso ein Blick für Anforderungen, Paket-Priorisierungen und die jeweilige Produktvision.

Darf’s ein bisschen mehr sein? – Der volle Stack.

  • Frontend-Technologien a la JavaScript, HTML und CSS
  • Erstellung dynamischer Frontends
  • Responsive Design, UX-Kenntnisse
  • Android-Entwicklung
  • Erfahrung mit Containerisierung und Betrieb
  • Architektur und Datenmodellierung

Die klassische Desktop-Software-Welt ist nicht genug? Dann haben Java-Entwickler*innen die perfekte Zutat im Gepäck, um auch auf mobilen Endgeräten mit ihren Kreationen zu glänzen. Denn nicht zuletzt der durchschlagende weltweite Erfolg des Smartphone-Betriebssystems Android sorgt für eine dauerhafte Verankerung von Java im informationstechnischen Alltag. Das sich daraus – je nachdem, ob es sich um native oder hybride Entwicklungen handelt – sinnvolle Einsatzmöglichkeiten für HTML, CSS und JavaScript ergeben: Geschenkt. Aber man kann als Java-Entwickler*in in diesem Gebiet schon früher ansetzen, nämlich bei UI und UX oder gar auf noch abstrakterem Level schon bei Architektur (etwa mit Service-orientierten Architekturen und Microservices) sowie Datenmodellierung. Nicht nur im Umfeld von Google Play und Co. kann man zudem Expertise aus Release-Management, DevOps und Containerisierung zum besten geben. Denn ähnlich der Agilität befinden sich diese Paradigmen nur auf dem Vormarsch.

Alternativtext
Nicht zuletzt durch Android ist klar, das Java erst einmal nicht von der Bildfläche verschwinden wird. Quelle: Wikimedia

Wissenswertes zu Java

Egal, ob im E-Commerce, sozialen Medien oder Medienaggregatoren – nicht nur Hadoop zeigt: wenn große Datenmengen im Spiel sind, ist oft Java nicht weit weg. Facebook etwa setzt auf HBase, eine Java-basierte Datenbank-Lösung, AliExpress und Amazon (samt Webservices) sind größtenteils in Java geschrieben und auch abseits von Android setzt Google für viele seiner Produkte auf Java. Zwar existiert aufgrund einiger der Sprache inhärenter Nachteile – etwa die geringe Geschwindigkeit, viel Speicherbedarf und ineffizienter Code, um nur ein paar zu nennen – eine ganze Kategorie von hämischen Witzen zum Thema, so bald wird die Sprache aber gerade wegen ihrer anhaltenden und durchdachten Anpassung nicht von der digitalen Bildfläche verschwinden. Java-Entwickler*innen gehört damit nicht nur seit den 90er-Jahren die digitale Vergangenheit, auch die Zukunft der IT wird noch einige Zeit mit in ihren Händen liegen.

Wissenswert

  • Allroundsprache je nach Implementierung
  • Core Java: Frontend, JEE: Backend mit HTML/CSS Frontends
  • Java 2019 wieder auf Platz 1 im TIOBE-Programmiersprachen-Index

Tech-Trends

  • Java ist immer noch eine der wichtigsten Lehrsprachen
  • viele Big-Data-Techs und DBs sind Java-basiert

Und was verdient man als Java-Entwickler*in?

Ein Muster zeichnet sich ab: Die Range, in der das eigene Gehalt in der Java-Entwicklung liegen kann, ist beachtlich. Da der Markt an frischen Absolventen mit ordentlichem Uni-Java nicht gerade arm ist, kann man als Junior mit etwa um die 40.000 € einsteigen. Mit ersten Projekten im Portfolio und ersten Jahren auf dem Berufserfahrungszähler steigt die Spanne aber schnell und stetig. Selbst bei 80.000 € im Jahr muss noch lange nicht Schluss sein, wenn Randbereiche wie Architektur, DevOps oder Data-Engineering dazu kommen. Insbesondere Big-Data-Expertise macht Java-Entwickler*innen für Konzerne relevant – und damit natürlich finanziell wertvoll. Natürlich gilt aber auch hier wieder, dass Java-Entwickler*in nicht gleich Java-Entwickler*in ist: Gehälter unterscheiden sich regional, je nach Konzernballung, Lebenserhaltungskosten, Branche und Größe des Arbeitgebers sowie aufgrund vieler weiterer Faktoren. Abseits finanzieller Perspektiven gibt der Markt einiges her: Arbeitgeber buhlen mit sekundären Benefits wie flexiblen Arbeitszeiten, Home Office, massig Urlaubstagen, Kicker, Familienangebote, Rabatten, Massagen und Altersvorsorgen – um nur einige zu nennen – um die Gunst Ihres zukünftigen Talentpools.

Verdienst

  • ab 40.000 € (bis 2 Jahre Erfahrung)
  • ca. 60.000 € (Seniors)
  • bis 80.000 € (sehr erfahren oder mit weiteren Kompetenzen)

Ihre Ansprechpartner für Java-Positionen: