Woran erkennt man einen guten Entwickler?
Am 13. Oktober 2008 haben Golo Roden und ich unter dem Titel Noch Fragen, Roden? Ja, Bucher! angekündigt, jeweils zum ersten eines jeden Monats einen Kommentar zu einem vorab gemeinsam gewählten Thema verfassen zu wollen. Bisher sind in dieser Reihe folgende Kommentare erschienen:
Heute, am 1. Mai 2009, ist es nun wieder so weit, und unser Thema für diesen Monat lautet:
Woran erkennt man einen guten Entwickler?
So wohl Golo wie auch ich haben uns unabhängig voneinander im Vorfeld unsere Gedanken gemacht, wie wir diesem Thema gegenüberstehen. Golos Kommentar findet sich zeitgleich in seinem Blog, folgend nun mein Kommentar zu diesem Thema:
Woran erkennt man einen guten Entwickler?
Es gibt meiner Meinung nach drei Haupttypen von “Softwareakrobaten”:
- Programmierer (Implementierer)
- Entwickler
- Architekt
Der Programmierer bekommt meistens eine Vorlage, wie das Design einer Software aussehen soll und programmiert diese aus.
Er hat im optimalen Fall gute Erfahrung was die Implementierung angeht, wäre aber überfordert wenn es um alternative Vorgehensweisen oder Architektur geht.
Der Entwickler ist die Evolution des Implementierers. Er hat über den Tellerrand zum Architekten geschaut und interessiert sich allgemein für danebenliegende Bereiche wie Architektur, alternative Vorgehensweisen, etc.
Der Architekt ist zwangsweise die Evolution eines Implementieres oder Allrounders. Er “malt” sozusagen die Rahmenbedingungen und gestaltet das Design einer Software.
Dabei ist kein Typ zwangsweise besser oder schlechter, sondern sie werden alle gebraucht und unterschiedlich eingesetzt.
Okay, das war nicht ganz korrekt. Ich möchte zwar nicht den Begriff “Programmierer” schlecht machen, jedoch benutzte ich ihn ganz direkt und mache eine Unterscheidung zum Entwickler.
In jeder Berufsgruppe gibt es solche die den Job machen, dann nach Hause gehen und das wars. Auch wenn sie schon 5 Jahre auf dem Gebiet arbeiten, ist das Wissen und die Erfahrung sowie die Weitsicht nicht so angestiegen wie sie könnte. Das wäre in diesem Fall der Programmierer.
(Oder einfach ein angehender Entwickler)
Ein Entwickler zeichnet sich durch einen immensen Wissensdurst aus. Er blickt über den Tellerrand und interessiert sich meistens auch neben dem Job für Dinge die mit der Arbeit verwandt sind und ihn auch weiterbringen.
Es ergibt sich also eine Synergie zwischen der privaten und beruflichen Erfahrung, beide Parteien profitieren voneinaner.
Das Thema ist hier aber, wie man einen guten Entwickler erkennt.
Zu Entwicklern zähle ich jetzt die Typen “Programmierer” und “Entwickler”.
Aus dem vorangegangen Text geht hervor, dass ein – laut meiner Definition – Entwickler die besseren Karten hat.
Gross wie der Informatikbereich ist, gibt es nur schon in der Softwareentwicklung verschiedene Anwendungsbereichen in denen man als Entwickler tätig sein kann und hierbei ergeben sich auch andere Anforderungen die dann einen guten Entwickler auszeichnen.
Da das jetzt aber zu weit führen wird, bleibe ich ab jetzt ganz allgemein.
Folgend ein paar Punkte, die einen guten Entwickler ausmachen.
Standard und sicherlich aus den meisten Stellenausschreibungen bekannt:
- Ausgeprägtes analytisches und logisches Denken.
- Gutes Vorstellungsvermögen und abstraktes Denken.
- Gutes Auffassungsvermögen (Problemverständnis).
- Teamplayer und gute Kommunikationsfähigkeit.
- Bringt gute fachliche Grundlagen mit.
Zusätzlich weitere Punkte die ich persönlich sehr wichtig finde:
- Ist in der Lage einfache Lösungen zu erkennen / finden und umzusetzen.
- Fähigkeit etwas gut zu erklären (Kommunikation).
- Weiss nicht alles, weiss aber wie und wo er die Information beschaffen kann.
- Kann sich selber helfen (Informationsbeschaffung) und selbständig arbeiten.
- Kann Theorie und Praxis verbinden, also auch das eine ins andere umsetzen.
- Wissensdurst, ausgeprägtes Interesse an der Materie.
- Interesse an alternativen Vorgehensweisen und Blick über den Tellerrand.
Von den zusätzlichen Punkten finde ich vorallem die Fähigkeit zur selbständigen Informationsbeschaffung sehr, sehr wichtig.
Klar, Wissen ist Macht. Jedoch gibt es in der heutigen Zeit so viel Wissen, dass man sich niemals alles aufnehmen, geschweige denn merken kann.
Darum finde ich es sehr wichtig, dass man _weiss_ wie und wo man das nötige Wissen beschaffen kann.
Grosses Interesse an der Materie und viel Wissensdurst ist ebenso wichtig. Nur so bleibt ein Entwickler am Ball und lernt leicht, schnell und mit viel Freude immer mehr dazu.
Der letzte Punkt, das Interesse an alternativen Vorgehensweisen und ein geschulter Blick über den Tellerrand sind sehr wichtig für die Weiterentwicklung und von essentieller Bedeutung wenn man in dieser Branche weiter kommen will als nur ein 0815 Arbeiter.