Ingenieurwissenschaftliche Grundsätze: Unsere Werte in die Praxis umsetzen
VP of Engineering, Ilya Kozlov, teilt die Logik und den Wert hinter unseren technischen Prinzipien. Erfahren Sie, wie diese Prinzipien unseren Ingenieuren helfen, zu wachsen und Verantwortung für ihre Arbeit zu übernehmen.
Bei Taxfix beginnt alles mit unseren Werten: Liefern, Vertrauen, Entwickeln und Verstehen. Jeder, unabhängig davon, welche Rolle er im Unternehmen spielt, hat ein gemeinsames Verständnis dieser Werte. Entwicklungsprinzipien setzen unsere Werte in konkrete Konzepte um und leiten jeden auf faire und strukturierte Weise. Ziel ist es, unser Team so autonom wie möglich zu machen – bei der Entdeckung, der Entscheidungsfindung, der Lieferung und dem Wachstum.
Die Prinzipien sind ein Fahrplan für neue Mitarbeiter, die sich schnell in unsere Arbeitsweise einarbeiten können. Sie bieten einen Leitfaden für Maßnahmen und den Umgang mit neuen Herausforderungen. Wenn beispielsweise zwei verschiedene Personen vor demselben Problem in einem ähnlichen Kontext stehen, werden ihre Lösungen in etwa gleich sein, weil sie sich an denselben Leitlinien orientiert haben. Unsere Grundsätze dienen auch als Maßstab für Feedback und Entwicklung. Hinter jedem Prinzip steht eine Reihe von Erwartungen an das Verhalten unserer Ingenieure, die eine Richtung für die Selbstverbesserung vorgeben.
Wie sind wir bei der Formulierung dieser Grundsätze vorgegangen?
Obwohl Werte ein integraler Bestandteil des täglichen Lebens sind, war nicht immer klar, wie sie in die Tat umgesetzt werden sollten. Unsere Ingenieure wünschten sich konkretere Beispiele dafür, wie diese Werte in der Praxis gelebt werden können.
Wir erkannten, dass wir ein technisches Handbuch brauchten, in dem genau beschrieben war, worauf wir Wert legten und was wir von unserem Team erwarteten. Wir kamen zu einer ersten Brainstorming-Sitzung zusammen – Juan Ramirez, unser technischer Leiter in Madrid, Alex De Leon, unser CTO, und ich. Gemeinsam legten wir einige Schlüsselbereiche fest, an denen wir arbeiten wollten, stellten aber schnell fest, dass unsere Sichtweise nicht vollständig war. Wir mussten alle Stimmen in der technischen Organisation hören.
In einer Reihe von Workshops diskutierten wir in den nächsten Monaten Ideen, forderten uns gegenseitig heraus und zogen Referenzen von einigen der führenden technischen Kulturen auf dem Markt heran. Das Ergebnis war eine Struktur von acht wertorientierten Entwicklungsprinzipien, die mit Best-Practice-Beispielen untermauert wurden.
Was bedeuten die Entwicklungsprinzipien in der Praxis?
Hier ein kleiner Einblick in einige unserer Entwicklungsprinzipien:
Liefern
Unter dem Wert Liefern haben wir ein Prinzip von Internal Open Source. Das bedeutet, dass jeder zu jeder Anwendung oder jedem Dienst beitragen kann, auch bekannt als schwacher Codebesitz. Internal Open Source hilft uns bei der Bereitstellung, denn wenn die Codebasis gemeinsam genutzt wird, gibt es keine Abhängigkeiten.
Ein großes Problem, mit dem viele Unternehmen zu kämpfen haben, sind Abhängigkeiten. Wenn ein Team eine neue Funktion bereitstellen will, muss es oft etwas in seinem eigenen Dienst entwickeln und sich dann an ein anderes Team wenden und warten, bis alle Teile zusammenkommen. Je größer ein Unternehmen ist, desto komplizierter wird dieses Problem in der Regel. Sie sind im Wesentlichen durch Abhängigkeiten blockiert. Hier arbeiten wir in funktionsübergreifenden Teams und verwenden fast überall eine Sprache, nämlich JavaScript. Das ermöglicht es jedem, zu einem bestimmten Dienst im Unternehmen zu gehen und dort eine Änderung vorzunehmen. Man braucht nicht zu warten – man kann es selbst implementieren.
Vertrauen
Unter unserem Wert Vertrauen haben wir das Prinzip „Wir sind ein Team“. Das heißt, wir optimieren für den Output des Teams und der Organisation, nicht für den Einzelnen. Ein Einzelner kann sicherlich das gewünschte Ergebnis erzielen, aber zu welchem Preis für den Rest der Organisation? Wenn man nur sein eigenes Ziel vor Augen hat, wird das gesamte Unternehmen nicht effizient sein. Wir versuchen also, Wege zu finden, um bessere Ergebnisse zu erzielen, indem wir eine Kombination von Fachwissen, Hintergründen und Perspektiven nutzen. Es gibt keine „Ein-Personen-Jobs“, sondern nur Kooperationen.
Entwickeln
In unseren Wert Entwickeln haben wir den Grundsatz Wir lernen voneinander aufgenommen. Neben Standard-Lerninitiativen, wie der Teilnahme an Meetups und dem Besuch von Konferenzen, wollen wir den Wissensaustausch zwischen den Teammitgliedern fördern. Damit wollen wir erreichen, dass sich die unterschiedlichen Fähigkeiten unserer Teams ergänzen. Wenn zum Beispiel ein Front-End-Ingenieur in den Full-Stack-Bereich wechseln möchte, dann bringen wir ihn mit einem Back-End-Ingenieur zusammen. Wir bringen diese beiden zusammen, damit sie sich als Team und als Individuen weiterentwickeln können, indem sie neue Projekte außerhalb ihres typischen Fachgebiets vorantreiben.
Verstehen
Das letzte Beispiel, das ich anführen möchte, bezieht sich auf unseren Wert Verstehen – Kontext schaffen und teilen. Dieses Prinzip geht über die reine Dokumentation hinaus; es ist eine Straße in beide Richtungen. Wir erwarten von unserem Team, dass es Kontext für andere schafft. Darüber hinaus sollten sie den Kontext, den sie erhalten, proaktiv lesen und verarbeiten. Bei Pull-Requests zum Beispiel kennen die Leute nicht immer Ihren Kontext oder wissen nicht, was Sie in Ihrem Team zu erreichen versuchen. Wenn Sie zusammenarbeiten und versuchen, das Repository eines anderen zu ändern, müssen Sie so viel Kontext wie möglich angeben. Sie müssen Ihre Absicht erklären, etwaige Kompromisse, die Sie eingegangen sind, einen Zeitplan aufstellen und darlegen, wie diese Änderung mit größeren Änderungen in der Zukunft zusammenhängt. Wir glauben nicht an richtige oder falsche Entscheidungen. Wir glauben nur an Entscheidungen, die im richtigen oder im fehlenden Kontext getroffen werden.
Leave a Reply