Vor einiger Zeit hat The Server Side mich gefragt, was ich einem Newbie in Sache Java Enterprise Applications beibringen würde. Ok, sie haben nicht mich gefragt, sondern die allgemeine Leserschaft. Hier ist meine Antwort, in der groben Reihenfolge der Wichtigkeit, nicht unbedingt in der Reihenfolge, in der die Themen angegangen werden:
- Lesen, Verstehen, Kritisieren möglichst auf englisch. Im Internet findet man alles und zwar meist auf Englisch. Die Obskursten Ansichten werden vehement vertreten, und was wahr oder plausibel ist, hat oft nichts mit dem zu tun was im Internet immer und immer wieder wiederholt wird, zum Beispiel wenn es darum geht, wie man ein Passwort Hash erzeugt und speichert. Es ist daher essentiell mindestens technische Dokumentation auf englisch lesen und verstehen zu können. Als Ãœbung gäbe es regelmäßig die Aufgabe einen (englischen) Text zu lesen und zusammenzufassen. Typischerweise sicherlich Texte, die auch für andere Lernziele wichtig sind. Für die Englischkenntnisse würde ich gegebenenfalls Sprachlehrgänge, oder Sprachurlaube empfehlen.
- Kommunikation, Präsentation und dergleichen. Die schwierigsten Probleme in Projekte sind zwischenmenschlicher Natur, schließlich lässt der Rest sich meist auf die 4 Grundrechenarten zurückführen. Dies würde ich einem professionellem Trainer für diese Dinge überlassen.
- Recherche und Analyse, d.h. Informationen aus Internet und Büchern, beziehungsweise Personen zu extrahieren: Wie finde ich das passende Framework für eine Anwendung? Was will der Kunde wirklich? Lehren würde ich dies durch Rechercheaufgaben und gemeinsame Analysegespräche mit Kunden.
- Fragen: in Foren, aber auch im direkten Gespräch ist es extrem hilfreich, wenn man halbwegs klar formulieren kann was man erreichen möchte, was man getan hat um es zu erreichen, und in welcher Form man das Ziel nicht erreicht hat.
- Die Grundlagen von Datenbanken, wohl an Hand von Oracle. Die ersten Grundlagen (Normalisierung / SQL) würde ich gemeinsam erarbeiten und ergänzend die folgenden Quellen an die Hand geben.
- Java: Das ist der einfachste Teil dank der hervorragenden Ressourcen, die SUN selbst zur Verfügung stellt:
- Ein grober Ãœberblick über was es sonst noch so gibt:
- Protokolle und Dateiformate: http, ftp, telnet, html, xml ...
- Sprachkonzepte: Objekorientiert, Prozedural, Funktional ...
- Tools: IDE, UML, Office
- ...
Wenn wir mit diesen Dingen halbwegs durch sind, sollte der Neuling in der Lage sein:
- Programmieraufgaben in Projekten zu übernehmen
- Sich in ersten Ansätzen zu orientieren und zu spezialisieren (Datenbank, Web, Fat Client, Mobile).
- Sich in neue Themen, APIs oder Programmiersprachen einzuarbeiten.
Talks
Wan't to meet me in person to tell me how stupid I am? You can find me at the following events: