
![]() |
![]() |
![]() |
![]() |
![]() |
Am Anfang steht die Begeisterung
docendo discimus - Durch Lehren lernen wir
nach Seneca
Am Anfang jedes Angebots stehen ein Antrieb und ein Ziel. Was treibt Ralf Westphal also an, was ist sein Ziel? Mit wem haben Sie es zu tun? Was ist drin im One Man Think Tank?
Mich treibt Begeisterung an und mein Ziel ist es, andere an dieser Begeisterung teilhaben zu lassen. Ich lasse mich von Ideen und Technologien begeistern, es macht mir Spaß, Neues zu lernen und Bekanntes zu hinterfragen. Wenn ich Zusammenhänge plötzlich verstehe, ein Aha!-Erlebnis habe, etwas nach viel Mühen funktioniert - dann bin ich begeistert. Und dann möchte ich die Erkenntnis hinter dieser Begeisterung mitteilen, das gewonnene Wissen weitergeben.
Besonders befriedigend ist dann dabei, dass ich während (!) des Weitersagens selbst wieder etwas über die Sache lerne und also mein Wissen vertiefe oder einen wieder anderen Blickwinkel bekomme. Darüber hinaus sind vom übergesprungenen Begeisterungsfunken leuchtende Augen bei denjenigen, denen ich Wissen vermittle, ein ganz spezieller Lohn. Äußerungen wie
"dotnetpro.tv - große Klasse" von Volkmar Waluga oder
"[Ihre] Bücher sind super geschrieben und geben einen leicht verständlichen und praktischen Einstieg [...]" von Roland Eichler
sind für mich dabei gleichermaßen Bestätigung, auf dem richtigen Weg zu sein, wie Antrieb, weiterzumachen, mehr zu machen.

Im Gespräch mit einem Teilnehmer der DevDays 2003 Konferenz in der Schweiz
Mein Metier ist die Softwareentwicklung oder genauer: die Softwareentwicklung auf der Microsoft-Plattform. Seit 1980 programmiere ich, seit 1986 bin ich selbstständig, seit 1997 bin ich freier "Softwaretechnologievermittler" - oder eben "One Man Think Tank". Zur Microsoft-Plattform kam ich 1991 nach Jahren der Verbundenheit zu Turbo Pascal und Borland C bzw. C++. Visual Basic hat mich seitdem nicht wieder losgelassen. Mit dem .NET Framework hat meine grundsätzliche Begeisterung für die Microsoft-Plattform dann nochmal einen Schub bekommen - aber ich bin nicht dogmatisch, sondern konzentriere mich nur auf einen Ausschnitt des weiten Feldes Softwareentwicklung.
In diesem Ausschnitt aber möchte ich etwas bewegen. Angetrieben durch meine Begeisterung suche ich immer wieder neue, spannende Themen und dann Wege, Wissen in die Community der Softwareentwickler hineinzutragen. Meine Begeisterung ist dabei aber natürlich nicht kritiklos. Im Gegenteil! Ich formuliere Ansprüche. Meine kritischen Vorträge und Äußerungen zu Themen wie Microsofts ObjectSpaces (auf dem Microsoft Technical Summit 2004) oder Microsoft Beta-Praxis (in meiner Sandbox-Kolumne der dotnetpro 7-8/2005) sollten davon Zeugnis geben.
Bei aller Kritik bleibe ich jedoch optimistisch und sehe keinen Sinn im Jammern. Früher war nicht alles besser und ich finde es müßig, darüber zu räsonieren, ob Microsoft eine "böse Kraft" sei. Softwareentwickler stehen einfach ständig vor neuen Herausforderungen, die es zu meistern gilt - deren größte zur Zeit die Technologie- und Informationsflut ist. Und genau hier ist es, wo ich meine Aufgabe sehe: In der Hilfe (zur Selbsthilfe) bei der Bewältigung dieser Herausforderung.
Aus der ständigen Zunahme an Technologien und Informationen erwächst die Notwendigkeit zur Filterung und Verdichtung. Als eine meiner Kernaufgaben sehen ich daher, möglichst klare Botschaften aus dem allgemeinen "Rauschen" herauszudestillieren. Immer wieder treibt mich dabei der Wunsch an herauszufinden, was das Wesentliche einer Technologie wie z.B. ADO.NET oder SQL CLR Integration ist. Auch wenn am Ende einzelne Features für ihren Einsatz wichtig sind, sind doch all dieses Features nutzlos, solange noch Missverständnisse bzgl. des grundsätzlichen Hauptzwecks von Technologien herrschen. Was ist wichtig, um 80-90% aller Einsatzfälle abzudecken? Für .NET Remoting sind das Features, die sich in 2-3 Stunden erschöpfend erklären lassen. Mehr nicht. Aber sie herauszufiltern, bedarf viel Zeit.

Hilfestellung für einen Teilnehmer auf dem Precon-Workshop der Advanced
Developers Conference 2004
Das ist also meine Basisdienstleistung: Ich möchte meinen Kunden Zeit und Aufwand sparen. Am Anfang steht dabei das Filtern von Informationen. Daran schließt sich die Informationsverdichtung an, die Reduktion auf das Wesentliche. Und schließlich die Formulierung einer Botschaft und die Abbildung des Wesentlichen auf möglichst einfach verständliche und praxisnahe Szenarien. Statt "feature fucking" zu betreiben - d.h. Technologien in kleinen, eher zusammenhangslosen Häppchen vorzustellen, um ihre einmaligen Features anzupreisen -, möchte ich anwenden, integrieren und in einen größeren Zusammenhang stellen. Bei der Wissensvermittlung verwebe ich daher bewusst meist mehrere Technologien. In der Projektrealität wird auch keine Technologie allein eingesetzt, also verringert eine Darstellung, in der Technologien zusammenspielen den geistigen Transferaufwand. Begeisterung und Wissen können leichter überspringen.
So sehr sich Softwareentwickler für eine Problemlösung natürlich eine möglichst konkrete, technologisch konzentrierte Lösung wünschen - so wenig ist sie meist realisierbar. Softwareprobleme, die durch eine bessere/richtige Verwendung nur einer Technologie gelöst werden, sind oft eher Supportprobleme. Man könnte sie auch durch einen Anruf beim Hersteller aus der Welt schaffen. Meine Aufgabe sehe ich aber nicht im Support, sondern in der Wissensvermittlung bzw. in der Lösung komplexerer Probleme. Dabei geht es immer um den Problemzusammenhang (und auch die Problemdomäne), den weiter gefassten Lösungsansatz und meistens um das Zusammenwirken verschiedener Technologien.
Um in diesen Situationen helfen zu können, bemühe ich mich ständig, Blicke über den Tellerrand zu werfen. Das bezieht sich auf harte Softwaretechnologien, aber auch auf "weiche" Themen wie Psychologie, Philosophie, Problemlösungsheuristiken oder Didaktik/Methodik. Zu meiner Begeisterung gehört es also nicht nur, technologische Erfahrung zu vermitteln, sondern Software als Ergebnis eines Prozesses aufzufassen und zu vermitteln, in dem Menschen und Technologie in komplexer Weise interagieren. Denn auch wenn sich ein Problem meist als Schwierigkeit im Einsatz einer Technologie manifestiert, so muss die Lösung nicht darin bestehen, diese Schwierigkeit auszuräumen; vielmehr kann die Lösung in der Bewusstmachung von Entscheidungprozessen und Wahrnehmungen vor dem Technologieeinsatz bestehen - aus der dann resultiert, dass ein ganz anderer Ansatz gewählt wird, der viel weniger Schwierigkeiten macht.
Insofern sehe ich mich auch nicht nur als reinen "Pauker", d.h. jemanden, der "Zahlen, Daten, Fakten" vermittelt, sondern möchte auch anleiten und helfen, Probleme selbst zu lösen. Meine Arbeit ist gut getan, wenn meine Kunden mit meiner Hilfe wachsen. Ich sehe mich insofern auch als Coach, d.h. Begleiter und "Spiegel".
In diesem Sinne ist auch zu verstehen, dass ich mich für die menschlichen Grundbedingungen der Softwareentwicklung interessiere. Was sind heute die Voraussetzungen, damit ein Softwareentwickler seine Arbeit gut tun kann? In meiner dotnetpro Sandbox-Kolumne schreibe ich darüber immer wieder z.B. im Hinblick auf eine notwendige Spezialisierung der technologischen Ausrichtung (s. dazu auch meine Blog-Serien "On the Future of Software Develpoment") oder ich setze mich für die Erarbeitung eines pragmatischen und durchaus plattformabhängigen Wissenskanons unabhängig von den universitären Informatik-Curricula ein.
Was mich inhaltlich antreibt, ist nun aber eine Sache. Wie ich diese Inhalte jedoch vermittle, eine andere. Mir liegt nicht nur am Herzen, das Richtige zu sagen und zu tun, sondern das auch möglichst effektiv. Die schönste Botschaft bleibt nutzlos, wenn sie nicht gehört wird oder schwer zu entziffern ist. Didaktik und Methodik müssen für mich also genauso wichtig sein wie meine Botschaft. Deshalb bin ich ständig auf der Suche nach der richtigen Form für die Dinge, die mich umtreiben und begeistern.
Da alle Darstellungsformen viel mit Sprache zu tun haben, konzentriere ich mich z.B. auf den deutschsprachigen Raum. Auch wenn Englisch die lingua franca der Softwareentwicklung ist und ich meine Themen in internationalen Foren wie www.xml.com oder auf der SD West oder der COMDEX Las Vegas vorgetragen habe, so ziehe ich es vor, meine Botschaft in meiner Muttersprache zu vermitteln. Das kann darin nuancenreicher und spontaner und noch natürlicher geschehen. Da mir gute Sprache am Herzen liegt, ist mir ein maximaler Grad an "Fidelity" wichtig und ich denke, das dient auch den Empfängern meiner Botschaft.
Übliche Formen für die Vermittlung von Begeisterung und Wissen sind natürlich technische Artikel, Bücher, Vorträge und persönliche Beratungsgespräche. Sie bilden das Rückgrat meiner Kommunikation. Dazu sind in den letzten Jahren allerdings auch Videos getreten. Sie bieten nicht nur Vorteile in didaktischer Hinsicht, indem sich mit ihnen Prozesse und Konzepte oft besser darstellen lassen als in länglichen schriftlichen Äußerungen. Mit Videos ist es auch leichter, Begeisterung, d.h. Emotionen zu vermitteln. Und das ist wichtig, denn trockene Technologien können nur zum Leben erwachen, wenn sie von positiven Gefühlen getragen werden. Der Erfolg Videoserie .NET TV (für dotnetpro und Microsoft Deutschland) hat dann diesem Konzept Recht gegeben: Als im Softwareentwicklungsbereich einzigartige Videoproduktion kommen in .NET TV fachliche Erklärungen, Analogien und Spielszenen zusammen, um ein Thema gleichermaßen kurzweilig wie fundiert "rüberzubringen". Das wurde von der Entwicklergemeinde mit viel positivem Feedback gewürdigt. (Leider musste die Produktion nach acht Folgen aus Budgetgründen eingestellt werden. Nachfolgeformate sind dotnetpro.tv als Videointerviewreihe und dotnetpro.tv Tipp als "gespielter Programmiertipp".)
Als weiteres Mittel der direkten Kommunikation benutze ich eher gelegentlich aber auch gezielte Trainings. Das technologieorientierte Training wie der ADO.NET Tag innerhalb der SIGS-DATACOM .NET Akademie steht dabei aber eher im Hintergrund. Wichtiger sind mir Trainings mit einem weiteren Horizont, die über die Anwendung von Technologien hinaus gehen. Ausgehend von dieser Position habe ich z.B. die so genannte Developer LAN Party (DevLANParty oder DLP) entwickelt, die ich heute mit meinem .NET Twins "Bruder" Christian Weyer von thinktecture durchführe. Ziel einer DLP ist es, Softwareentwickler unter dem Dach eines konkreten, in 1 bis 5 Tagen durchzuführenden Projektes zusammenzubringen, um in einem solchen Kontext verschiedene Technologien einzuüben, aber auch den Entwicklungsprozess einer Software näher kennenzulernen und die Teamarbeit einzuüben.

Bei der Nachbesprechung einer Developer LAN Party mit insgesamt 12
Entwicklern über drei Tage
Über die direkte Kommunikation hinaus engagiere ich mich allerdings auch in der "Metakommunikation", d.h. ich entwickle und forme Foren und Plattformen für die Wissensvermittlung in Zusammenarbeit mit Partnern. Beispiele dafür sind:
Im Jahr 2000 habe ich Microsoft motiviert, die neue .NET Plattform im Rahmen einer großen Konferenz in Deutschland vorzustellen. Daraus ist der erste Microsoft Technical Summit 2001 entstanden, der sich nicht nur durch seine Größe (1000 Teilnehmer), sondern auch durch die Involvierung von Experten auszeichnete. Sowohl die orangen Ask-the-Experts Jacken (s. folgendes Foto), wie auch Moderation von Vorträgen und Kanalisierung von Fragen mit Fragekarten gehen auf meine Anregungen zurück.

Interview mit Bill Gates auf dem Technical Summit 2001
Ein weiteres Beispiel für mein Engagement auf der "Metaebene" ist die Anregung der Microsoft XML-in-Action 2000/2002 Konferenz und der SIGS-DATACOM .NET One 2002 Konferenz zum Thema Mono. Aus meiner Sicht fehlten zu dem Zeitpunkt angemessene Foren, in denen die Themen XML bzw. Mono (als alternative CLI-Implementation zum .NET Framework) einem breiteren Publikum vorgestellt werden konnten.
Aber nicht nur die Initiation und Mitgestaltung solcher Vortragsveranstaltungen ist für mich ein Mittel, der Softwareentwicklungscommunity Wissensquellen zu erschließen. Wenn mir ein Thema besonders am Herzen liegt, nehme ich auch gern die Rolle eines Chefredakteurs bzw. Content-Managers ein, um andere Experten bei der Wissensvermittlung zu begleiten. Aus diesem Grund war ich von 1998 bis 2001 Chefredakteur des VB-Fachmagazins BasicPro, habe 2004 beim Software & Support Verlag ein Sonderheft zum Thema Enterprise Programmierung angeregt und herausgegeben und habe 2005 "Die Reise durch Vaubekien" für Microsoft Deutschland konzipiert und herausgegeben.
Ein weiteres für mich wichtiges Element ist der Kontakt zur Community der Softwareentwickler. Als sehe ich die Empfänger meiner Botschaft gewöhnlich nicht, als Berater ist der Kontakt sehr punktuell. Auf einer Entwicklerkonferenz oder gar einer Vortragsreise wie dem Microsoft TechTalk oder einer INETA User Group Tour bekomme ich unmittelbaren Eindruck davon, ob meine Ideen auch bei einer größeren Gruppe ankommen. Diese Form für Feedback ist für mich wichtig als Korrektiv und um Inhalte mit einer Person zu verbinden - aber auch als Inspiraton für zukünftige Arbeit. Denn so wichtig für meine Arbeit als Filter und Aggregator und Wissensvermittler die Unabhängigkeit von einem Softwaretagesgeschäft ist, so brauche ich doch auch immer wieder die Erdung durch das unmittelbare Gespräch mit "den Entwicklern in den Gräben".
Wo aus meiner Sicht solche Kontaktmöglichkeiten fehlen, bemühe ich mich dann, sie zu schaffen. Ein themenbezogenes Beispiel ist da der .NET Tag auf der alljährlichen OOP von SIGS-DATACOM, ein Beispiel im Hinblick auf eine ganz andere Form des Zusammenkommens ist der Programmierwettbewerb der Fachbuchhandelskette Lehmanns.

Während der "Entwicklersprechstunde" der .NET Twins in der Hamburger
Lehmanns-Filiale. Ausgerüstet mit Kittel und Stethoskop haben Christian Weyer
und ich unsere Aufgabe als "Notärzte" sehr ernst genommen
Ich freue mich sehr, dass diese und andere Formen meines Engagements als wertvoll in der und für die Community angesehen werden. Zeichen dafür sind meine Mitgliedschaft im Microsoft Regional Director Programm von 1998 bis 2005 und die Nominierung zum Microsoft Most Valued Professional (Rolle: Visual Developer Solution Architect) im Jahr 2005.
Engagement in der Community bedeutet zunächst einmal, sich für die Softwareentwickler auf der Microsoft-Plattform zu engagieren. Daneben gibt es jedoch auch noch die Community meiner Kollegen, d.h. Autoren, Konferenzsprecher und Berater, die den Softwareentwicklern mit Rat und Tat auf die eine oder andere Weise zur Seite stehen. Aus der Einsicht heraus, dass ich allein selbstverständlich nicht alles wissen kann und auch nicht für jedes Problem ein kompetenter Ansprechpartner bin, ist es mir auch immer wieder ein Anliegen, Plattformen zu schaffen und in einer Gemeinschaft noch mehr zu erreichen.
Konferenzen wie Xml-in-Action oder Publikationen wie das Enterprise Programming-Sonderheft oder die dotnetpro.tv Videoreihe sind Beispiele für Plattformen. Beispiele für Gemeinschaften die Zusammenarbeit mit Christian Weyer unter dem Namen .NET Twins und die Gründung des Trainingsunternehmens Professional Developer College GbR.
Sie sehen, im One Man Think Tank steckt viel Herzblut und Begeisterung für Softwaretechnologien, die ich weitergeben möchte. Inhalte und Medien mögen dabei über die Zeit wechseln. Gestern war es vielleicht Visual Basic 6.0, heute ist es der .NET Framework, oft sind es Artikel und Beratungsgespräche, manchmal sind es Video, Programmierwettbewerb oder ein neues Trainingsformat. Im Kern stecke ich jedoch immer ganz persönlich mit meiner Vision von einer Softwareentwicklung, die nicht nur möglichst reibungslos funktioniert, sondern auch Freude macht.
Und was bedeutet das für Sie? Schauen Sie sich an, welche Leistungen ich Ihnen konkret anbiete. Ich würde mich freuen, wenn wir in Kontakt kämen.