Freitag, 16. April 2010
Energie
Ich bin diese Woche auf einer Konferenz:
http://accu.org/index.php/conferences

ACCU - professionalism in programming
ist ein Zusammenschluß von Leuten, die professionell programmieren und dabei noch besser werden wollen. Mein Kollege hat mich auf die Organisation und die Konferenz hingewiesen. Das war ein Volltreffer!

Die Konferenz ist in Oxford, d.h. ich brauche keine Hotelübernachtung. Mit diesem Preisargument und mit dem wohlklingenden Namen ACCU war es ein Leichtes, meinen Chef und meinen Linemanager zu überzeugen, mich auf Dienstreise (Mission) zu schicken.

Diese Konferenz ist wirklich amazing! Um einen Teilnehmer zu zitieren: "Hier ist mein halbes Buchregal anwesend". Right. Fast alle Sprecher (speaker) haben mindestens ein sehr gutes Buch über Programmieren, Software-Entwicklung, IT-Projektmanagement oder über eines unserer geliebten Werkzeuge geschrieben. Gleichzeitig ist es auch die lauteste Konferenz mit der meisten Interaktion und mit viel Entertainment. Ja, Programmieren (oder drüber reden) kann unterhaltsam sein. Zumindest für Einige von uns ;-)

Einige der Highlights für die Freaks und auch ein wenig social skills, hoffentlich soweit allgemeinverständlich (Weiterlesen!)

Gestern habe ich u.a. spannende Dinge über verteilte Teams von Jutta Eckstein gehört. Der wichtigste Erfolgsfaktor sind die Beziehungen der Personen untereinander: Vertrauen, offene Kommunikation, persönliche Beziehungen und das Überbrücken kultureller Differenzen. Wie ich aus eigener Erfahrung weiss, ist schon der "Weisswurstäquator" ein schier unüberwindlicher Fluss. Folgende Ideen fand ich besonders spannend: Rotieren der Personen über die Standorte, immer ein Botschafter eines Standortes am anderen Standort. Achtung mit der Verwendung von Vokabular: Bei remote Zusammenarbeit sind alle Standorte remote, keiner ist herausgehoben, auch das headquarter ist eine remote site. Bringe die Menschen in informellen Situationen zusammen (geht in den Pub und trinkt ein Bier).

Heute war ein Highlight der Vortrag von Pete Goodliffe (schon 4 Bücher!) mit dem schönen Titel "Stand at the bottom of a mountain looking up". Was tun, wenn ich vor einem Berg von neu zu Lernendem stehe? Es war ein Plädoyer für lebenslanges Lernen und dabei Spass haben. Dazu gehört: sich um seinen Körper kümmern (ausreichend Schlaf, Essen, Bewegung, Ihr wisst schon). Wissen, wo ich stehe und wo ich hinwill:
1. Anfänger (novice) - ich brauche Regeln
2. fortgeschrittener Anfänger (advanced beginner) - ich kann wichtig und unwichtig noch nicht unterscheiden
3. Kompetent (competent) - ein guter Platz
4. erfahren/geübt (proficient) - ich bin schnell frustriert, wenn ich Anfängern etwas erklärt werden muss
5. Experte (expert) - ich kann die Kompetenten lehren, ich benutze Intuition
Selbstvertrauen, lernen zu können. Selbstvertrauen, DAS lernen zu können. Nutze ausser Deinem Geist dessen "Erweiterung" (Notizbuch, mindmaps, Internet, wissen, wo die Informationen sind). Nutze Dein Netzwerk (baue Dir eines auf! Studiengruppe, Mentoring, lehre andere, schreibe Artikel, diskutiere). Plane Dein Lernen, habe eine Strategie.

Und der Vortrag, der mich wirklich überwältigt hat, war "beautiful team and team leaders" von Roy Osherove. Was ein Team leiten wirklich heisst, nämlich ihm Hindernisse aus dem Weg räumen, Engstellen (fange bei Dir selbst an!) erkennen und beseitigen, die Leute wachsen lassen, kommunizieren. Er hatte ein schönes Beispiel eines furchtbar langsam tippenden Programmierer, den er erst darauf eingeschworen hat, besser und schneller zu werden und zu lernen (er hat begeistert zugestimmt) und dann musste der arme Kerl mit einer Tastatur OHNE Buchstaben drauf üben, ganz schnell zu tippen. Der Typ ist dann richtig schnell geworden und sein nacktes Keyboard ist heute noch sein ganzer Stolz. Und Roy hat einen Song komponiert darüber und ihn am Ende auf der Gitarre vorgespielt.

Bereits am Dienstag habe ich ein Tutorial über Domain Specific Languages von Juha-Pekka Tolvanen mitgemacht. Eins der Themen, für die ich mich schon lange interessiere. Die Idee ist, ein kleines, aber feines Modell zu machen und statt das dann zu programmieren, einen Programmierautomat zu schreiben, der das Modell dann zum Programm (Code) übersetzt. Also Meta-Programmieren. Das schöne daran: Es gibt Metamodelle und Metacode und Metametamodelle und Metametacode und MetaMetaMetamodelle und MetaMetaMeta usw. Wer braucht denn sowas? Wir! Die Modelle sollen dabei einfach bleiben und der automatisch erzeugte Code muss genausogut aussehen, wie wenn er mühevoll per hand programmiert wurde. Dann ist es wirklich gut.

Mein nächstes Projekt: Ich lerne etwas über SCRUM. Das ist eine Projektmanagement-Methode für agile Software-Entwicklungs-Teams, in dem die Gehirne der Einzelnen zu einem Super-Brain vernetzt werden. Bitte das im übertragenen Sinn verstehen. Kein neuer Frankenstein. Aber eine weitere echte Bildungslücke von mir, die es zu schliessen gilt.

Permalink (0 Kommentare)   Kommentieren