Schmaga beim nationalen Imagine Cup Finale und dem Community Open Day

Diese Woche ist es wieder soweit. Es findet das nationale Finale des Microsoft Imagine Cup statt, einem Technologiewettbewerb für Studenten. In unterschiedlichen Kategorien (dieses mal Games, Innovation und World Citizenship) treten dort die jeweils besten drei Teams der Kategorien aus Deutschland gegeneinander an. Eine Vorauswahl passierte bereits in diversen regionalen Finalen. Den erstplatzierten der Kategorien winkt neben Sachpreisen eine Teilnahme beim internationalen Finale in Seattle. Und dadurch vielleicht noch viel mehr Ruhm und Ehre; Denn durch die hohe Sichtbarkeit dort könnten durchaus Investoren, Unterstützer und andere Interessierte auf die Teams aufmerksam werden. Ich bin mit dem Imagine Cup auch durchaus emotional verbunden, da wir in 2009 mit einem Team aus Freunden beim nationalen Finale den zweiten Platz gemacht haben. Inklusive Handshake der damaligen Bundesentwicklungsministerin 😉

Dieses mal gibt es aber insofern eine Besonderheit, als dass ich in der Jury sitzen werde 🙂 Und zwar in der Kategorie Games. Ich muss ehrlich zugeben: Ein Platz in einer solchen Jury ist ein Novum für mich, und ich bin ein klein wenig nervös. Wer mich kennt weiß dass ich ein leidenschaftlicher Gamer bin, der schon hunderte Spiele in seinem Leben verschlungen hat. Daher werde ich natürlich versuchen mein bestes zu geben, um ein objektiver und fairer Juror zu sein. Nach einem ersten Blick auf die drei Finalisten-Teams kann ich nur sagen: Es wird absolut spannend.

Die Siegerehrung geschieht dann kommenden Freitag bei der Eröffnung des Microsoft Community Open Day (COD), an dem ich in meiner Rolle als Leiter der .NET Usergroup Essen auch teilnehmen werde. Beim COD werden diverse Usergroup Leiter, Most valuable Professionals und andere Personen aus der Microsoft Community zusammenkommen, um zu diskutieren, spannende Vorträge zu schauen, und zu netzwerken. Ich bin schon sehr gespannt und freue mich auf viele bekannte und neue Gesichter.

(0)

Über gute Entwickler…

Im November habe ich auf den Clean Code Days in München einen Vortrag darüber gehalten, wie unzufrieden ich mit vielen Entwicklern in Deutschland bin, mit denen ich während meiner bisherigen Laufbahn Kontakt hatte oder zusammengearbeitet habe. Das war allerdings ein ziemlich pessimistischer Blick auf die Welt. Daher drehe ich den Blickwinkel heute mal um und möchte beschreiben was es bedeutet ein guter Entwickler zu sein bzw. was man meiner Ansicht nach benötigt um einer werden zu können.

Durch befreundete Entwickler, mein wachsendes Netzwerk, und vor allem meine Arbeit in der Microsoft Community bin ich in letzter Zeit mit vielen Entwicklern zusammengetroffen, die ich als überdurchschnittlich engagiert und talentiert wahrnehme. Natürlich stellt man sich dann an dieser Stelle oft die Frage, wie man sich selbst zwischen all diesen Entwicklern einzuordnen hat.
Um genau diese Einordnung für mich vornehmen zu können, habe habe ich in letzter Zeit sehr viel darüber nachgedacht, was die ordentlichen Entwickler von den Guten, und die Guten von den absoluten Ausnahmetalenten unterscheidet.

Es gibt einige Fähigkeiten/Eigenschaften, die ich in diesem Kontext als essentiell wahrnehme, und die bei diesen drei Entwicklertypen besonders ausgeprägt sind. Das wären z.B.:

  • Eine schnelle Auffassungsgabe. Je besser ein Entwickler ist, desto schneller kann er sich meiner Meinung nach in neue Themen und Technologien einarbeiten. Das trifft genauso auf fachliche Inhalte zu.
  • Die Fähigkeit zur Abstraktion von Details, als auch die Konzentration auf Details. Und vor allem dazwischen gut umschalten können.
  • Ein breites technisches Grundwissen. Gute Entwickler schauen über den Horizont. Lernen gerne neue Technologien, beherrschen möglicherweise mehrere Plattformen und Sprachen. Sie kennen sich mit Netzwerken und Protokollen aus, beschäftigen sich vielleicht sogar mit hardwarenahen Dingen.
  • Gute Allgemeinbildung und Interessen, die über ihr eigenes Fach hinausgehen. Viele der guten Entwickler die ich kennenlernen durfte haben breit gefächerte Interessen. Manche sind aktive und engagierte Musiker, wiederum andere arbeiten an gemeinnützigen Projekten mit, sind sportlich sehr aktiv, etc. Sie beschäftigen sich mit dem aktuellen Weltgeschehen, sind politisch informiert, und man kann sie durchaus als aktive Bürger des Landes ansehen.
  • Sie brennen für Ihren Job, sind dort überdurchschnittlich engagiert und arbeiten viel. Vor allem unter den Freelance-Entwicklern in meinem Bekanntenkreis macht keiner eine 40-Stunden Woche… fast alle arbeiten weitaus mehr, nehmen Ihre Arbeit aber nicht als Belastung wahr, sondern lieben sie. Mit Genuss werden hier Blog-Posts, Videos und sonstige Inhalte zu Softwareentwicklung und darüber hinaus verschlungen, ausprobiert, kommentiert und vielleicht sogar in eigenen Posts weiterverarbeitet. Spontane Coding-Sessions mitten in der Nacht nach einem coolen Einfall sind in dieser Gruppe keine Besonderheit. Genauso wie durchgehackte Wochenenden.

Mein Eindruck dieser ganzen Eigenschaften ist, dass sie sich vermutlich gegenseitig bedingen. Wer Spaß an seinem Job hat und auch noch entsprechend mit Anerkennung versehen wird (was bei den meisten Softwareentwicklern der Fall sein könnte, mindestens finanziell) wird vermutlich generell mehr Zeit und Leidenschaft in seinen Job stecken. Vermutlich wird eine solchermaßen engagierte Persönlichkeit egal in welchem Fach herausstechen (sei es nun Softwareentwicklung oder beispielsweise Jura). Zumindest macht dieser Gedankengang für mich Sinn. Aber darüber hinaus kommt bei vielen Entwicklern noch diese beschriebene tiefere intrinsische Motivation hinzu. Dies ist ein Antrieb den ich bei vielen anderen Personen aus meinem Bekanntenkreis nicht finde, die in anderen Berufen und Branchen unterwegs sind. Aber das mag daran liegen, dass ich natürlich in Beruf und Alltag zwangsweise primär mit Softwareentwicklern zu tun habe und dadurch einen gewissen Tunnelblick erleide.

Möchte man alles was ich hier so erzählt habe kurz zusammenfassen, läuft es eigentlich auf drei Dinge hinaus: Einen wachen und offenen Geist, der Interesse an neuem hat. Ein regelmäßiger Blick über den Tellerrand und zuletzt eine starke Identifikation mit der eigenen Tätigkeit die weit über den eher verbreiteten Lohn-und-Brot Ansatz hinaus geht. Lässt man das mal kurz sacken bemerkt man: Fast nix davon hat primär mit hartem technischen Wissen zu tun. Alles mehr oder weniger Soft Skills… Verwundert das wen? Mich ehrlich gesagt nicht.

Sollte diese Erkenntnis fernab meiner persönlichen Meinung auch tatsächlich etwas Wahrheit enthalten, so müsste man daraus vielleicht ableiten, sowohl in der Ausbildung als auch später bei der Einstellung von Mitarbeitern und im Alltag viel mehr darauf zu achten, diese weichen Kriterien zu prüfen und zu vermitteln. Vielleicht sollte es auch schon vor dem Studium eine weitaus bessere Eignungsfeststellung geben. Das würde vermutlich auch die in Informatikstudiengängen immer noch drastische Abbrecher- und Durchfallquote verringern. Ich kann nur allen angehenden und schon berufstätigen Entwicklern empfehlen, sich viel stärker mit solchen Themen auseinanderzusetzen. Es gab auch bei mir einen Punkt während meines Studiums ab dem ist mir dieser Aspekt erst klar geworden. Danach war es ein langsamer und mühsamer Prozess stetigen Lernens. Aber es lohnt sich!

Die Clean Code Initiative ist da ein sehr guter Startpunkt, über die man an die entsprechenden Bücher, Quellen und auch Übungen verwiesen wird. Zumindest das „Clean Code“ Buch von Robert C. Martin und der Nachfolger „The Clean Coder“ sind ein guter Einstieg zur Selbstreflektion. Hoffentlich führen Sie Euch in die richtige Richtung. Viel Spaß beim Lernen!

(12)