Vom Absolvent zum Java Software Craftsman

Du stehst kurz vor dem Abschluss deines Studiums / deiner Ausbildung! Sehr gut! Deine Karriere als handwerklich versierter Softwareentwickler (vgl. Software Craftsmanship) kann nun Fahrt aufnehmen. Doch was zeichnet nun einen professionellen Softwareentwickler aus?

Um ein guter Softwareentwickler zu sein, muss man sich ständig weiterentwickeln. Nicht nur die Technik im Sinne von Betriebssystemen, Browsersoftware und Hardware entwickelt sich ständig weiter, auch Best Practices sind einem ständigen Wandel unterlegen. Um Software effizient zu entwickeln, bedarf es der Kenntnis aller Möglichkeiten innerhalb eines Technologieökosystems. Nur so lassen sich die richtigen Entscheidungen treffen und die besten Ergebnisse erzielen (Quelle: Björn Weinbrenner)

Diese Aussage von Björn Weinbrenner trifft meiner Meinung nach den Nagel auf den Kopf. Du musst Werkzeuge, Methoden und Technologien kennen, um deren Tauglichkeit in der Praxis einschätzen zu können (vgl. Abschnitt „Lese kontinuierlich…„). Für erste möchte ich dir ein paar Tipps mit auf den Weg geben, wie du diesem hohen Anspruch näher kommst.

Dein Werkzeugkasten

Wie jeder professionelle Handwerker solltest auch du den passenden „Werkzeugkasten“ zur Hand haben. Zu Beginn deiner Karriere ist dieser meist mit ein oder zwei Programmiersprachen (wie bei mir Java) bestückt, die du im (Selbst-)Studium gelernt hast. Der sichere Umgang mit Syntax und den Konzepten der Sprache stellen eine wichtige Grundlage dar. Meist stellt eine Programmiersprache jedoch nur die Basis eines ganzen Ökosystems dar, weshalb du dich intensiv mit den Frameworks, Bibliotheken und Weiterentwicklungen beschäftigen solltest, um langfristig erfolgreich zu sein.

Du hast bestimmt schon festgestellt, dass die Enterprise Softwareentwicklung mehr Werkzeuge zu bieten hat und oftmals auch benötigt. Vermutlich hast du dich auch schon gefragt, wo du beginnen sollst. Für den Anfang solltest du dich mit den folgenden Themen auseinandersetzen.

  • UML
  • Versionsverwaltung (SVN oder git)
  • Softwarekonfigurations- & Buildmanagement (z. B. Apache Maven oder Gradle)
  • Issue Tracking
  • Pair Programming & (Unit) Test Automatisierung
  • Refactoring*

Software muss nicht nur programmiert, sondern auch getestet, dokumentiert, installiert, betrieben, gewartet und weiterentwickelt werden

Identifiziere wichtige Personen aus der Branche

Am meisten vorangebracht hat mich wohl, dass ich sehr schnell begonnen habe, mich mit wichtigen Vertretern der Branche auseinanderzusetzen. Ich habe reihenweise Fachbücher und Artikel verschiedenster Autoren gelesen. Insbesondere Bücher von Martin Fowler*, Robert C. Martin* und Kent Beck* haben mein Denken und Handeln als Softwareentwickler entscheidend geprägt. Aber auch Communities und Portale wie entwickler.dejavacodegeeks.com und dzone.com sind überaus nützliche Quellen.

Lese kontinuierlich

Damit du dich stetig weiterentwickelst, solltest du dir angewöhnen, einschlägige Bücher und Artikel zu deinem Entwickler-Ökosystem zu lesen. Zu Beginn empfehle ich die Vertiefung der Sprache Java, ein solides Verständnis zum Thema Refactoring und erste Schritte im Unit Testing.

Werbung

Refactoring Improving, The Design of existing Code

Werbung

Test-Driven Development by Example (Kent Beck)

Werbung

Zudem möchte ich dir stackoverflow.com ans Herz legen. Hier findest du zu nahezu jedem Thema eine Antwort, du kannst die Themen abbonieren und bleibst somit immer auf dem Laufenden. Natürlich solltest du dich auch beim entwicklerkurs Newsletter registrieren, damit ich dir weitere Tipps zukommen lassen kann.

Wie habt ihr euren Einstieg gemeistert? Beschäftigt euch eine konkrete Frage? Last mir einfach ein Kommentar da!

 

Share on FacebookShare on Google+Tweet about this on Twitter

Ein Gedanke zu „Vom Absolvent zum Java Software Craftsman

War dieser Artikel hilfreich?

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.