hi Daniel
vieles ist schon gesagt worden, hier etwas anschaulicher:
um ein kleines programm in java schreiben zu können, das den inhalt einer textdatei ausliest und abhängig vom inhalt eine zweite datei mit daten befüllt, braucht man in etwa eine woche lernzeit.
um das ganze noch mit einer hübschen grafischen oberfläche zu versehen nochmal eine bis zwei wochen (je nachdem, wie hübsch).
das ist damit gemeint, wenn man nur den low-level-teil von java betrachtet. um die beiden programme erstellen zu können, muss man relativ wenig über java wissen. es reicht, die syntax halbweg verstanden zu haben und sich ein paar programmierbeispiele für ähnliche aufgaben anzusehen.
kommen wir in die oberen bereiche: du musst eine anwendung erstellen, die auf mehrere server verteilt ist. es gibt dabei ca. 2000 benutzer, die praktisch gleichzeitig mit dem system arbeiten müssen. pro jahr fallen ca. 300 GiB an Daten an, die sowohl in normalen strukturierten Daten als auch in Form von Dokumenten auftreten. die anwendung ist sehr komplex und hat mehrere hundert teilweise sehr unterschiedliche funktionen - auch mit schnittstellen zu anderes systemen, wobei die schnittstellen teilweise standardisiert (xml etc.), teilweise propriätär sind (auch binär vercoded). am projekt arbeiten ca. 5 entwickler vollzeit und nochmal 5 - 10 entwickler teilzeit (entwickeln also nur einzelne module auf werkvertragsbasis).
damit du diese anwendung als chefentwickler bzw. software-architekt betreuen kannst, hilft dir das bischen wissen vom low-level-java gar nix.
- du musst abwägen, ob und welches bestehende framework (z.b. spring) du einsetzen willst. dazu musst du die vor- und nachteile dieser frameworks kennen
- datenbankschnittstellen haben ihre tücken, persistenzframeworks wie hibernate aber auch.
- im massiven multiuser-einsatz solltest du ganz genau wissen, wie die javavm intern mit threads umgeht. sonst wird deine anwendung entweder extrem langsam oder sehr fehlerhaft arbeiten.
- du wirst dich mit thread-pooling, session-pooling etc. auseinandersetzen müssen
- du wirst dich für bestimmte xml-bibliotheken entscheiden müssen, jede mit vor- und nachteilen
- ein dokument in eien blob in der datenbank zu schreiben, ist nicht weiter schwer. 100 dokumente gleichzeitig von verschiedenen benutzern zu verarbeiten, ohne dass diese sich gegenseitig die arbeit überschreiben, erfordert etwas mehr an überblick
ich vermute mal, dass der chefentwicler für so ein system mind. ein jahr an erfahrung mit den unterschiedlichsten bereichen in java benötigt - abgesehen von einer fundierten ausbildung über die basis der sprache (dazu gehört auch, die interna der java-vm zu kennen). es gibt natürlich leute, die sowas nebenbei als hobby machen. otto-normalverbraucher wird das aber eher nicht nebenbei machen können.
ich denke mal, dass war gemeint …
lg
erwin