Von PHP zu Java welchseln?

[ChAoZ]

Rear Admiral
Registriert
Jan. 2010
Beiträge
5.239
Hallo Leute,

ich bin inzwischen 18 Jahre als Entwickler mit Schwerpunkt PHP unterwegs.
Die Sprache macht in aktueller Version auch Spaß zu programmieren und eigentlich bin ich zufrieden mit den Aufgaben, aber nicht mit dem Gehalt.

Aktuell kämpfe ich um meinen Senior Titel welcher mit einer Gehaltsanpassung verbunden ist.
Ich könnte mit meiner Erfahrung hier im Unternehmen auf 65k kommen, woanders vielleicht auf 70k wenn ich mich gut verkaufe, aber dann ist schluss....

Ich programmiere alles OOP und setze viel Wert auf CleanCode sowie CleanArch, daher denke ich wird Java mir keine großen Steine in den Weg legen, ich kenne die Sprache noch aus der Ausbildung und im Grunde genommen sind die Strukturen Ähnlich zu modernen PHP Applikationen.

Ich bin 39 Jahre alt und lerne schnell. Wie könnte so ein Wechsel vonstatten gehen?
Ein Unternehmen wird mich als Java Dev wohl kaum einstellen mit meiner Erfahrung und mit 40k möchte ich nun wirklich nicht beginnen. Also wie läuft sowas? Hat jemand von euch schon mal ein Wechsel vollzogen?

Wo fängt man an? Wie geht man vor?
Privat lernen und sich dann als Junior bewerben?
Oder versuchen um aktuellen Unternehmen auf eine Java-Stelle zu wechseln?

Danke für euer Feedback.
 
Ganz ohne Java Erfahrung könnte es schwierig werden, aber wenn du schon was mit Java gemach hast, ist es oftmals möglich in einer Firma einzusteigen und das zu vertiefen.
 
Hallöchen,

ich habe viel Ahnung von Java (ca so viel wie du von PHP).

Erstmal: Java-Entwickler gibt es auch sehr sehr viele, andererseits ist es nach wie vor der de-factor standard wenn es um Enterprise-Server Anwendungen geht (benutzen alle irgendwie, irgendwo).

Meine Idee wäre folgende:
Probiere Java mal privat aus. Einerseits plain Java und andererseits ein Framework für Microservices wie Spring Boot oder Quarkus. Es ist wichtig den Unterschied zu wissen: was ist framework was ist Java. Java und OOP Erfahrung ist oft was fehlt.

Parallel oder nachdem dir Java gefällt: bewirb dich mal bei Firmen. Es werden so dringend Leute gesucht und viele Firmen wissen auch dass die Sprache nicht so wichtig ist sondern die Erfahrung und der Umgang mit IT.

Als Beispiel: wenn du dich bei uns (schreib mir PM ggf.) bewerben würdest und wir dich nehmen sind direkt 65k bis 70k drin. würde direkt mit 70k als Forderung einsteigen (auf eine Java/ Backend Stelle).

Durch das bewerben wirst du lernen was gewünscht ist und kannst dann darauf eingehen - wenn du nicht gleich genommen wirst.
 
Also CleanCode und CleanArch sind unabhängig von der Sprache und ich bin auch der Überzeugung, dass Du schnell Java lernen würdest.
Im Enterprise Umfeld wird allerdings auch viel Spring genutzt und nach meiner Erfahrung wird das auch oft gefordert.
Ich war in der gleichen Situation .. viel PHP und weg wollen .. aber Java wurde gesucht. Ich habe dann erst mal intern gewechselt zu Java und dann nach einem Jahr konnte ich dann auch gut sagen, das ich Java kann ..
 
Hallo ChAoZ,

Was du hier vorhast, ist als Frontend-Entwickler auf Backend-Entwickler umzusteigen. Ich denke du wirst glücklicher was Arbeit und Gehalt betrifft, wenn du gleich auf den Full-Stack-Entwickler umsteigst.

"Java-Programme" schreibt heute so gut wie keiner mehr. Alles hat ein Webinterface wo dahinter eine Multitier-Architektur steht, und da wird im Backend gerne Java genommen um die Geschäftsprozesse abzubilden.

Falls deine Anforderung richtig Kohle zu scheffeln ist, dann bringt es sowieso nichts ein allgemeiner Entwickler zu sein. Richtig Kohle gibt es nur mit einer Spezialisierung, welche nichts mit Programmieren und Entwicklung zu tun hat. Zum Beispiel: Versicherung, Maschinenbau, Automotive usw. Du musst dich da mit den Geschäftsprozessen auskennen und entwickelst dann diese in Java. Das ist was ganz anderes als ne PHP-Webseite mit einer MySql-Datenbank und irgend nem Framework nach Kundenvorgabe.

Ich denke wirklich, der Full-Stack-Entwickler wäre am besten für dich. Client mit TypeScript/JavaScript kannst du bestimmt sehr gut. ASPX, JSPX usw. funktioniert exakt genauso wie PHP. Jetzt brauchst du noch ne Middleware, oft C# und was fürs Backend, wie zum Beispiel Java oder ABAP (wenns SAP werden soll). Eine MySQL verwendet dann aber keiner mehr. Entweder Microsoft SQL Server, Oracle oder selten auch mal Postgre.

Man lernt in der IT eh niemals aus :)

Gruß
aluis
 
Ich würde auch mal testweise ein paar Bewerbungen Richtung Java oder C# verschicken, mit den Buzzwords glänzen, die Du genannt hast. Du möchtest Dich von der reinen Webprogrammierung wegentwickeln und noch mehr auf Geschäftsprozesse fokussieren etc. Evtl hast Du ja private Projekte vorzuweisen. Wenn Entwickler gesucht werden, nimmt man es schon in Kauf, dass in der Sprache selbst nicht so viel Erfahrung vorhanden, geht ja mehr darum die Konzepte zu verstehen, in eine Sprache kommt man schnell rein. Ist mir zumindest auch so ergangen, als ich mehr C# entwickeln wollte.
 
Danke für das Feedback Leute.

aluis schrieb:
Was du hier vorhast, ist als Frontend-Entwickler auf Backend-Entwickler umzusteigen. Ich denke du wirst glücklicher was Arbeit und Gehalt betrifft, wenn du gleich auf den Full-Stack-Entwickler umsteigst.
Meine aktuelle Stelle wird als Fullstack beschrieben, was ich aber nicht bin, was keiner hier ist. Ich bin in meinem Team als reiner BE Dev unterwegs.

Aus meiner Erfahrung ist ein guter Frontender kein guter Backender und umgekehrt. Die Vorgesetzten wollen es natürlich nicht hören und schon gar nicht wahrhaben aber ein 100% interdisziplinäres Team gibt es nicht, habe ich noch nie erlebt.

Mir machen inzwischen Backend Arbeiten mehr Spaß. Businessprozesse umsetzen, APIs anbinden und die Architektur die oft aus zig Services besteht aufzubauen daher will ich weiter Richtung Backend gehen. PHP wird leider immer noch belächelt und die Bezahlung für PHP Projekte wird entsprechend weniger honoriert als in Java z.b.

Habe oft gelesen dass mit 15 Jahren Java Erfahrung 80k locker drin wären.


aluis schrieb:
"Java-Programme" schreibt heute so gut wie keiner mehr. Alles hat ein Webinterface wo dahinter eine Multitier-Architektur steht, und da wird im Backend gerne Java genommen um die Geschäftsprozesse abzubilden.
Das ist doch super, genau das mache ich grad auch. Mein Projekt dient als reines API Gateway und kann diverse Clients bedienen, ob App oder eine Angular SPA, egal.... das ist ja das spannende daran :)

aluis schrieb:
Falls deine Anforderung richtig Kohle zu scheffeln ist, dann bringt es sowieso nichts ein allgemeiner Entwickler zu sein. Richtig Kohle gibt es nur mit einer Spezialisierung, welche nichts mit Programmieren und Entwicklung zu tun hat. Zum Beispiel: Versicherung, Maschinenbau, Automotive usw. Du musst dich da mit den Geschäftsprozessen auskennen und entwickelst dann diese in Java. Das ist was ganz anderes als ne PHP-Webseite mit einer MySql-Datenbank und irgend nem Framework nach Kundenvorgabe.
Ich arbeite zufällig für einer Versicherung.... mit PHP ;)
Eine Versicherung nutzt auch nur die gängigen Mittel auf dem Markt, eine große Datenbank und eine für Versicherung ausgelegte Software, welche in unserem Fall in C++ geschrieben wurde und uralt ist.

aluis schrieb:
Ich denke wirklich, der Full-Stack-Entwickler wäre am besten für dich. Client mit TypeScript/JavaScript kannst du bestimmt sehr gut. ASPX, JSPX usw. funktioniert exakt genauso wie PHP. Jetzt brauchst du noch ne Middleware, oft C# und was fürs Backend, wie zum Beispiel Java oder ABAP (wenns SAP werden soll). Eine MySQL verwendet dann aber keiner mehr. Entweder Microsoft SQL Server, Oracle oder selten auch mal Postgre.
Wie gesagt ist aus meiner Erfahrung ein Fullstack Enwickler wie in Imbiss welcher alles anbietet, Burger, Pizza, Nudeln, Steaks, Nachos usw. aber alles schmeckt wie aus der Mikrowelle. Ich würde mich gern auf ein Berech spezialisieren, was aktuell PHP ist, würde aber gern zu Java wechseln, oder Kotlin, da sehe ich eine bessere Zukunft und bezahlung.

Man lernt in der IT eh niemals aus :)
Das stimmt.
 
Das wird schwer. Alle Firmen wollen heutzutage den “T-Shaped” Entwickler, der also in einem Gebiet besonders viel Wissen hat, aber prinzipiell ein Feature End-to-End entwickeln und deployen kann.
In unserem Fall wäre das TypeScript/React im Frontend und im Backend Microservices in Go/Java/Node. Dazu wird auch anderes Wissen vorausgesetzt (Kubernetes, Helm, Docker etc.) Spezialisten, die sich nur in einer Technologie auskennen, werden weniger und weniger gebraucht.
Dev(Sec)Ops ist ein großes Thema und setzt ebenfalls interdisziplinäre Teams voraus.
 
Zuletzt bearbeitet:
[ChAoZ] schrieb:
Habe oft gelesen dass mit 15 Jahren Java Erfahrung 80k locker drin wären.
In den Großstädten definitiv. Ob du direkt in diese Region einsteigen wirst...
Und 40k mit 15 Jahren Erfahrung würde ich mich bei keinem zukünftigen Arbeitgeber abspeisen lassen, mit der Begründung du bist aus der PHP-Welt.

Aber ich würde mich einfach bewerben, was hast du zu verlieren? Es wird gesucht.

Was du jedenfalls machen könntest, eine CRUD Anwendung mit Spring Boot mal privat aufsetzen.
Ergänzung ()

SheepShaver schrieb:
Das wird schwer. Alle Firmen wollen heutzutage den “T-Shaped” Entwickler, der also in einem Gebiet besonders viel Wissen hat,
Ja, ein Dozent sagte uns mal, Arbeitgeber wollen gerne einen 20 jährigen, welcher 15 Jahre SW-Erfahrung hat und gerne nur 30k im Jahr kostet. Der Dozent meinte wörtlich, sowas gäbe es nur auf dem Straßenstrich.

Ich kenne nicht einen Entwickler/Devops der so breit und tief aufgestellt ist wie du beschreibst. Ich halte das auch für unmöglich. Kenntnisse von allen Bereichen gerne. Wissen wie man ein Dockerfile beschreibt und warum man K8 für die Orchestrierung und Skalierung nutzen sollte, gerne. Wie die Applikation ungefähr deployed wird. Patterns fürs Backend/Frontend kennen. Wissen wie die Informationen von der Datenbank bis zum Frontend gelangen auch. Aber mir kann kein Arbeitgeber oder Entwickler erzählen er kennt sich in allen diese Bereichen tiefgreifend aus, um einen einzelnen Spezialisten zu ersetzen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: [ChAoZ]
Wie gesagt, T-Shaped. Du musst dich in allen Bereichen auskennen. Innerhalb des Teams gibt es freilich mindestens einen Spezialisten für jeden Bereich, prinzipiell ist aber jeder dazu in der Lage, die Rolle zumindest zeitweise zu uebernehmen. Die Tage des Frontend-Entwicklers, der das Backend nur von der API her kennt, sind nurmehr gezählt.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: MTechlerin
[ChAoZ] schrieb:
Ich könnte mit meiner Erfahrung hier im Unternehmen auf 65k kommen
Nur mal aus Interesse, was verdienst du den aktuell wenn du schreibst das du "bis auf 65k kommen könntest"?
 
SheepShaver schrieb:
Das wird schwer. Alle Firmen wollen heutzutage den “T-Shaped” Entwickler, der also in einem Gebiet besonders viel Wissen hat, aber prinzipiell ein Feature End-to-End entwickeln und deployen kann.
In unserem Fall wäre das TypeScript/React im Frontend und im Backend Microservices in Go/Java/Node. Dazu wird auch anderes Wissen vorausgesetzt (Kubernetes, Helm, Docker etc.) Spezialisten, die sich nur in einer Technologie auskennen, werden weniger und weniger gebraucht.
Dev(Sec)Ops ist ein großes Thema und setzt ebenfalls interdisziplinäre Teams voraus.
Habe quasi im Alleingang (ich musste, gab sonst niemanden) das BE entwickelt und die gesamte Strecke von Build über QualityGate bis zum Deployment mit Containern umgesetzt inkl. Logging und Tracking und alles was dazu gehört^^

SheepShaver schrieb:
Wie gesagt, T-Shaped. Du musst dich in allen Bereichen auskennen. Innerhalb des Teams gibt es freilich mindestens einen Spezialisten für jeden Bereich, prinzipiell ist aber jeder dazu in der Lage, die Rolle zumindest zeitweise zu uebernehmen. Die Tage des Frontend-Entwicklers, der das Backend nur von der API her kennt, sind nurmehr gezählt.
Im "klassischem" Scrum Team sind BE und FE Devs vertreten mir ihrere Spezialisierung, so habe ich das in jedem Unternehmen bisher erlebt. Klar könnte ich ein Frontender kurz vertreten, zum Bugfixen sollte mein Wissen auch noch reichen aber wie gesagt ist mein Steckenpferd das BE mit seinen Businessprozessen.

sh. schrieb:
Nur mal aus Interesse, was verdienst du den aktuell wenn du schreibst das du "bis auf 65k kommen könntest"?
Wenn man die Gehälter der Regular Devs so vergleicht so bin ich in der oberen Hälfte angesiedelt, viel mehr geht nicht in meiner Position daher bin ich grad am Senior-Titel verhandeln, damit dürfte sich die Grenze nach oben etwas erhöhen.
 
[ChAoZ] schrieb:
Im "klassischem" Scrum Team sind BE und FE Devs vertreten mir ihrere Spezialisierung, so habe ich das in jedem Unternehmen bisher erlebt.
Bei uns sind sämtliche Entwickler Fullstack (die einen mit, die anderen ohne Vorliebe für FE oder BE). Unsere User Stories sind auch nicht nach Frontend und Backend geschnitten, sondern schneiden das Feature “vertikal”. Ziel ist, dass jede US für sich ein deploybares Inkrement mit Mehrwert für den Kunden beschreibt. Dadurch vermeidet man auch Bottlenecks.
 
Zuletzt bearbeitet:
Ich finde auch, dass das die Idealvorstellung ist. Aber mit verschiedenen Trade-Offs.

Bei uns ist es leider so, dass wir meist recht viele Backendkaskaden haben um ein Feature auf die Straße zu bringen. Bei einem vertikalem Schnitt hätten wir auf unserem Board keinen schönen "Flow". Bei einem schlanken Backend ist das natürlich hinfällig.

Im Hinblick auf Qualität muss ich aber sagen, finde ich die Frontend Backend Spezialisierung trotzdem besser. Ich habe selten Leute gesehen (und das waren inzwischen schon ein paar :)) die in beiden Bereichen wirklich stark sind. Geben tut es das natürlich trotzdem.

Bin beispielsweise im Frontend bei unserer hinengineerten Angular Anwendung auch erst mal beschäftigt, wenn ich da notgedrungen was machen muss. Fühle mich im Backend wohler, wo ich keine Pixel schubsen muss, maximal Bytes 😉
 
Zurück
Oben