Orientierungshilfe-Quereinstieg

zombiber007

Neues Mitglied
Hallo liebe Community,
ich bräuchte eine realitätsbezogene Orientierungshilfe.
Es geht mir darum, Erfahrungsberichte aus dem Arbeitsalltag von euch zu bekommen. Wenn deine Antwort mit: “Es kommt darauf an” beginnt, bitte diesen Post nicht beantworten!
Vorab zu mir: ich programmiere seit ca. 2015 und verstehe OOP und FP Konzepte in den gängigsten Patterns, allerdings liegt mein Schwerpunkt im Frontend und der JS/TS Entwicklung. Ich habe private Backend Projekte mit Node.js Express umgesetzt, die ziemlich umfangreich sind.
Ich möchte mich in Zukunft mehr in Richtung Enterprise Backend bewegen, Java scheint mir hier die richtige Wahl zu sein.
Ämter, Android Entwicklung und Startups sind für mich dabei ausgeschlossen.
Meine Fragen lauten:
  1. Wie verhält es sich mit dem Java (Versionen) Einsatz in größeren Projekten, welche Version ist zur Zeit Standard in großen Projekten und werden sie aktualisiert? Wenn in einem Projekt beispielsweise Java 8 eingesetzt wird, wird dies dann auf z.B. 12 upgegradet oder bleiben Sie weiterhin bei 8 für die Wartung und das Testing etc.. Ich möchte einfach wissen, wie die Senior Developer drauf sind. Herrscht das Motto: “never change a running system” oder der Ansatz “Rolling Release” also schrittweise Modernisierung.
  2. Welche Java Version ist für Quereinsteiger empfehlenswert zu lernen?
    Java 8, 11 oder 12? Ja, ich kann googlen, aber internationale Standards sind in Deutschland erfahrungsgemäß nicht wie gewöhnlich gültig.
  3. Soweit ich verstanden habe, ist das Spring Framework das meistgenutzte Framework und für die Webanwendungen Spring Boot. Welche Erweiterungen sind in Projekten im Einsatz? Erweiterungen wie z.B. Spring Security, welche am Anfang Fokus brauchen, um Tasks zu erledigen, die ein Quereinsteiger Entwickler auf der Arbeit bekommt?
  4. Wie stabil ist der Java-Einsatz in Deutschland wirklich? Verliert Java seine Dominanz im Bereich Enterprise und Cloud, z.B. an Go, TypeScript, Python oder C#?
  5. Haben Java Projekte mehr Monolithic Ansatz oder wechseln sie in Richtung Microservice?
  6. Ich verdiene mit meinem Stack(FE70%, BE30%) Aktuell zwischen 65k - 80k als Festangestellter. Welcher Gehaltsanstieg ist in Java, nur Backend, realistisch, wenn man den entsprechenden Stack beherrscht, also Spring Boot, sein Ökosystem und alles was dazugehört.
  7. Welches Cloud System ist das populärste? AWS, Azure oder gar keines davon? Ich persönlich hatte AWS im Sinn, aber wegen der Rahmenverträge könnte es sein, dass MS Azure hier den Löwenanteil hat, oder?
  8. Ich weiß, dass meine jetzige Frage unternehmensabhängig ist, dennoch möchte ich sie stellen. Java ist ja stabil und in größeren Projekten wird nicht viel riskiert, da man mit bestehenden Systemen mit wenigen Upgrades, wie z.B. bei Banken, sein Geld verdient. Stimmen Klischees von Java Beamten, Engstirnigkeit und Sturheit was neue Ansätze und Technologien angeht? Ich lese und höre, dass man in größeren Unternehmen sehr schwer Versionen updaten, geschweige denn Innovationen einbringen kann. Liegt es an der Bequemlichkeit der Kollegen oder an der Komplexität und der beschränkten Funktionalität von Java und seinem Ökosystem? Die Frage bezieht sich nicht auf JVM Sprachen. Ich kann verstehen, dass ein Java Entwickler nicht unbedingt Scala oder Kotlin lernen und einsetzen kann oder will. Mir geht's darum, ob man in großen Projekten jahrelang an dieselben Versionen gebunden ist und keine neuen Sprachfeatures benutzt.
  9. Eine letzte Frage, die aus Sicht eines Java Entwicklers interessant wäre: Wie siehst du die Zukunft von Java? Wird Java sich eher wie Cobol entwickeln und nur noch für alte Projekte, die am Leben gehalten werden, eingesetzt werden oder schafft Oracle mit Java sie moderner zu machen und weiterzuentwickeln wie z.B. Python oder C# die zwar alt sind, aber ein gutes Comeback haben.
Anschließend möchte ich mich bedanken, dass du bis hierhin gelesen hast und freue mich sehr deine Antwort zu lesen und ganz besonders von deiner Sichtweise zu lernen.
 
Y

yfons123

Gast
Wenn in einem Projekt beispielsweise Java 8 eingesetzt wird,
Du wirst eher "selten" eine einzige java version haben
1. Du hast Leichen die "auslaufen" .. zb man hat ein PRogramm das in 2 Jahren abgeschalten wird und das Ende des Programmes zu nah ist um noch irgendwas daran zu machen, zb wir haben einen mssql server version 2012 weil das programm darauf in einem halben jahr abgeschalten wird , da macht niemand mehr was daran.. interessiert auch keinen mehr ob das jetzt da drauf modern ist oder nicht
2. Du Updatest ja auch nicht alle programme in java auf einmal ... du machst es ja für jedes einzeln also ist da auch ein Zeitraum mit mehreren Versionen
Wie siehst du die Zukunft von Java? Wird Java sich eher wie Cobol entwickeln
java hat halt die JVM .. diese kann java byte code ausführen , Kotlin zb kompiliert sich in java byte code der in der JVM läuft dh die java virtual machine und javas byte code wird nicht sterben... dafür ist die jvm zu gut

java ist nicht dafür bekannt sehr viel fancy syntax zu haben wie c# oder python.. was halt auch ein vorteil ist.. der code von vor 20 jahren ist "fast" genauso lesbar wie von heute..
Bei java code erwartet man halt auch dass der ein paar jährchen durchläuft

Wie stabil ist der Java-Einsatz in Deutschland wirklich
Du darfst dich ja unter eine Firma stellen bei größeren Firmen .. weil alles was nix kostet ist ja schonmal prinzipiell scheiße
dh was hast du bei Datenbanken für Optionen?
Microsoft mit MSSQL und Oracle .. das sind die Teuersten und somit die besten

Wenn du jetzt als Person MSSQL haben willst dann wirst du in powershell und transact sql rein laufen.. und somit auch in c# weil es halt der "microsoft haufen" ist


Entscheidest du dich für Oracle mit Linux ... da ist die OracleJVM vorinstalliert und kein dotnet drauf und die Empfehlung ist von Oracle dass man nichts anderes installiert... also hmm.. das schränkt die Optionen ziemlich ein.. da bist du halt auf dem Oracle Haufen unterwegs

Deswegen kommts sehr drauf an worauf sich das Unternehmen eingestellt hat.. manche machen auch beides... halt die mit viel geld
Welcher Gehaltsanstieg ist in Java, nur Backend, realistisch,
Du kannst java backend Freelancer werden und dich rein hängen bis zum geht nimmer und in Geld schwimmen
oder
Du wirst Angestellter im öffentlichen Diesnt , machst dein Ding und hast deine Ruhe... Geld ist nicht mehr ein alleiniger Faktor und kommt sehr drauf an was du selber willst, es gibt alles zur Auswahl
Stimmen Klischees von Java Beamten, Engstirnigkeit und Sturheit was neue Ansätze und Technologien angeht
Nein nicht wirklich was ich von meinen Kollegen ausm Studium mitkriege ist nicht das Problem dass man "nichts neues probieren will"
sondern
1. Es hat jetzt Jahrelang keine neuen Leute gegeben die das Wissen rein bringen, es ist immer öfter der Fall dass die jungen bei den Ideen vorne dran sind und das neue Zeug rein bringen und die alten hören zu und lassen es auch zu .. nur es war jahrenlang eine Flaute von "keine sau ist gekommen"
2. Du hast wieder das Leichen Problem.. warum ist denn Cobol noch im einsatz.. das zeug funktioniert ist riesig und man hat keine Leute, wer machts denn? der Betrieb muss laufen
Es ist halt einfacher ein Plugin System zu bauen und das "Alte" am laufen zu halten .. und nur weil etwas alt ist heißt das ja nicht dass es schlecht ist.. bei cobol kommt da halt dazu dass dir die Leute die es lesen können weg sterben.. das hat java nicht
3. Lizenz Probleme und Bürokratie... du glaubst ja nicht was für ein genialer Quatsch von Berlin kommt.. und als Beamter gibts halt nur eine richtige antwort zu einer aussage vom staat undzwar "Ja" ... beim öffentlichen Dienst ist es auch so aber man hat halt noch ein bisschen mitsprache

Ich lese und höre, dass man in größeren Unternehmen sehr schwer Versionen updaten, geschweige denn Innovationen einbringen kann.
Nein nicht wirklich ... Ämter und Behörden sind halt eher in einem Hamster Rad " ich machs schmuddelig dass es läuft " jetzt hast du was das mehr zeit braucht weil es schmuddelig gemacht wurde.. jetzt hast keine zeit mehr um Innovationen selber einzubauen.. und dann gehts immer so weiter


Mir geht's darum, ob man in großen Projekten jahrelang an dieselben Versionen gebunden ist und keine neuen Sprachfeatures benutzt.
Also theoretisch kannst du alles auf java 18 upgraden...
Braucht man es ?
zb du hast ein Programm zum drucker einstellen.. das ist seit 10 jahren nicht angefasst worden .. warum sollte man dann java upgraden wenn sowieso keiner mehr das anfasst
Die java versionen auf die du dich einstellen kannst in ämtern ist : 8 , 11 und 15
Python oder C# die zwar alt sind, aber ein gutes Comeback haben.
C# hat halt
1. spieleentwicklung ( godot , unity ... )
2. dotnet umgebung
3. powershell
4. ASP.net
5. MAUI / WPF also Desktop Anwendungs zeugs

was hat java direktes pendant dazu ?
1. fxgl .. hat halt kein 3D und ist auf javafx beschränkt was ein toter gaul ist
2. JVM umgebung mit kotlin und skala.. haha .. hoho .. jaja .. das wirst du nicht in einem Amt sehen
3. -
4. hab vergessen wie das heißt..
5. -


Es kommt halt darauf an wie du es rüber bringst .. wenn du gut überzeugen kannst , kannst du es auch schaffen in einem Amt in hinterduxer gletscher C# einzuführen .. du darfst halt die Menschen die da schon sind also die "alten" nicht alleine lassen damit

Wenn du was "hinklatscht" als Innovation dann musst du halt "leiten" wie und warum... Menschen lehnen prinzipiell alles ab wenn sie damit allein gelassen werden



Ist nur meine Meinung dazu und passt wahrscheinlich eh wieder keiner sau :D

EDIT:
Noch eine Anmerkung... ich habe was gebaut dass sich was automatisch ausfüllt.. das war nur eine Kleinigkeit und das hat dazu geführt dass jeder im Team 5min vom Tag mehr Zeit hatte , darauf hin hat sich der Teamleiter auch sowas gebaut für eine andere Seite.. und plötzlich hatte jeder 10 min mehr zeit

es muss bei der "innovation" nicht alles von dir kommen als junger, es reicht etwas anzustoßen dass es "da etwas könnte das man mal ausprobieren müsste ... und da hab ich vllt theoretisch schon eine kleinigkeit zu präsentieren" .. das reicht meistens für die "alten Java Beamten, Engstirnigkeit und Sturheit was neue Ansätze und Technologien" um ihren alltags Ansatz zu ändern

und noch eine Andere Anmerkung die ich von einem Franzosen habe der seit 10 jahren mssql macht:
Automatisiere nicht dein Arbeit, sondern Automatisiere dich
wenn du dich für dich selbst automatisierst kannst du dir aussuchen was du hernehmen willst .. da ist es egal ob du den Schinken von vor 20 Jahren benutzen musst
für administration trifft das ziemlich gut zu aber für entwicklung.. puhh.. weis ich nicht
 
Zuletzt bearbeitet von einem Moderator:

LimDul

Top Contributor
Hallo liebe Community,
ich bräuchte eine realitätsbezogene Orientierungshilfe.
Es geht mir darum, Erfahrungsberichte aus dem Arbeitsalltag von euch zu bekommen. Wenn deine Antwort mit: “Es kommt darauf an” beginnt, bitte diesen Post nicht beantworten!
Kommt drauf ist aber oftmals korrekt, weil es selten definitive Aussagen gibt. Aber ich verstehe dich in der Hinsicht, dass du gerne was Futter willst bzgl. konkreter Erfahrungen und Aussagen und nicht absolut vage Aussagen, also versuche ich es trotzdem mal.

Vorab zu mir: ich programmiere seit ca. 2015 und verstehe OOP und FP Konzepte in den gängigsten Patterns, allerdings liegt mein Schwerpunkt im Frontend und der JS/TS Entwicklung. Ich habe private Backend Projekte mit Node.js Express umgesetzt, die ziemlich umfangreich sind.
Ich möchte mich in Zukunft mehr in Richtung Enterprise Backend bewegen, Java scheint mir hier die richtige Wahl zu sein.
Ämter, Android Entwicklung und Startups sind für mich dabei ausgeschlossen.
Das würde ich dann schon nicht mehr als "Quereinstieg" sehen sondern als "Umorientierung". Zumindest hebst du dich damit deutlich von den Quereinsteigern ab, die quasi frisch auf Programmierung umgeschult haben. Stell da dein Licht nicht zu sehr unter den Scheffel, den die Konzepte sind das A und O in der Softwareentwicklung. Die Sprache selber ist reines Handwerkszeug und das lernt man nebenbei.

[*]Wie verhält es sich mit dem Java (Versionen) Einsatz in größeren Projekten, welche Version ist zur Zeit Standard in großen Projekten und werden sie aktualisiert? Wenn in einem Projekt beispielsweise Java 8 eingesetzt wird, wird dies dann auf z.B. 12 upgegradet oder bleiben Sie weiterhin bei 8 für die Wartung und das Testing etc.. Ich möchte einfach wissen, wie die Senior Developer drauf sind. Herrscht das Motto: “never change a running system” oder der Ansatz “Rolling Release” also schrittweise Modernisierung.
Das hängt etwas davon ab in welchen Bereichen die Software im Einsatz ist. Unsere Software besteht aus mehreren Teilen, einem zentralen Kern (der runtime). Diese ist vor ca. 1 Jahr von Java 6 auf Java 8 angehoben worden. Sie läuft also nur noch mit Java 8 und höher. Unsere eigenen Anwendungen sind zeitgleich von Java 8 auf Java 11 angehoben wurden. Ich würde vor allem im Enterprise Bereich sagen, da kommen fast nur Java LTS Versionen zum Einsatz (Java 8, 11, 17) und das oft mit zeitlichem Verzug. Je aktiver eine Software noch in der Weiterentwicklung ist, um schneller ist in der Regel der Umstieg. Allerdings ist ein Wechsel der Java Version oftmals auch mit einem Update der Server Umgebung (Sei es z.B. JBoss im JavaEE Umfeld oder Spring Boot) - und die macht man nicht leichtfertig, weil das ja auch im Test-Aufwand verbunden ist.

Der Leidensdruck für den Wechsel - vor allen in Non-IT Firmen - kommt oftmals durch auslaufenden Support von Komponenten. Z.b. unsere Software (wir sind eine IT Firma) unterstützt jetzt nur noch Java 11 und höher. Das heißt unsere Kunden müssen wechseln, wenn sie nicht irgendwann aus dem Support laufen wollen.


[*]Welche Java Version ist für Quereinsteiger empfehlenswert zu lernen?
Java 8, 11 oder 12? Ja, ich kann googlen, aber internationale Standards sind in Deutschland erfahrungsgemäß nicht wie gewöhnlich gültig.
Ich würde mich auf die LTS Versionen, also Java 11 und 17 forkussieren. Java 8 ist zwar an vielen Stellen noch im Einsatz, allerdings immer weniger. Java 17 dürfte noch nicht an vielen Stellen im Enterprise im Einsatz sein, aber Wissen darüber haben, schadet nicht. Mit Java 11 deckst du den größten Umfang ab.

[*]Soweit ich verstanden habe, ist das Spring Framework das meistgenutzte Framework und für die Webanwendungen Spring Boot. Welche Erweiterungen sind in Projekten im Einsatz? Erweiterungen wie z.B. Spring Security, welche am Anfang Fokus brauchen, um Tasks zu erledigen, die ein Quereinsteiger Entwickler auf der Arbeit bekommt?
JavaEE und Spring (vor allem in Form von Spring Boot) sind am meisten im Einsatz. Spring Security ist nach meinem dafürhalten sehr oft im Einsatz - allerdings beschäftigt man sich damit eher weniger. Security ist etwas, was man im Prinzip einmal einbaut und dann sehr sehr selten wieder anfasst. Macht also prozentual einen extrem geringen Teil der Arbeit aus. Wichtiger ist als rund um Webservices, vor allem Rest. Daneben das ganze Thema JPA ist extrem wichtig. Und ein Verständnis von Dependency Injection ist ebenfalls extrem hilfreich.

[*]Wie stabil ist der Java-Einsatz in Deutschland wirklich? Verliert Java seine Dominanz im Bereich Enterprise und Cloud, z.B. an Go, TypeScript, Python oder C#?
Aus meiner Sicht ist Java immer noch der Platzhirsch sobald es um Backend System für zentrale Geschäftsprozesse von Unternehmen geht (neben SAP). Allerdings muss man natürlich sagen als Java Entwickler in einer Firma die Java Projekte macht, bekommt man natürlich nicht mit, wenn andere Firmen Non-Java Dinge tun. Dennoch sehe ich Java für die nächsten Jahre in keinerlei Gefahr

Haben Java Projekte mehr Monolithic Ansatz oder wechseln sie in Richtung Microservice?
Kommt drauf an ;) - Sehr schwer zu beurteilen, da man selber immer noch einen sehr eingeschränkten Fokus hat. Ich würde aber sagen, der Trend geht in kleinere Anwendungen. So ist Spring Boot z.B. deutlich leichtgewichtiger als JavaEE. Ob es wirklich großflächig in Richtung Microservices geht, wage ich persönlich zu bezweifeln - aber definitiv in Richtung "kleinere Monolithen".

[*]Ich verdiene mit meinem Stack(FE70%, BE30%) Aktuell zwischen 65k - 80k als Festangestellter. Welcher Gehaltsanstieg ist in Java, nur Backend, realistisch, wenn man den entsprechenden Stack beherrscht, also Spring Boot, sein Ökosystem und alles was dazugehört.
Hängt davon ab, wie gut du dich verkaufen kannst. In dem Bereich würde ich das eher am oberen Ende als realistisch einordnen, mehr ist auch möglich, hängt wie gesagt davon ab, wie du dich verkaufen kannst.

[*]Welches Cloud System ist das populärste? AWS, Azure oder gar keines davon? Ich persönlich hatte AWS im Sinn, aber wegen der Rahmenverträge könnte es sein, dass MS Azure hier den Löwenanteil hat, oder?
Ich würde vom Bauchgefühl, was ich mitbekomme (sehr beschränkter Überblick, nur eine Branche) Azure sagen - kann aber stark verzerrt sein. Sehr oft ist aber eine eigene interne Cloud vorhanden (Openshift, Kubernetes)

[*]Ich weiß, dass meine jetzige Frage unternehmensabhängig ist, dennoch möchte ich sie stellen. Java ist ja stabil und in größeren Projekten wird nicht viel riskiert, da man mit bestehenden Systemen mit wenigen Upgrades, wie z.B. bei Banken, sein Geld verdient. Stimmen Klischees von Java Beamten, Engstirnigkeit und Sturheit was neue Ansätze und Technologien angeht? Ich lese und höre, dass man in größeren Unternehmen sehr schwer Versionen updaten, geschweige denn Innovationen einbringen kann. Liegt es an der Bequemlichkeit der Kollegen oder an der Komplexität und der beschränkten Funktionalität von Java und seinem Ökosystem? Die Frage bezieht sich nicht auf JVM Sprachen. Ich kann verstehen, dass ein Java Entwickler nicht unbedingt Scala oder Kotlin lernen und einsetzen kann oder will. Mir geht's darum, ob man in großen Projekten jahrelang an dieselben Versionen gebunden ist und keine neuen Sprachfeatures benutzt.
Würde ich definitiv verneinen. Ich bin in einer Branche (Versicherungen) unterwegs, die nun nicht als topmodern gilt und erlebe da IT die durchaus aufgeschlossen für neues ist mit motivierten Leuten und oft auch der Möglchkeit Dinge zu bewegen. Klar, wie du selber gesagt hast, sehr stark unternehmens- und personenabhängig. Aber nach meiner Erfahrung ist auch in den altbackenen Branchen die IT eher moderner. Und auch diese Unternehmen haben verstanden, dass sie ihre IT modernisieren müssen um mitzuhalten, was entsprechende Freiräume schafft. Natürlich sind die Zyklen länger (oben bei den Java Versionen schon mal ausgeführt), aber für neue Projekte werden oftmals auch neue Technologien genommen.

[*]Eine letzte Frage, die aus Sicht eines Java Entwicklers interessant wäre: Wie siehst du die Zukunft von Java? Wird Java sich eher wie Cobol entwickeln und nur noch für alte Projekte, die am Leben gehalten werden, eingesetzt werden oder schafft Oracle mit Java sie moderner zu machen und weiterzuentwickeln wie z.B. Python oder C# die zwar alt sind, aber ein gutes Comeback haben.
Aus meiner Sicht ist Java gut aufgestellt, was den Bereich Backend/Webanwendungen angeht. Im Desktop Bereich würde ich Java abschreiben (Trotz JavaFX). Aber im Bereich Backend/Webanwendungen sehe vor allem für den Enterprise Bereich keinen Konkurrenten der Java wirklich verdrängen kann. Aber Vorhersagen, insbesondere für die Zukunft, sind schwierig. Ich kann aber sagen, es werden jetzt noch viele Projekte mit Java gestartet, die mehrere Jahre Projektlaufzeit und 10+ Jahre erwartete Software Lebenszeit haben (inkl. Weiterentwicklungen). Und ich sehe nicht, dass das in den kommenden Jahren abnimmt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S brauche Orientierungshilfe in Java Allgemeine Java-Themen 5

Ähnliche Java Themen


Oben