# Null Durchblick in Java, Jobwechsel?



## NexSeminex (5. Feb 2009)

Hallo Java-Freunde!!!

ich habe ein sehr großes Problem! Ich habe mein Informatik-Studium mit einem 1.9 Schnitt abgeschlossen und hab immer ganz gut programmieren können, hauptsächlich mit C++ und C#. Mit Java habe ich bisher keine Erfahrungen sammeln können. 

So, nun habe ich diese Woche einen neuen Job angefangen, und musste von der mir bekannten MS Welt in die Java Welt wechseln. Wir programmieren, in dem ca. 50 Mann großem Betrieb mit Eclipse, RCP, Spring, Hibernate... und entwickeln Anwendungen sowohl für Server als auch für Clients.

Mich erschlägt das alles, es ist alles anders, die Entwicklungsumgebung ist gigantisch, das Framework unübersichtlich, es gibt so viele Frameworks, es gibt so viele APIs, alleine für GUI-Building swing, awt, jfaces, eclipse forms... das pluginbasierende RCP Konzept ist für mich ganz neu, Spring und Hibernate mit den vielen XML-Dateien, die deklarative Instanziierung über xml-Dateien, ich blick da einfach nicht durch. Sonst hat man immer mit new eine neue Instanz erstellt, nun muss ich das über Annoutations oder xml-Dateien machen, so was hab ich noch nie gesehen, die ganzen Dependensies, hunderte jar-Dateien und lauter verschiedene Versionen... 

Ich frage mich ob ich das schaff. Ich steh vor nem riesen Berg und weiß nicht weiter. Vielleicht sollte ich mir nen anderen Job suchen, ich weiß es nicht... aber eigentlich will ich nicht aufgeben. Nächste Woche kommt mein Chef aus dem Urlaub, dann werden meine Tätigkeiten besprochen...

Wie gehe ich nun am besten vor? Im Moment hab ich NULL Ahnung, riesen Angst und totale Verwirrung. Wie lange braucht man, um in die Java-Welt reinzukommen? Sind 2-3 Monate realistisch? Ist es wirklich so schwer, oder ist das nur am Anfang so? Ich hab auch Angst ohne Job darzustehen.  Hoffe ihr könnt mir ein paar Tipps geben, ich bin für alles offen.

Grüße


----------



## hdi (5. Feb 2009)

Hm was soll man dazu gross sagen?

Die Frage ist: Verstehst du es nicht oder interessiert es dich nicht? Wenn es dich nicht interessiert hast
du tatsächlich den falschen Job gewählt, bzw. schon das falsche Studium.

Und wenn es dich schon interessiert, aber du es zu schwer findest: Naja entweder du klemmst dich 
dahinter, oder du sagst erstmal "okay, dieser Job ist mir zu schwer" und kuckst dich woanders um.

Ich meine es gibt auch Jobs mit C++, also wenn du das gut kannst, heisst es ja nicht dass du ohne Job
dastehst. Als Informatiker kriegt man eigentlich schon schnell nen Job, die Bezahlung steht natürlich auf einem
anderen Blatt aber trotzdem.

Meine Empfehlung: Die Gefahr, dass du dich früher oder später mit Java auseinander setzen MUSST, ist
auf jeden Fall gegeben. Immerhin ist es sozusagen (!) eine Generation weiter als C++.
Ich sag nicht dass C++ ausstirbt, aber man weiss nie.

Auf jeden Fall gibt es heute 2 grosse Sprachen. Du kannst eine davon. Besser ist es, man kann beide.

Und klar in so einem Projekt kommt auch viel auf einmal, ich meine Java Application != Java Web Application,
und Spring/Hibernate/XML/JSP/EL das sind alles Dinge, die mit dem "normalen" Java nix zu tun haben
(Ich kenn mich mit den ganzen Begriffen wie J2EE, J2sonstwas etc nicht aus)

Aber solange sie dich nicht feuern, siehe es als Chance was neues zu Lernen?!

Ich meine diese Antwort ist eigentlich klar, dass weisst du ja wohl.. Niemand hier wird dir sagen 
"Ja stimmt das is alles doof lass es sein".

Bei konkreten Fragestellungen helfen immer Foren, wie zB dieses hier. Wir haben hier auch eine
Web Application Abteilung.[/code]

PS: Ich kann deine Situation übrigens persönlich nachvollziehen, ich habe seit 1 Monat einen
(wenn auch nur Werkstudenten-) Job, und da hiess es "für Java". Ich dachte cool ich mach seit 2 Jahren
Java und bin kein Anfänger mehr. Dann kam ich dahin und die machen auch Web Application
-> Was ist XML? .jsp? Noch nie gehört, wo sind hier die .java Dateien? Was ist ein Servlet? Die Klasse kenn
ich gar nich... usw.

Ich tue mich dort auch im Moment schwer, alles neu zu lernen weil mit dem Java, was ich kenne, hat das nix
zu tun. Aber ich hab jetzt schon viel gelernt, man muss nur am Ball bleiben...!!!


----------



## NexSeminex (5. Feb 2009)

Klar, Java ist weit verbreitet. Deswegen möchte ich es eigenltich versuchen. Auch wenn sie mich vielleicht nach 2 Monaten rausschmeisen, aber wenigstens hab ich dann 2 Monate Erfahrung... ich will eigentlich schon bleiben.

Mit Java grundsätzlich habe ich keine Probleme. Ich glaube Programmierer haben auch nicht wirklich mit einer Programmiersprache zu kämpfen. Es geht viel mehr um die Frameworks, die Entwicklungsumgebung und die Tools drum herum. Das ist mein Problem.


----------



## hdi (5. Feb 2009)

Dieses Problem hat aber jeder in der IT-Entwicklung. Dieses Gebiet wächst und ändert sich zu schnell
als dass man sagen kann "ich kann jetzt alles, ab jetzt wird alles gut" 

Du lernst ständig Neues. In 5 Jahren wird C++ durch pow(C,2) ersetzt und Java durch Mallorca.

Dann stehst du wieder da und kannst "nix". Aber das macht diesen Beruf aus: Du lernst keine Sprache,
auch keine Frameworks oder sonst was. Du lernst, neues zu lernen indem du altbekanntes abstrakt darauf anwendest.

Und die tatsächlichen Projekte, die du machst, machst du eher nebenbei.

Aber das haben sie dir doch in der Uni beigebracht oder? Also alles in allem: MAch dir mal nicht so viele
Sorgen, wenn der Arbeitgeber sieht, dass du dich reinarbeitest, feuert er dich nicht. Weil auch er weiss,
dass er mit einem Java-Super-Mega-Profi nix mehr anfangen kann in ein paar Jahren (überspitzt dargestellt),
wenn das nur ein Fachidiot ist und er immer auf seinem aktuellen Status bleibt (auch wenn der vllt jetzt noch gut ist)


----------



## Wildcard (5. Feb 2009)

NexSeminex hat gesagt.:
			
		

> Mit Java grundsätzlich habe ich keine Probleme. Ich glaube Programmierer haben auch nicht wirklich mit einer Programmiersprache zu kämpfen. Es geht viel mehr um die Frameworks, die Entwicklungsumgebung und die Tools drum herum. Das ist mein Problem.


Eben. Das hast du in jeder Sprache auch wenn die Java Welt wohl die größte ist. Kein Grund die Flinte ins Korn zu werfen, auch deinem Arbeitgeber ist hinreichend bekannt das Absolventen noch keine Softwareentwickler sind, auch wenn viele meinen es zu sein.
Interessant ist einfach, wie schnell du lernst, ob irgendwann der Groschen fällt, und ob du den Schneid hast dich da (zur Not auch alleine) durchzukämpfen.
Üblicherweise wird man dir kleine Tasks an einem bestehenden Projekt, oder ein (kleines) eigenes Projekt geben. Dann hast du Zeit dich nach und nach vertraut zu machen.
All die Frameworks und Techniken zu meistern wird dich den Rest deines Lebens kosten, aber man lernt in diesem Beruf eben niemals aus (das ist ja gerade der Reiz).
Am Anfang würde ich dir empfehlen nicht sofort nach 8 Stunden abzuschalten und den gedanklichen Reset zu drücken. Zwar wird niemand von dir verlangen können mehr als dir bezahlt wird zu arbeiten, aber dein Schaden wird es sicherlich nicht sein am Anfang eine steile Lernkurve und viel Einsatz zu zeigen. Aber das muss natürlich jeder für sich selbst entscheiden.
Aber keine Sorge, auch wenn der Berg am Anfang riesig erscheint, solange du an der Materie interessiert bist, macht es irgendwann klick und du verstehst den Sinn all dieser Frameworks, kannst sie kategorisieren, abgrenzen und das richtige Werkzeug für die richtige Aufgabe wählen.


----------



## Ebenius (5. Feb 2009)

Ich hab fast auf den Tag genau vor acht Jahren einen Job angefangen, GUI-Programmierung (Swing) mit Java. Hatte bis zu dem Tag noch nichts mit Java zu tun gehabt. Zwei Wochen habe ich gebraucht, dann konnte ich einige Sachen selbst machen. Nach nochmal zwei Wochen hatte ich schon ungefähr einen Plan von dem was ich da tu.  Ein halbes Jahr später habe ich meinen Sun Certified Programmer fast fehlerfrei bestanden... Zwei Monate halte ich für realistisch.

Allerdings hatte ich es nicht so schwer wie Du es gerade beschreibst. Damals habe ich mich in Java SE und Swing eingearbeitet. Ohne viel Zeug drum herum. Dir empfehle ich etwas ähnliches: Such Dir einen Bereich der nah an der Java SE bleibt und arbeite Dich dort ein. Es bringt Dir ─ wie Du selbst siehst ─ gar nichts, alles auf einmal lernen zu wollen.

Was die ganzen zusätzlichen APIs angeht: Verschaff Dir einen groben Überblick, was wozu da ist. Mach Dir vielleicht eine kleine Übersicht auf Papier mit allen beteiligten Technologien und beschreib kurz, was sie tun und wofür sie grob da sind. Den Rest lernst Du auf Bedarf. Wenn Du konkrete Fragen hast, dann frag Kollegen, Freunde und uns.

Und aufgeben gibt's nicht. Du hast schließlich ein Diplom und kannst programmieren; so schwer kann Java also nicht sein. ;-) Außerdem wirst Du (gerade wenn Du schon C# machen musstest) die Sun-API-Docs lieben lernen.

Ebenius


----------



## didjitalist (5. Feb 2009)

normalerweise geht man davon aus, dass ein neuer mitarbeiter ca. 6 monate braucht, bis er anfängt, wirklich produktiv zu arbeiten. lass dich nicht davon abschrecken, dass du nicht auf anhieb verstehst, was da für frameworks am werk sind und wie die alle zusammen arbeiten.

ging uns wahrscheinlich allen so, als wir auf die arbeitswelt losgelassen wurden. es ist halt das praktische wissen, das einem fehlt. aber gerade als informatiker sollte es einem ein leichtes sein, sich in die ganzen techniken reinzufuchsen.

die ganzen kollegen, die sich aus deiner sicht so toll auskennen, hatten halt bereits diese zeit. oder sie waren sogar an der einführung solcher systeme beteiligt und kenn sich natürlich 1A damit aus.

kenns aus meinen jobs selbst. da hat man vor jahren mal irgendwelche frameworks aus dem boden gestampft, die zwischenzeitlich vier mal refaktoriert und zwanzig mal erweitert wurden und mittlerweile entsprechend komplex sind. die kommen einem selbst übersichtlich vor, weil man die hälfte davon selbst gebaut hat, aber ein neuer mitarbeiter braucht seine zeit, bis er sich dran gewöhnt hat.

ich arbeite neue mitarbeiter üblicherweise in unsere java systeme ein und glaub mir, du bist nicht allein


----------



## byte (5. Feb 2009)

didjitalist hat gesagt.:
			
		

> ging uns wahrscheinlich allen so, als wir auf die arbeitswelt losgelassen wurden. es ist halt das praktische wissen, das einem fehlt. aber gerade als informatiker sollte es einem ein leichtes sein, sich in die ganzen techniken reinzufuchsen.


Naja, aber das was er schreibt, klingt schon extrem hart. Spring und Hibernate sind ne Welt für sich. Und auch Eclipse RCP ist nicht grade im Vorbeigehen gelernt. Wenn ich mir dazu noch vorstelle, dass ich nicht mal Java aus dem FF beherrsche geschweige denn mich mit der IDE auskenne... :roll: 
Das ist in meinen Augen schon eine extreme Herausforderung. Natürlich kann man die Grundlagen jedes dieser Frameworks in wenigen Wochen lernen. Aber alles auf einmal ist schon hart. 

Ich würde auf jeden Fall mit offenen Karten spielen und Deinem Chef sagen, dass Du noch keine Kenntnisse in diesen ganzen Sachen hast. Ich gehe mal davon aus, dass bei der Bewerbung nicht gelogen hast und der Chef Deine Vorkenntnisse kennt. Dann kannst Du mit ihm auch klären, wie Du Dich am besten in die Sachen einarbeiten kannst. Ich würde Dir auf jeden Fall raten, in allen Frameworks erstmal die einführenden Tutorials zu machen, damit Du erstmal einen Überblick bekommst, wie es grundsätzlich funktioniert.


----------



## hdi (5. Feb 2009)

> Ich würde auf jeden Fall mit offenen Karten spielen und Deinem Chef sagen, dass Du noch keine Kenntnisse in diesen ganzen Sachen hast.



Vooorsicht  :noe: Das klingt schnell wie "ich kann das nicht, mähh und das is alles voll zu schwer mähhhh".
Klar, du sollst nicht mit nem Schild "King in da house" um den Hals durch das Büro laufen, aber wenn du eine
Aufgabe bekommst, schau dass du es hinkriegst. Natürlich kannst du Leute fragen, aber da wird wohl nicht
direkt der Chef ein Ansprechpartner sein, sondern ein Kollege. 

Wie gesagt: Mach einfach. Du wirst nicht gefeuert. Aber zeig nicht, dass du dir das selbst nicht zutraust.
Also nicht von vorneherein sagen "aber ich kann das nicht", sondern einfach beginnen. Und wenn der Chef
dich nach dem status fragt, dann kannst du sagen, dass du noch dabei bist dich reinzuarbeiten oder so.


----------



## NexSeminex (5. Feb 2009)

@hdi, Wildcard, Ebenius, didjitalist, byto
Danke erstmal für die Hilfe! Hab vorhin den PC erstmal abgeschaltet um etwas runter zu kommen. Danke für die vielen und ausführlichen  Antworten. Es ist schon ne große Aufgabe, die ich im Moment vor mir habe. Aber ich werde einfach weiter fleißig sein, jeden Tag ein bißchen länger Arbeiten und nen halben Tag am Samstag. Ihr habt mir wieder etwas Mut gemacht. Wenn meine Kollegen und mein Chef sieht das ich mich reinhäng, dann werden sie mir bestimmt meine Zeit lassen.

Ein Kollege hat mir am Dienstag gesagt, dass vor allem Web-Services, Spring und Hibernate die zentralen Themen sind. Könnt ihr mir da, irgendwelchen Bücher empfehlen? Ein deutsches wäre für den Anfang sicherlich besser geeignet.

Grüße


----------



## hdi (5. Feb 2009)

Dieses kostenlose e-Book ist generell ziemlich gut um Java zu erlernen. 
Für dich ist wohl im Moment Kapitel 20 am hilfreichsten.


----------



## didjitalist (5. Feb 2009)

byto hat gesagt.:
			
		

> Naja, aber das was er schreibt, klingt schon extrem hart. Spring und Hibernate sind ne Welt für sich. Und auch Eclipse RCP ist nicht grade im Vorbeigehen gelernt.



jetzt nicht falsch verstehen, aber nen mix aus osgi clients und hibernate/ejb architektur ist in verdammt vielen bereichen nicht mehr ungewöhnlich. klar erschlägt einen der ganze krams, aber man soll ja auch nicht aus dem stegreif plötzlich alles können. als einsteiger bekommt man es üblicherweise mit kleinen teilaufgaben zu tun. das framework ist kompliziert, aber man bekommt tools an die hand, mit denen der krempel managebar wird. wichtig dabei ist nur, dass man seine kollegen fragt, wie die systeme funktionieren.

auch solche "standard" tools wie hibernate und eclipse rcp werden in jeder firma anders eingesetzt. es ist überhaupt nicht schlimm, nachzufragen, wie etwas funktioniert. ganz im gegenteil. mir kommt es immer verdächtig vor, wenn ein neuer mitarbeiter wenig fragen stellt. ich weiss, dass ein neueinsteiger unsere system schlicht nicht verstehen kann, ohne fragen zu stellen. und ich erwarte auch, dass er fragen stellt. so blöd sie im selbst erscheinen mögen.


----------



## Gelöschtes Mitglied 5909 (5. Feb 2009)

Keine Panik und nur die Ruhe. Das kommt alles mit der Zeit. Stress dich nicht selber, das bringt überhaupt nichts. Ich habe im Praxissemester ca. 2-3 Monate gebraucht um einen Teil der oben genannten Frameworks kennen zu lernen (und nein ich kann immernoch nicht alles). Mir ging es am anfang ähnlich wie dir und ich hatte Panik, da ich nicht wusste wie es weitergeht und was mein Arbeitgeber von mir erwartet. Nimm dir die Zeit und verschaffe dir zuersteinmal einen Überblick, was du wozu gebrauchen kannst, warum es überhaupt verwendet wird. Dann mache kleinere Beispiele (ohne dass sie einen Sinn haben müssen). Im nächsten Schritt kannst du dir dann überlegen wie diese ganzen techniken/Frameworks zusammenarbeiten und warum ihr sie in der Firma einsetzt. Wenn du den Überblick hast, kannst du dich in den bestehenden Code einlesen und du wirst sehen dass es klappt, auch wenn du am Anfang noch schwierigkeiten hast. Mit der Zeit wird das ganze besser und immer klarer (so erging es mir zumindest). Du wirst auch Fehler machen, aber die macht jeder. Sie sind schließlich dazu da damit man daraus lernen kann. 

Ich bin mir ebenfals sicher dass dir dein Chef und deine Kollegen unterstützen werden, denn jeder weiß wie schwer das am Anfang ist. Und noch mal: nur die Ruhe


----------



## byte (6. Feb 2009)

didjitalist hat gesagt.:
			
		

> jetzt nicht falsch verstehen, aber nen mix aus osgi clients und hibernate/ejb architektur ist in verdammt vielen bereichen nicht mehr ungewöhnlich.


Nein, ungewöhnlich sicher nicht. Aber ändert nix daran, dass die Materie komplex ist, grade für jemanden der grade erst mit der Sprache anfängt und sich auch mit der IDE noch nicht auskennt.


----------



## ARadauer (6. Feb 2009)

hab mir jetzt nicht alles durchgelesen... aber meine meinung: klar gibts in java viele frameworks und apis... Eclipse, RCP, Spring, Hibernate das ganze zeug kann schon verwirrend sein. ABER: du muss ja von heute auf morgen nicht alles beherschen und sofort mit dem ganzen stack eigenen projekte erstellen oder? da kommst du mit der zeit schon rein...


----------



## Gast (6. Feb 2009)

Warum haben sie das ganze wohl JAVA genannt?

Eben, weil das mit ner gemütlichen Tasse Kaffee gleich ganz anders aussieht.


----------



## hdi (6. Feb 2009)

Oder 1 Woche Urlaub auf einer Insel


----------



## Gast (6. Feb 2009)

> Oder 1 Woche Urlaub auf einer Insel


Thumbs up


----------



## maki (6. Feb 2009)

hdi hat gesagt.:
			
		

> Oder 1 Woche Urlaub auf einer Insel


Naja, Indonesien ist nicht besonders "locker", mal von Bali abgesehen.


----------



## hdi (6. Feb 2009)

Indonesion ist saulocker bei 50+ Euro in der Tasche in der richtigen Gasse.
...Sorry...  :roll:


----------

