Weiterentwicklung ist alles. Dies ist in der Softwarebranche besonders wichtig. Doch damit sind nicht nur handwerkliche Fähigkeiten gemeint. Weiterentwicklungen sind auf unterschiedlichsten Ebenen notwendig. In diesem Beitrag zähle ich Eigenschaften auf, die mir als besonders wichtig für den Beruf als Softwareentwickler erscheinen.

Ursprünglich wurde dieser Beitrag 2014 verfasst. Die genannten 8 Punkte haben – für mich – immer noch Relevanz. Allerdings gehört es zusätzlich zur “Grundausstattung eines Entwicklers, dass er sich aktiv um automatisierte Tests kümmert. Der Qualität und der sorgenfreien Entwickler-Zukunft wegen.

1) Aufgeschlossenheit

Unsere Branche unterliegt massiven Veränderungen. Ständig. Teilweise ist es schwierig, den Überblick zu behalten. Daher ist es besonders wichtig, aufgeschlossen zu sein. Dies bedeutet nicht, dass man sich sofort auf jede neue Bibliothek, jedes neue Tool oder jede neue Methode stürzen muss (bzw. sollte). Besteht jedoch Bedarf, sollte man sich nicht scheuen, auch mal Neues auszuprobieren. Es gilt großen Entwicklungen nicht abgeneigt zu sein und Stillstand zu vermeiden.

2) Umsichtigkeit

Wer kennt es nicht, das Nomadenleben als Softwareentwickler. Die Reise von einer Quelldatei in die nächste. Da kommt es an und dann schon vor, dass man über eine Problemstelle stolpert. Es mag dann durchaus der Zeitpunkt nicht passen, diese Stelle zu bereinigen, aber den einen oder anderen der nachfolgenden Punkte kann man dann doch tun:

  • Erfassen der Problemstelle im dafür eingesetzten Tool
  • Markieren der jeweiligen Codestelle durch eine TODO oder dem im Team abgestimmten Kennzeichen

Tests sind in der Regel auch eine gute Sache, wenn Problemstellen im Spiel sind.

Eigene Implementierungen sind auch hinsichtlich der Auswirkung auf den Rest zu prüfen, das wird gerne vergessen. Die beste Implementierung ist wenig hilfreich, wenn dafür andere Funktionen nicht mehr rund laufen. Ideal ist hier ebenfalls die Absicherung durch Tests.

3) Weitblick

Niemand weiß was übermorgen sein wird, dafür ändert sich alles zu schnell. Tendenzen im Auge zu behalten und immer wieder abzuschätzen ist sicherlich kein Fehler. Das bedeutet, dass man sich hauptsächlich um das “Hier und Jetzt” kümmert, Entwicklungen aber im Auge behält und berücksichtigt, um – wenn notwendig – darauf reagieren zu können.

4) Kommunikation

Die Zeiten des Programmierers mit Keller-Image sind vorbei. Immer seltener wird alleine Software entwickelt, Teams sind gefragt, auch gerne einmal mit Kundenkontakt. Hierzu muss der Softwareentwickler in der Lage sein, mit anderen zu kommunizieren, auf eine angenehme Art und Weise. Folgende Dinge sind hierbei besonders wichtig:

  • Dem Gegenüber auf derselben Augenhöhe begegnen
  • Auf das Wesentliche beschränken, Blabla vermeiden
  • Konstruktiv sein/bleiben

5) Teamfähigkeit / Hilfsbereitschaft

Die Zusammenarbeit mit Teamkollegen darf kein Problem sein. Man arbeitet zusammen an einem Projekt. Dieses kann nur optimal umgesetzt werden, wenn sich das Team gegenseitig unterstützt, Hilfestellungen, testet usw. Dazu bedarf es einer ordentlichen Portion “Teamfähigkeit”. Schlussendlich sollte das auch funktionieren, wenn man sich persönlich nicht ganz so gut versteht – was durchaus vorkommen kann.

Man muss sich einfach vor Augen halten, dass man den Großteil seiner Zeit mit den Kollegen verbringt. Dies soll ja zielführend und frei von Frustration sein. Dazu muss man sich auch einmal zurück nehmen.

6) Akzeptanz – Lernwilligkeit

In Zusammenhang mit Teamfähigkeit und Hilfsbereitschaft hängt das Akzeptieren der Skills und des Know-hows von Kollegen. Jeder Softwareentwickler hat eine unterschiedliche Laufbahn hinter sich und somit unterschiedliche Erfahrungen auf verschiedenen Gebieten.

Diese unterschiedlichen Stärken sollten Beachtung finden und vom Rest des Teams/der Kollegen gefördert werden. Aus der Sicht des Einzelnen sollte man sich nicht auf seinen Erfahrungen/Stärken ausruhen, sondern darf auch durchaus von den Kollegen annehmen und weiter Know-how aufbauen. Die Kollegen sind mitunter nicht immer anwesend, oder durchaus auch einmal in anderen Projekten involviert. Da muss man dann schon auch einmal alleine durchbeißen.

7) Neugierde

Wer gerne herausfindet wie etwas funktioniert, wie etwas besser gemacht werden kann oder wie es um die Hintergründe steht, hat gute Chancen, schnell in ein neues Thema oder eine neue Technik/Technologie einzusteigen. Wichtig ist es hierbei nur, sich nicht im Detail zu verrennen, da damit der Vorteil schnell in einen Nachteil umschlagen kann.

Neugierde ist besonders wichtig, um auf neue Gegebenheiten reagieren zu können, bessere Alternativen erarbeiten zu können und Wegbereiter für Verbesserungen zu sein/werden.

8) Konzentration auf Wesentliches

Es gibt immer viel zu tun, viele Ideen, neue Technologien, die Aufgabe XY vereinfachen würde usw. Alles kann nicht umgesetzt werden, zudem gibt es auch vorgegebene Prioritäten. Aber auch innerhalb derselben gibt es einigen Spielraum hinsichtlich des betriebenen Aufwands. Gefragt ist hier der Blick für das Wesentliche. D.h. eine Umsetzung mit möglichst geringem Aufwand zur Erfüllung der Anforderung. Wichtigstes Motto ist dennoch: Qualität ist nicht verhandelbar.

Fazit

Es sind nicht immer nur die “Hard Facts” die zählen. Technologien und Techniken/Methoden sind austauschbar. Nur wer sie schnell erlernen kann und sich nicht auf bestimmte Themen festlegt, hat langfristig gute Chancen als Softwareentwickler. Programmiersprachen, Skriptsprachen, Konzepte und Methoden können innerhalb kurzer Zeit erlernt werden, die Persönlichkeit, Soft Skills etc. sind nur schwer veränderbar und benötigen daher regelmäßige Beachtung und ständiges Training. Dieses Investment ist auf jeden Fall ein gutes Geschäft.

Veröffentlicht von Norbert Eder

Ich bin ein leidenschaftlicher Softwareentwickler. Mein Wissen und meine Gedanken teile ich nicht nur hier im Blog, sondern auch in Fachartikeln und Büchern.

Schreibe einen Kommentar

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

Cookie-Einstellungen
Auf dieser Website werden Cookie verwendet. Diese werden für den Betrieb der Website benötigt oder helfen uns dabei, die Website zu verbessern.
Alle Cookies zulassen
Auswahl speichern
Individuelle Einstellungen
Individuelle Einstellungen
Dies ist eine Übersicht aller Cookies, die auf der Website verwendet werden. Sie haben die Möglichkeit, individuelle Cookie-Einstellungen vorzunehmen. Geben Sie einzelnen Cookies oder ganzen Gruppen Ihre Einwilligung. Essentielle Cookies lassen sich nicht deaktivieren.
Speichern
Abbrechen
Essenziell (1)
Essenzielle Cookies werden für die grundlegende Funktionalität der Website benötigt.
Cookies anzeigen