Sonntag, 12. Februar 2012


Interview

Mittwoch, 18. Oktober 2006 | Interview

"Programmieren ist ein Akt kreativen Schaffens" – Craig Andera im Gespräch

(Link zum Artikel: http://www.entwickler.de/business-technology/kolumnen/034995)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Craig Andera ist unabhängiger Consultant für .NET und auf die Themen Sicherheit und Skalierbarkeit spezialisiert. In seiner Firma hat er den Rang eines Jedi Master. Für das MSDN Magazin schreibt er mitunter die INSIDE MSDN-Kolumne. Was aber macht Craig, wenn er nicht gerade vor seinem PC sitzt?

Craig, was gefällt dir am Programmieren?
Craig: Was mir am programmieren besonders gefällt ist, das es ein Akt kreativen Schaffens ist. Ich glaube, ich bin ein geborener Ingenieur, aber ich erschaffe einfach gerne Dinge. Ich habe eine Vorstellung, daraus entwickelt sich eine Idee, die es mittels Grips und den eigenen Händen zu erschaffen gilt – das reizt mich.

Gibt es Aspekte, die dir nicht so viel Spaß machen?
Craig: Sicherlich kommt jeder mal an den Punkt, an dem er am liebsten seinen PC aus dem nächstgelegen Fenster schmeißen würde. Aber lassen wir das mal außer acht (lacht). Wie viele andere sicherlich auch, werde ich ein wenig müde, wenn es an den letzten Schliff geht. Solche Aufgaben wie Dokumentation oder Bugfixing finde ich manchmal etwas nervtötend. Ich habe aber festgestellt, je älter ich werde, desto geduldiger werde ich auch. Damit wird es für mich einfacher, mich den wichtigen aber eben nicht gerade glamourösen Abschnitten der Softwareentwicklung zu stellen.

Wie bist du zum Programmieren gekommen?
Craig: Mit neun Jahren habe ich ein Buch über AppleSoft-Basic- Programmierung gelesen. Ich weiß nicht mehr, ob mir meine Eltern das Buch gekauft haben oder ich mir es ausgeliehen hatte. Vielleicht hat es aber auch mein Vater von seiner Arbeit mitgebracht. Wie auch immer, ich muss dieses Buch wirklich gemocht haben, denn ich erinnere mich, wie ich einen Teil des Sommer einzig damit verbracht habe, simple Programme auf ein Blatt Papier zu schreiben. Wir hatten damals noch keinen PC. Im darauf folgenden Jahr kauften meine Eltern einen Apple II, seitdem ist es um mich geschehen.

Wie stellst du dir die zukünftige Welt des Programmierens vor?
Craig: Um ehrlich zu sein, ich spekuliere nicht gerne. Es ist schon schwer genug, sich in seinen spezifischen Aufgabengebieten auf dem Laufenden zu halten. Vor rund zehn Jahren wurden wir von der Technik eingeholt, bis dahin konnten wir noch hoffen, mit der Entwicklung mitzuhalten. Jetzt sind wir an einem Punkt, an dem man nicht einmal mehr mit der Entwicklung auf einer bestimmten Plattform, in meinem Fall .NET, mithalten kann. Ich muss mich anstrengen, damit ich all die Dinge mitbekomme, die um mich herum passieren – Blogs lesen hilft sehr dabei.
Ich habe eine Theorie Moore’s Law betreffend – es läuft aus, in zehn, zwanzig Jahren. Besonders Microsoft hat von immer besserer, immer schnellerer Hardware profitiert, die immer abstraktere Software erlaubt. Doch wenn die Hardwareentwicklung stockt, wenn PCs ihre Geschwindigkeit innerhalb von 18 Monaten nicht verdoppeln, dann lassen sich nicht mehr solch technologische Fortschritte erzielen. Die übliche Antwort, die ich auf diese These bekomme ist: "Oh, sie werden auf Quantum, Optical oder sonst was switchen. Aber wer garantiert, das die Technik auch exponentiell wächst. Es zu glauben ist einfach praktisch. Es ist nicht so, dass ich nicht glaube, dass Computer immer schneller werden. Ich denke nur, sie werden nicht exponentiell schneller. Und das wird deutliche Auswirkungen darauf haben, wie Software produziert wird. Entweder programmieren wir auf einem niedrigeren Level, um sophisticated Software zu bekommen oder wir benötigen Compiler/ Runtimes, die aus unserer Software effizientere Versionen machen. Programmieren auf einem niedrigeren Niveau würde ich allerdings als Rohrkrepierer bezeichnen, ist es doch weniger effektiv.
Aber ich bin kein Experte auf diesem Gebiet – vielleicht liege ich mit meiner Einschätzung vollkommen falsch, wie die meisten Menschen, die versuchen die Zukunft zu erahnen.

Wenn du für einen Tag der Boss von Microsoft sein könntest, was würdest Du tun?
Craig: Den Gehaltsscheck einstecken und zurücktreten (lacht). Nein, ehrlich gesagt, ich war vor einiger Zeit Teamleiter und ich habe es gehasst. Ich glaube, ich war noch nicht einmal schlecht, aber Business- und Mitarbeiter-Entscheidungen überlasse ich lieber anderen. Ich bin wirklich froh, dass es da draußen gute Manager gibt, mit denen Entwickler im Zusammenspiel gute Software entwickeln können. Ich für meinen Teil beschäftige mich einfach gerne mit rein technischen Aspekten.

Wenn du kein Software-Ingenieur geworden wärst, was wäre heute deine Berufung?
Craig: Ich würde wohl irgendein anderer Ingenieur sein. Ich habe einen Abschluss in Elektrotechnik, wahrscheinlich würde ich irgendetwas in Richtung Signalverarbeitung machen.

Wenn du nicht gerade vor einem PC sitzt, was machst du?
Craig: Ich gehe gerne joggen, ich spiele, mehr schlecht als recht, Bassgitarre und noch schlechter Schlagzeug. Und ich mache gerne Holzarbeiten. Gerade eben befinde ich mich in einer "Holz"-Phase – die Phasen schwanken alle paar Monate. Und ich lese sehr gern. Außerdem verbringe ich jeden Tag Zeit mit meiner zweijährigen Tochter, sie ist der Wahnsinn.

Was ist dein momentanes Lieblingsbuch?
Craig: Ich gehe sehr gerne in die Bücherei und nehme einfach alles mit, was mir interessant erscheint. Gerade lese ich Red Storm Rising von Tom Clancy. Ich mag Clancy, aber ich würde ihn nicht als meinen Lieblingsautor bezeichnen. Wenn ich einen Favoriten nennen müsste, dann wäre das vielleicht George Martins Serie Song of Fire and Ice. Das ist vielleicht das beste Fantasy-Abenteuer nach Herr der Ringe (natürlich auch einer meiner Favoriten).

Hast du vielleicht einen Rat, den du kommenden Entwicklern mit auf den Weg geben möchtest?
Craig: Da gibt es gleich mehrere Sachen, die ich loswerden möchte. Erstens, was man in der Schule lernt, macht vielleicht ein Prozent von dem aus, was man wissen muss, um gut zu werden. Also macht euch darauf gefasst, für den Rest eurer Karriere zu lernen. Lest alles, was ihr in die Finger bekommt – Magazine, Bücher, Blogs etc. Und lasst euch von eurem Arbeitgeber auf Trainings und Konferenzen schicken.
Zweitens, schreibt jede Menge Code. Die besten Programmierer schreiben so gerne Code, dass sie sogar welchen in ihrer Freizeit schreiben. Eine Möglichkeit wäre, sich in einem Open-Source-Projekt zu engagieren. Man bekommt Kontakt zu erfahrenen Programmierern mit unterschiedlichstem Wissen und Erfahrungen und man lernt vor allem, in einer Gruppe zu arbeiten.
Drittens, fragt ständig nach. Schreibt Entwicklern, deren Blog ihr mögt. Tretet Mailing- Listen und Newsgroups bei und stellt auch dort viele Fragen, aber erst nach der Lektüre des Guides von Eric Steven Raymonds "How To Ask Questions The Smart Way": catb.org/~esr/faqs/smart-questions.html.
Viertens, erforscht alles. Lernt viele verschiedene Sprachen und Typen, wie XSLT und C#. Beschränkt euch nicht auf einige Sprachen. Beschäftigt euch mit Test Driven Development, aber bitte aus eigenem Antrieb. Nur weil smarte Entwickler sagen "Ruby ist toll" oder "Extrem Programming ist der einzige Weg Software zu entwickeln" heißt das noch nicht, dass dies auch der richtige Weg für euch ist. Schaut es euch an und bildet euch eine eigene Meinung.
Fünftens, seid geduldig. Ich programmiere seit 25, professionell seit zwölf Jahren. Und ich werde immer noch besser. Ich fühle mich, als hätte ich sieben Jahre gebraucht, um meine erste Technologie, COM, zu meistern. Danach wird es leichter.

Craig, vielen Dank für das Gespräch!

Das Interview führte Felix Schrader, Redakteur des MSDN Magazin – Deutsche Ausgabe. Sie erreichen Felix via E-Mail.

Kommentare

Folgende Links könnten Sie auch interessieren