Java-Anfänger möchte professionell coden lernen

Diskutiere Java-Anfänger möchte professionell coden lernen im Allgemeine Java-Themen Bereich.
T

ThatCodeGuy

Hey Leute,

bin neu hier und suche nach hilfreichen Tipps und Vorschlägen mich selbstständig neben meinem Studium in der professionellen Java Softwareentwicklung weiter zu bilden. Bisher habe ich bereits einige Java Grundlagen gelernt (Objektorientierte Programmierung, AWT/Swing, RMI, Threads). Jetzt möchte ich unabhängig von meinem Studium weiter machen und bin mir nicht sicher wo ich bei all den Möglichkeiten am besten anfangen sollte. Mein Ziel wäre es an professionellen Softwareprojekten teilnehmen zu können.

Danke für alle Antworten!
 
T

temi

Mein Ziel wäre es an professionellen Softwareprojekten teilnehmen zu können.
Die Teilnahme an OpenSource Projekten wäre dafür eine gute Gelegenheit.

Du solltest dich vorher allerdings noch etwas mit Git oder Versionsverwaltungen im Allgemeinen beschäftigen, so noch nicht geschehen.
 
L

LimDul

Ich würde die Stärke von Java eher im Bereich der Webanwendungen als der Desktop-Anwendungen sehen.

Sprich anstelle von AWT/Swing eher mal Spring Boot und Co ansehen.
 
M

M.L.

Softwarearchitekturen und -qualität könnte man als Stichworte auch noch nennen.
 
L

LimDul

Grundsätzlich ist das auch ein Prozess, der nie abgeschlossen ist. Zum einen entwickeln sich die Frameworks und die Technologie weiter. Und auch bezüglich Methodiken, Softwarequalität, Architektur hat man eigentlich nie ausgelernt. Ich bin mittlerweile über 10 Jahre beruflich in dem Bereich unterwegs und lerne regelmäßig neues.

Lernen muss auch durch Doing, reine Theorie hilft und ist auch notwendig - aber wenn man die Dinge nicht anwendet bleibt das alles graue Theorie. Entweder wie schon geschrieben, bei einem Open Source Projekt mitarbeiten oder sich ein privates Projekt suchen.
 
I

insert2020

Ich bin mittlerweile über 10 Jahre beruflich in dem Bereich unterwegs und lerne regelmäßig neues
Das ist iwie bedauerlich. Nicht, dass man zwischendurch noch etwas Neues lernt, sondern, dass man nach 10 Jahren nicht bereits alles gelernt hat (Modelle, Konzepte, Best Practices...). Man sollte meinen, die Informatikerausbildung sei für irgendetwas nützlich.

Und mit solchen Leuten hat man auch noch auf dem Arbeitsmarkt zu konkurrieren. :( Ich weiß das Sozialkompetenzen für Human Resourceler alles bedeuten, aber das fachliche Kompetenzen mittlerweile der beruflichen Laufbahn schädlich sind, war mir neu.
 
I

insert2020

Ok, ich gebe zu, dass einige neue Frameworks, mit tausenden von Klassen, nicht gerade einfach zu lernen sind... Andrerseits sehe ich das Problem bei den "Erschaffern" solcher Frameworks... sprich: Manches könnte einfacher, aber dennoch anpassbar bleiben.

Oder anders: Warum so komplex?
 
H

httpdigest

Es ist sehr sehr viel schwerer, Dinge einfach zu machen, statt komplex/kompliziert.
Gibt auch ein schönes Zitat von Albert Einstein dazu.
Any intelligent fool can make things bigger and more complex. It takes a touch of genius - and a lot of courage - to move in the opposite direction.
Meistens sind die Beweggründe, warum etwas kompliziert wird, auch nicht fehlendes Wissen, sondern diverse externe Faktoren und meist fehlende Disziplin und auch wie im Zitat genannt, fehlender Mut.
 
J

JustNobody

Also diese Idee, nach x Jahren "ausgelernt" zu haben ist für mich nicht wirklich nachvollziehbar. Ok, als Straßenfeger hast Du das vielleicht, aber selbst da musst Du dann plötzlich mit neuen Geräten umgehen können oder neue Umweltauflagen "lernen" ...

Informatik ist eine sehr junges Fachgebiet. Daher ist da noch einiges mehr an Dynamik enthalten. Aber bei fast allen Fachbereichen ist es so, dass man ständig Neues dazu lernen sollte.

Wie hätte ich vor >20 Jahren "ausgelernt" haben können? Schau nur einmal, was in den letzten 20 Jahren alles entstanden ist. (Und das ist nur die Zeit nach dem Studium. Im Studium gab es noch kein UML und so ... Da hatte Booch gerade mal seine Booch Method vorgestellt die dann von unserer Uni auch direkt mit aufgegriffen wurde ...

Oder Microservices, die jetzt so groß bei Java kommen ... (Etwas, das es vom Ansatz her schon lange bei Windows gab. Das war bei Microsoft mit WCF lange die Idee ... Docker und so gab es da halt leider noch nicht ...)

Man kann sich natürlich überlegen: Braucht man das alles? Müssen Computer weltweit vernetzt sein? Muss man Geräte dabei haben, die immer vernetzt sind. Müssen diese schnell vernetzt sein oder was für Übertragungsraten braucht man? Nur um ein kleines Teilthema zu nehmen.

Aber spätestens bei Dingen, in denen High Tech eingesetzt wird, merkt man den Fortschritt. Moderne Simulationen, die heute laufen, waren lange undenkbar ...

Aber zurück zum Thema Neues lernen:
Eine gute, solide Ausbildung vermittelt einem aber die Grundlagen, die es einem ermöglichen, die tollen neuen Kühe, die dann jedes Jahr durchs Dorf getrieben werden, schnell zu verstehen, zu analysieren und ggf. auch umzusetzen.

Was die Komplexität angeht: Die Komplexität ist nun einmal gegeben. Die kann man nur begrenzt verstecken. Ansätze dazu gibt es viele. Kannst ja mal einfach nach Low-Code und No-Code Development schauen. Die Idee dahinter ist aber auch nicht wirklich neu und gab es schon in diversen Ausprägungen früher. Speziell im Bereich Datenbank-Entwicklung gab es ein paar Produkte...

Komplexität zu verstecken funktioniert aber nur sehr bedingt. Man kann Komplexität beseitigen durch Einschränkungen. Wenn ich klare Vorgaben mache, was geht und was eben per Design nicht geht, dann kann man recht weit kommen. Aber problematisch wird es, sobald man eben solche Vorgaben nicht hin nehmen will. Dann fahren solche Konstrukte sehr schnell gegen die Wand und führen sich selbst ad absurdum. Das war zumindest bei diversen Lösungen die Erkenntnis zu der ich gekommen bin.
 
L

LimDul

Das ist iwie bedauerlich. Nicht, dass man zwischendurch noch etwas Neues lernt, sondern, dass man nach 10 Jahren nicht bereits alles gelernt hat (Modelle, Konzepte, Best Practices...). Man sollte meinen, die Informatikerausbildung sei für irgendetwas nützlich.

Und mit solchen Leuten hat man auch noch auf dem Arbeitsmarkt zu konkurrieren. :( Ich weiß das Sozialkompetenzen für Human Resourceler alles bedeuten, aber das fachliche Kompetenzen mittlerweile der beruflichen Laufbahn schädlich sind, war mir neu.
Wenn es dich tröstet, wir sind keine Konkurrenten auf dem Arbeitsmarkt, wir bewegen uns in unterschiedlichen Segmenten :)

Aber davon auszugehen, dass man irgendwann alles gelernt zu haben ist unglaublich naiv. Die ganzen Sachen entwickeln sich weiter, es gibt neue Erkenntnisse. Zudem ist das Feld so vielfältig, dass man gar nicht alles wissen kann. Alleine was an Tools und Frameworks gibt, das ist im beständigen Wandel. Wichtig ist, dass man immer offen für neues ist und in der Lage ist neue Informationen aufzunehmen und zu verarbeiten. Das schlimmste sind Leute, die meinen alles zu wissen und sich nichts sagen lassen wollen. Den niemand ist perfekt und es gibt für jedes Problem mindestens 2 Lösungen, meist noch mehr. Und die besten Lösungen findet man in Diskussionen über unterschiedliche Ansichten.

Bezüglich der Methodiken und Praktiken - da ist natürlich weniger Bewegung drin, als bei den Tools - aber auch da bewegt sich was. Und was da wichtig ist - Theorie ist das eine, Praxis was ganz anderes. Vor allem im Bereich wo ich unterwegs - Projektarbeit mit Mitarbeitern des Kunden im Kundenumfeld. Was beim einen Kunden wunderbar funktioniert kann beim anderen dazu führen, ein Projekt gegen die Wand zu fahren. Da muss man für das Umfeld und die Leute das ideale finden. Und da sind die Methodiken ein Baukasten, aus dem man sich bedient - aber was am besten klappt muss man im konkretne Projekt erarbeiten und lernen.

Und die Aussage "man hat alles gelernt" zeigt eigentlich, dass man nichts gelernt hat. Den eine der Aussagen des Agilen Manifests lautet:
In regelmäßigen Abständen reflektiert das Team,
wie es effektiver werden kann und passt sein
Verhalten entsprechend an.
Wer agile Softwareentwicklung verstanden hat, weiß das das ein immer währender Prozess ist seine Arbeitsweise und Methodiken zu verbessern - was eben heißt, immer reflektieren und immer bereit sein neues zu lernen und auszuprobieren.
 
mihe7

mihe7

Oder Microservices, die jetzt so groß bei Java kommen ... (Etwas, das es vom Ansatz her schon lange bei Windows gab. Das war bei Microsoft mit WCF lange die Idee ... Docker und so gab es da halt leider noch nicht ...)
Ich würde sagen, man hat einen uralten Ansatz genommen (die ganzen unixoiden Systeme basieren auf der Idee, kleine Prozesse miteinander kommunizieren zu lassen), auf Netzwerke übertragen und dem ganzen einfach einen coolen Namen spendiert :)
 
W

White_Fox

Ich bin etwas verwundert über die Idee, je ausgelernt haben zu können. Gerade in technik- und naturwissenschaftlichen Bereichen sollte man wissen, daß es kein Auslernen geben kann.
Irgendwer hat eine Idee, setzt sie um und wirft sie auf den Markt oder stellt sie frei zur Verfügung, das inspiriert drei andere zu neuen Ansätzen, und schon ist wieder etwas möglich was vorher einfach noch nicht mach- oder gar denkbar war.
Solange unsere Zivilisation halbwegs funktioniert, wird das auch nicht aufhören.
 
N

NoName2

Es geht darum, sich in übersehbarer Zeit eine akzeptable Wissensbasis zu verschaffen. Von "ausgelernt haben" hat keiner gesprochen, und deswegen ist es, wie es mein Vorredner @insert2020 bereits schrieb, eben bedauerlich, nach 10 Jahren immer noch nicht sinnvoll, strukturiert und konzeptionell programmieren zu können. Und der Rest ist eben, wir machen es so kompliziert wie möglich, um möglichst vielen den Einstieg zu erschweren. :)
 
T

temi

Von "ausgelernt haben" hat keiner gesprochen, und deswegen ist es, wie es mein Vorredner @insert2020 bereits schrieb, eben bedauerlich, nach 10 Jahren immer noch nicht sinnvoll, strukturiert und konzeptionell programmieren zu können.
Wo steht denn oben irgendwas davon, dass jemand "nach 10 Jahren immer noch nicht sinnvoll, strukturiert und konzeptionell programmieren kann"?

Die Aussage war, schlicht und einfach: "Ich lerne, auch nach 10 Jahren, regelmäßig neues". Was ist daran bedauerlich?

BTW: Ist Tobias hier jetzt mit zwei Accounts gleichzeitig unterwegs?
 
M

Meniskusschaden

Von "ausgelernt haben" hat keiner gesprochen
Na ja, das hier hört sich aber schon sehr danach an:
Das ist iwie bedauerlich. Nicht, dass man zwischendurch noch etwas Neues lernt, sondern, dass man nach 10 Jahren nicht bereits alles gelernt hat (Modelle, Konzepte, Best Practices...).
und deswegen ist es, wie es mein Vorredner @insert2020 bereits schrieb, eben bedauerlich, nach 10 Jahren immer noch nicht sinnvoll, strukturiert und konzeptionell programmieren zu können.
Wie kommt ihr denn darauf, dass man das nach zehn Jahren nicht kann? Es gibt viele Leute, die das sehr wohl können. Die haben aber trotzdem noch nicht ausgelernt. Jedenfalls nicht, wenn sie es auch noch in zehn weiteren Jahren können wollen.
 
J

JustNobody

Multiple Persönlichkeit...
Eher gesperrten Account wäre meine Vermutung. Oder durch die vielen Sperren ist es nun schon eine feste Angewohnheit geworden, dass er ständig neue Account erstellt....

Das wäre dann ein tolles Beispiel, dass auch Menschen geprägt werden können. Eine motorische Prägung, die dazu führt, dass er ständig oder in bestimmten Situationen einen neuen Account erstellt :)
 
Thema: 

Java-Anfänger möchte professionell coden lernen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben