Von Team
Donnerstag, 19. August 2010

Was muss eigentlich ein CTO tun?

Die Auswahl eines CTOs ist für ein Start-up nicht einfach aber möglicherweise überlebensnotwendig. Dieser Artikel soll Entscheidungshilfe sein, die richtige Wahl zu treffen. Oftmals ist ein Interim-CTO die richtige Wahl in der Frühphase eines Start-ups.

Während der Dotcom-Blase war ich einer der Gründer und CTO eines Start-ups. Am Anfang habe ich mich gefragt, was man als CTO so tut. Es gab viele widersprüchliche Ansichten über diese Position. Von der Programmierung bis zur Vision, von der Technologie und Prozessen zu den Menschen. Heute kenne ich die Aufgaben eines CTO. Ich bemerke aber in Gesprächen, dass gerade bei nicht-technischen Gründern immer noch Unklarheiten bestehen.

Die wichtigsten Aufgaben eines CTO für ein technisches Start-up, gerade ein Web-Start-up sind:

1. Schreiben von Code – oft vergessen, aber ein festangestellter CTO muss in der Lage sein, ganz zu Anfang Code zu schreiben. Sollte er einer der ersten technischen Mitarbeiter sein, gibt es nicht genug Arbeit für ihn, wenn er keinen Code schreibt. Code schreiben hilft darüber hinaus die Kern-Architektur zu verstehen und die richtigen Grundlagen in Qualität und Ausrichtung der Plattform zu legen.

2. Entscheiden, ob Mitarbeiter eingestellt werden sollen oder ob die Plattform mittels Outsourcing gebaut werden soll. Der CTO muss entscheiden welcher Weg gegangen wird und muss, besonders wichtig, bereit sein seine Entscheidung zu verteidigen. Es gibt gute Gründe für beides, aber ich würde in 90% der Fälle für eine interne Entwicklung bei einem Web-/Technologie-Start-up plädieren, da die Technologie für die allermeisten Start-ups in diesem Bereich zum Kern-IP gehört und nach der ersten Explosion des Marktes in der alle Start-ups wachsen zu einem Alleinstellungsmerkmal wird, sobald es in den Verdrängungswettbewerb geht. Dies bedeutet nicht, dass es nicht eine Mischung sein kann, denn es gibt oft Projekte oder Teilprojekte, die ausgelagert werden können und ausgelagert werden sollten.

3. Einstellen von Entwicklern, Testern, Administratoren und Operatoren. Mehrere Male wurde ich angesprochen als CTO für ein Start-up zu agieren, da in Deutschland viele Start-ups von Wirtschaftswissenschaftlern oder Beratern gegründet werden und ein technischer Gründer fehlt. Diese Gründer haben meist sehr wenig Ahnung – sie sollten auch keine brauchen – was einen guten Entwickler von einem schlechten Entwickler unterscheidet. Der CTO bringt dieses technische Wissen ein und hilft die für das Budget besten Entwickler einzustellen.

4. Erfahrung und Kenntnisse zu Entwicklungsprozessen und der Skalierung dieser, zum Beispiel von einem auf zehn Entwickler. Änderungen in der Entwicklung sind signifikant, wenn eine Firma von einem auf fünf Entwickler wächst und dann weiter auf zehn. Der CTO muß irgendeine Art von Prozess wie zum Beispiel Lean/Kanban oder Scrum einführen (und kann dann auch als ScrumMaster fungieren).

5. Breites Know-How zu Technologien besitzen, eine technische Architektur herausarbeiten und eine Technologie-Strategie bestimmen.

6. Know-How über Skalierung von Web-Anwendungen, etwa wie man eine Anwendung von 100 Nutzern auf Millionen von Nutzern skaliert.

Diese Aufgaben sind nicht zu allen Zeitpunkten gleich wichtig. Zu Beginn sind das Programmieren, die Entscheidung über Outsorcing und Recruiting am wichtigsten. Nach mehreren Monaten wird die Einführung von Prozessen umso wichtiger und die Skalierung von Entwicklungsteams. Wenn das Start-up abhebt, wird der Punkt Skalierung der Plattform der sicherlich wichtigste – dann gilt es die richtigen Grundlagen gelegt zu haben in der Frühphase ohne, dabei zu früh zu viel Zeit und Geld in die Skalierung gesteckt zu haben.

Was sagen andere zur Rolle des CTO?

Werner Vogels, CTO von Amazon, definiert vier Rollen, die ein CTO einnehmen kann:
1. Manager der Infrastruktur
2. Technologie-Visionär und Operations Manager
3. Das Gesicht der Firma für Technologien
4. „Big Thinker“

Eric Ries schreibt über die Rolle des CTO: „Die primäre Aufgabe eines CTO ist es sicherzustellen, dass die Technologiestrategie des Unternehmens der Geschäftsstrategie dient.“ Dies kann ich nur unterstreichen. Er identifiziert fünf spezifische Kompetenzen:

1. Plattform Auswahl und technisches Design
2. Das Gesamtbild sehen
3. Anbieten von Optionen
4. Den 80/20 Punkt finden
5. Technische Führungskräfte aufbauen

Alle diese Punkte sind wichtig, die Punkte 1 und 2 – und auch 5 – sind meist gut vertreten. Dagegen werden die Punkte 3, „Anbieten von Optionen“ und den „80/20 Punkt finden“ von CTOs oft vernachlässigt. Dies begründet sich in einer zu technischen Ausrichtung eines CTOs mit mangelndem betriebswirtschaftlichem Blick. Aus dem Streben nach technischer Perfektion wird die 100 %-Lösung angestrebt, und zu dieser auch keine Alternativen angeboten. Dagegen sollte es der Geschäftsführung möglich sein, die Strategie aus wirtschaftlicher Sicht zu beeinflussen. Dazu müssen aber der 80/20 Punkt gefunden werden und vom CTO Optionen angeboten werden.

Vollzeit-CTO oder Interim-CTO?

Bei den wechselnden Anforderungen an einen CTO über kurze Zyklen eines Start-ups stellt sich die Frage nach einer langfristigen Anstellung oder einer zeitlich begrenzten. Oder die Frage nach Vollzeit- und Teilzeitanstellung, gerade am Beginn eines Start-ups.

Tony Karrer beleuchtet die Frage “Startup CTO oder Developer”, mit was von beidem ein Start-up aus nicht technischen Gründern beginnen soll:

„Was mich ein bisschen beunruhigt ist wie oft ich lese, dass Start-ups einen Entwickler oder einen Hands-On Lead-Entwickler einstellen sollen. Ich verstehe den Wunsch für die Einstellung von jemand, der das Produkt fertig stellt. Aber oftmals ist das Ergebnis wenn ein Gründer einen Entwickler, oder Lead-Entwickler oder sogar ein VP Engineering einstellt, dass eine Lücke zwischen den Gründern und den Entwicklern entsteht.[…] ich bin nicht der Meinung dass Start-ups einen Vollzeit-CTO einstellen der nicht „Hands-on“ ist. Sie sollten stattdessen einen Teilzeit-CTO einstellen der diese Lücke schließen kann.“

Daniel Kehoe sagt dazu: „Die Gründer eines Startups stellen einen beratenden CTO ein, wenn sie eine Geschäftsidee haben aber begrenztes technisches Wissen das sie für den Start ihrer Firma besitzen.”

Ich kann mich beiden nur anschließen, die Idee eines „Consulting CTOs“, „Acting CTO“ oder „Interim CTO“ löst ein drängende Probleme eines Start-ups, das gerade in der Frühphase Kosten minimieren möchte, wenig Zeit für das Recruiting eines Top-CTOs hat, noch nicht genau weiß was es eigentlich sucht und sich bei den wechselnden Aufgaben eines CTOs in der Start-up-Phase (siehe oben) nicht auf eine Person festlegen, sondern flexibel bleiben möchte.

CTO und VP-Engineering

Zuletzt stellt sich vielen noch die Frage, nachdem Sie einige Zeit in einem Start-up verbracht haben, was ist der Unterschied zwischen einem CTO und einem VP of Engineering? Eine sehr gute Antwort – zumindest eine die mir weitergeholfen hat, findet sich bei Mark Suster in “Möchten sie den Unterschied wissen zwischen einem CTO und einem VP Engineering?”:

„Der CTO […] ich glaube, dass jedes große Technologie-Start-up den Technologie-Visionär innerhalb des Unternehmens besitzt. Dies ist die Person, die die Grundlage dessen, was gebaut werden sollte, festlegt. […] Und ein VP of Engineering ist in erster Linie Manager von Menschen.“

Die VP of Engineering steuert im Grunde Menschen und Prozesse, während der CTO Technik und die Vision steuert. Meine Meinung dazu: Am Anfang braucht ein Start-up einen CTO der auch die VP/E Aufgaben erfüllen kann. Später kann man die Position teilen und einen VP/E einstellen – sollte dieser wirklich benötigt werden.

Die Auswahl eines CTOs ist für ein Start-up nicht einfach, aber möglicherweise überlebensnotwendig. Dieser Artikel soll Entscheidungshilfe sein, die richtige Wahl zu treffen. Oftmals ist ein Interim-CTO die richtige Wahl in der Frühphase eines Start-ups, ich hoffe dieser Artikel trägt dazu bei, diese zu selten genutzte Variante weiter in Deutschland zu verbreiten.

Zur Person
Stephan Schmidt ist Vice CTO bei brands4friends. Dort ist er im Rahmen seiner Tätigkeit für die Skalierbarkeit der Architektur verantwortlich. Davor war er in mehreren Firmen Teamleiter, Entwicklungsleiter und CTO. Der Schwerpunkt seines Interesses liegt in der Produktivität von Softwareentwicklung, agilen Methoden und Lean Development. Sein Blog heißt Code Monkeyism. Unter diesem Namen ist er auch bei Twitter zu finden.

Artikel zum Thema
* Skalierbarkeit – 7 Punkte, die man als Start-up beachten muss. Gastbeitrag von Stephan Schmidt