Fachwissen-Java-Spring Boot,Maven, usw ???

thor_norsk

Bekanntes Mitglied
Guten Tag,
ich hätte gerne gewusst, ob (Spring Boot + Maven + Git) ausreichend sind, um als Backend-Entwickler arbeiten zu können?
Muss man Java Script, HTML, CSS auch beherrschen? Oder Grundlagen sind ausreichend?
Da ich festgestellt habe, dass Spring Boot sehr umfangreich ist, und möchte gerne durch viele Online-Kurse viele Bereiche kennen lernen.
Die nächste Frage wäre, Scrum auch sinnvoll, bzw notwendig ?
Danke!
 

KonradN

Super-Moderator
Mitarbeiter
Als Backend Entwickler reichen in der Regel wenig Kenntnisse zu HTML, CSS und Java Script. Scrum ist im beruflichen Umfeld wichtig, aber da muss man vorab nicht viel lernen. Wenn ein Team nach Scrum vorgeht, dann wird man schon geführt und kommt so schnell rein - auch ohne irgendwelche Kurse.
 

White_Fox

Top Contributor
ich hätte gerne gewusst, ob (Spring Boot + Maven + Git) ausreichend sind, um als Backend-Entwickler arbeiten zu können?
Von Gradle solltest du vielleicht noch gehört haben.
Andererseits: Gradle ist so dermaßen umfangreich, daß dauert bis man da drin ist. Ich kann dir jedenfalls sagen, daß Bücher da nicht allzuweit helfen. Das muß man einfach machen.
Ich muß aber sagen: Es lohnt sich durchaus, sich damit zu beschäftigen. Es ist schon ziemlich geil, ein Repo einfach herunterzuladen und aus der Konsole heraus bauen zu können. Kein IDE-spezifischer Quatsch, keine Bibliotheken die du dir selber noch irgendwo zusammenklauben mußt, selbst das Java-SDK kannst du dort festlegen und mußt es nicht nochmal selber irgendwo installiert haben. Und du mußt nichtmal Gradle selbst installiert haben, da es mit einem eigenen Wrapper läuft.
 

Oneixee5

Top Contributor
Ich weiß nicht wie es in anderen Firmen ist aber von einem Backend-Entwickler erwarte ich richtig gute DB-Skills, denn da bleibt die meiste Zeit liegen. Mit ein paar Kenntnissen von JPA-Annotations wäre ich da nicht zufrieden.
 

KonradN

Super-Moderator
Mitarbeiter
Da wir jetzt schon Datenbanken genannt bekommen haben:
Das ganze Tooling im Bereich
  • Software Entwicklung (Sourcecodeverwaltung, Code Analysetools, ...)
  • Backend Betrieb (Docker & Co bis hin zur Cloud, diverse Software, ....)

Und auf sowas würde ich mich eher konzentrieren als auf Frontend Dinge.
 

thor_norsk

Bekanntes Mitglied
Danke!
Ich möchte auf jeden Fall ein Projekt mit Spring Boot (Backend) , und Angular, TypeScript(Frontend) entwickeln. um zu verstehen wie Full Stack funktioniert. Später werde ich nach und nach wie Konrad beschrieben hat, die wichtige Sachen lernen.
 

thor_norsk

Bekanntes Mitglied
Ich habe einen Online-Kurs gekauft, der Dozent wird alles erklären. Ich werde eine E-Commerce ... entwickeln. Sagen wir so, ich werde es versuchen.😂
 

KonradN

Super-Moderator
Mitarbeiter
Das hört sich doch nach einem vernünftigen Plan an. Da wünsche ich Dir viel Spaß und Erfolg.

Und dass da noch viel mehr kommt, ist natürlich klar aber wichtig ist, dass man anfängt und Schritt für Schritt voran kommt. Und ich denke, da hast Du einen guten Ansatz gefunden. Ich selbst würde nicht zwei Dinge auf einmal machen (Spring Boot Backend mit Java und dann Frontend mit Angular / TS) aber Dein Ziel ist ja explizit FullStack, d.h. du wirst da nicht wirklich drumherum kommen und es gibt eigentlich keine wirkliche Alternative (die in meinen Augen Sinn macht).
 

thor_norsk

Bekanntes Mitglied
Eine Frage habe ich noch ? Kann man das fertige Produkt auf eigenem Server laufen lassen ? Ich habe mehrere Linux-Server (Virtuell) ?
Zum Beispiel ich habe eine Online-Shop und soll auf meinem Server laufen. Ich möchte mir verdeutlichen wie ein Unternehmen alles auf eigene Server laufen lässt.
 

LimDul

Top Contributor
Anstelle das auf einem Server laufen zu sehen, würde ich da auf Docker setzen und das in Docker Container verpacken. Das ist ist (im Groben) so, wie es mittlerweile auch in Unternehmen gemacht wird. Da zwar mit Kubernetes / Openshift noch mal eine Komplexitätsstufe on Top, aber Docker reicht für den Einstieg.
 

KonradN

Super-Moderator
Mitarbeiter
Du kannst es problemlos auf einem Linux Server laufen lassen. So wie Du es auf dem Entwicklungsrechner aufrufen kannst, kannst Du es auch problemlos auf einem Linux Server starten.

So wie @LimDul schon erwähnte wird aber hier oft auf eine Virtualisierung gesetzt. So ist eine Lösung weit verbreitet, dass man es in einem Container verpackt um es dann mit Docker und Co auszuführen. Dies hat viele Vorteile wie z.B. Kapselung der Lösung aber auch die Möglichkeit, vorhandene Tools zum Deployment / Betrieb zu nutzen.

Wenn Du die Linux VM nutzt, dann wirst Du merken, dass es hier viele Dinge gibt, die Du machen musst:
  • die notwendigen Dateien müssen kopiert werden.
  • Du willst Standard Operationen durchführen: Start, prüfen ob es läuft, Stop, ...
  • Du willst ein Monitoring
  • Daten vom Betrieb müssen gesichert werden
  • ...

Aus meiner Sicht macht es aber auch Sinn, dass man gewisse Dinge auch manuell durchführen kann. Dass man versteht, das die Spring Boot Anwendung am Ende braucht. Dass man sich mit den möglichen Konfigurationen beschäftigt.

Was Du dann am Ende brauchst oder nicht brauchst ist dann egal. Du hast eine Grundlage mit Hilfe dessen Du dann beliebige Tools einsetzen kannst. (Ich habe Entwickler kennengelernt, die etwas entwickelt haben und am Ende ist etwas entstanden, dass diese nicht verstanden haben. Sei es ein Docker Image von einem Maven Quarkus Projekt oder bei Visual Studio irgendwelche "magischen MSI".

Nach meiner Erfahrung ist es halt oft so, dass Firmen eine bestehende Infrastruktur haben mit bestimmten Prozessen und da gliedert man sich schlicht ein (soweit möglich).
 

LimDul

Top Contributor
Aus meiner Sicht macht es aber auch Sinn, dass man gewisse Dinge auch manuell durchführen kann. Dass man versteht, das die Spring Boot Anwendung am Ende braucht. Dass man sich mit den möglichen Konfigurationen beschäftigt.

Was Du dann am Ende brauchst oder nicht brauchst ist dann egal. Du hast eine Grundlage mit Hilfe dessen Du dann beliebige Tools einsetzen kannst. (Ich habe Entwickler kennengelernt, die etwas entwickelt haben und am Ende ist etwas entstanden, dass diese nicht verstanden haben. Sei es ein Docker Image von einem Maven Quarkus Projekt oder bei Visual Studio irgendwelche "magischen MSI".
Das kann ich nur unterschreiben. Es ist oft essentiell zu wissen, wie was funktioniert um bei Problemen dann auch zu wissen wo man schauen muss. Deswegen auch mein Hinweis, Docker reicht - wenn man direkt mit kubernetes anfängt ohne die Grundlagen der Container zu verstehen, kopiert man nur lustig Konfigurationen hin und her und versteht nicht was man tut. Deswegen klein Anfangen.

Insbesondere ist das auch für das ganze Thema wichtig. Niemand erwartet von einem Berufseinsteiger all das was hier beschrieben wird. Erwartet wird aber die Bereitschaft Dinge zu lernen und sich damit zu beschäftigen.
 

thor_norsk

Bekanntes Mitglied
Ich arbeite mit Oracle VM. Ich interessiere mich selber dafür. Docker muss ich noch lernen.
Ich habe Weihnachten mein ganzes Geld ausgegeben für Online-Kurse 🤣 Docker, Spring Boot, Hybernate Professional , Cloud, usw.. wie gesagt viel zu tun🤣
 

thor_norsk

Bekanntes Mitglied
Außerdem habe ich aus VBox, Docker gemacht. 🤣 3 x Rechner: 1 Rechner ist fast immer im Betrieb, 2 Rechner als Ersatz , 3 Rechner im Schrank für alle Fälle. Ich werde 9 x Festplatten clonen, dann habe ich 3 x das gleiche für jeden Rechner
 

thor_norsk

Bekanntes Mitglied
Spaß bei Seite, ich möchte eigentlich einmal sehen wie Full Stack mit Java & Angular & Typescript funktioniert. Ich würde am liebsten nur Backend Entwickler werden. Ich habe jemanden kennengelernt, er war Projektmanager, er meinte entweder Backend oder Frontend, aber keine halbe Sachen. Er meinte alle Bewerber können angeblich beides und können es nicht. Er meinte konzentriere dich auf Backend oder Frontend.
Irgendwie finde ich er hatte recht, das ganze ist im Moment einfach zu viel zum lernen.
Danke für eure Unterstützung.
 

M.L.

Top Contributor
Java Backend rein schlagwort-mässig ( Quelle: Twitter/X (<- was immer man von der Plattform aktuell hält), "Sebastian Sigl", Tweet vom 11.12.23) :

"Backend Development Arsenal 2023:

Languages:
🔧 Java
🔧 Python
🔧 ...

Frameworks:
🌐 ...
🌐 Spring Boot (Java)
🌐 ...

Databases:
💾 PostgreSQL
💾 MySQL
💾 MongoDB
💾 Redis
💾 Oracle
💾 MS SQL Server
💾 Cassandra
💾 DynamoDB
💾 CockroachDB

ORMs:
🗃️ Hibernate (Java)
🗃️ ...

Microservices:
📦 Docker
📦 Kubernetes
📦 Istio
📦 ...

Cloud Providers:
☁️ AWS
☁️ Azure
☁️ GCP
☁️ IBM Cloud

API Design:
🔌 REST
🔌 GraphQL
🔌 gRPC
🔌 SOAP

DevOps Tools:
🛠️ Jenkins
🛠️ GitHub Actions
🛠️ GitLab CI/CD
🛠️ Ansible
🛠️ Terraform

Monitoring & Logging:
📊 Prometheus
📊 Grafana
📊 ELK Stack
📊 Datadog

What else? 👇"
 

LimDul

Top Contributor
Man sollte sich nur von dem Gedanken verabschieden davon alles in aller Tiefe zu kennen. Sehr viel meiner Arbeit besteht darin Google zu bedienen :)

Man kennt in der Regel die Bereiche, wo man aktiv ist intensiv (Bei mir JavaEE/Spring, unsere eigenen Frameworks, Docker). Und beim Rest, der für die Arbeit relevant ist (Bei mir Vaadin, Hibernate, etc.) hat man genug Grundwissen um damit klarzukommen und sich bei Bedarf in gewisse Punkte schnell einzuarbeiten. Und vom Rest, der für die Arbeit nicht relevant ist, hat man schon mal was gehört und kann es zuordnen.
 

thor_norsk

Bekanntes Mitglied
Meine Goldene Formel für Backend mit Java: Java EE + Spring Boot + Hibernate + Cloud(AWS) + Dokcer + VBox + Git / GitHub + Spring.
Damit hat man Alles was man braucht für den anfang. Allerdings mache ich mehr wegen Python sorgen. Python übernimmt den ganzen Markt. ich denke wenn ich mit den oben genannten sagen fertig bin, werde ich auch Python lernen.
 

thor_norsk

Bekanntes Mitglied
Paar Sachen haben mir bei Python nicht gut gefallen, wie z.B. Geschweifte Klammern durch Einrückungen zu ersetzen, oder noch schlimmer str() - Methode zur Typ Umwandlung. Java ist viel intelligenter. Ich denke die Leute lernen Python, weil Java zu schwer ist😂 .
 

Marinek

Bekanntes Mitglied
Ja, aber wenn es um darum geht was effektives zu entwickeln braucht man C & Assembler.
Gewagte These.

Vielleicht sollte man erstmal eine Main Stream Sprache und die dazugehörigen Technologien und Konzepte beherrschen, dann kann man, wenn man Zeit hat Assembler und C lernen.

Ich wage auch die These: Man kann hier im Forum auch Beiträge bearbeiten, dann muss man nicht in 5 Minuten hundert Postings schreiben. Und der Thread bleibt übersichtlich.
 

thor_norsk

Bekanntes Mitglied
Guten Morgen,
ist es richtig, dass man mit Hilfe der Annotationen Spring Boot Methoden aufrufen kann, die etwas tun ???
Z.B. @GetMapping("/students") , Server seitig aufgerufen , die auf Anfragen der User aus dem Browser reagieren ?
 

Marinek

Bekanntes Mitglied
Hi,

Annotationen rufen per se nix auf. Du kannst damit eine Methode auszeichnen, die dann in der Lage ist entsprechende HTTP Aufrufe zu bearbeiten.

In deinem Beispiel wird ein GET Endpunkt registriert.

Das ist extrem mächtig und ich empfehle dir entsprechende spring Doku zu lesen.
 

LimDul

Top Contributor
Kurzer Exkurs zu Annotationen
Annotationen sind erst mal nix anderes als "Tags" oder "Marker" die man an verschiedene Stellen setzen kann. Sie selber tun nichts, können aber von verschiedenen Dingen ausgewertet werden. Insbesondere kann man sie zur Laufzeit auswerten (siehe z.B. als Einstieg https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/AnnotatedElement.html oder https://www.baeldung.com/java-get-field-annotations)

Im Falle von Spring, wenn die Anwendung gestartet wird, sannt das Spring-Framework die gesamten Klassen nach Annotationen um damit dann Dinge zu tun. Klassen, die z.B. mit @Component annotiert sind, deren Instanzen werden in den ApplicationContext gepackt, um sie an andere Stelle wieder zu injection (@Autowired).
 

DefconDev

Bekanntes Mitglied
Lern erst einmal Java und SQL. Und dann such dir einen Job in dem Bereich. Der ganze Rest der hier empfohlen wurde ist absolut übertrieben und wirst du auch nie und nimmer lernen können ohne beruflichen Alltag.

Ich könnte noch Terraform, Ansible mit Azure hinzufügen zur Liste der Sprachen und Tools die man angeblich drauf haben muss als Entwickler aber wie willst du das ernsthaft lernen was damit möglich ist als Hobby Entwickler? Dafür braucht man einen beruflichen Alltag, mit Kollegen die einem auch helfen können wenn man mal nicht weiterkommt. Da kann dann auch mal ein Sysadmin-Kollege ganz nützlich sein, wenn DevOps Themen wie Azure/AWS anstehen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ReneKandler93 WANTED: Java Developer in Frankfurt und Düsseldorf Beruf: Java Entwickler - Aufgaben & Chancen 0
CMueller_must Ein Java-Gallier und überzeugter Kleinstunternehmer stellt sich vor Beruf: Java Entwickler - Aufgaben & Chancen 14
CMueller_must Chance auf Selbstständigkeit - Freigabe einer 2000-fach verkauften Java-Software Beruf: Java Entwickler - Aufgaben & Chancen 21
WerIstDerBoogieman? Nebenjob gesucht (Java / (Vue) JS / Python Beruf: Java Entwickler - Aufgaben & Chancen 2
S Auf Stellensuche: Worauf achtet ihr bei Jobanzeigen für Java- Entwickler? Beruf: Java Entwickler - Aufgaben & Chancen 97
B JavaScript mit Java kombinieren: So eher "eigentliche" Software-Entwicklung? Beruf: Java Entwickler - Aufgaben & Chancen 11
SaschaMeyer Was verdient man eigentlich als Java Softwareentwickler? Beruf: Java Entwickler - Aufgaben & Chancen 16
V Bewerbung Java Praktikum / Aushilfejob als Quereinsteiger Beruf: Java Entwickler - Aufgaben & Chancen 10
T Java selber beibringen - developerakademie Beruf: Java Entwickler - Aufgaben & Chancen 10
J Java / Programmier Tutor gesucht Beruf: Java Entwickler - Aufgaben & Chancen 14
bennet Java-Entwickler Gehalt? Beruf: Java Entwickler - Aufgaben & Chancen 22
R Umstieg Administration => Java-Entwicklung Beruf: Java Entwickler - Aufgaben & Chancen 1
cocoontop Wer hat bei SGD Java Programmierer gelernt, oder ist gerade dabei? Beruf: Java Entwickler - Aufgaben & Chancen 5
P Junior Java Consulting Vorstellungsgespräch Beruf: Java Entwickler - Aufgaben & Chancen 7

Ähnliche Java Themen

Neue Themen


Oben