«The Pragmatic Engineer Test»
12.05.2022, Christian Mäder

nxt
Um tolle Mitarbeiter:innen zu finden, muss ein Tech-Unternehmen wie unseres ein attraktiver Arbeitgeber sein. Was die Attraktivität ausmacht, ist zum Teil im Auge der betrachtenden Person. Die im «The Pragmatic Engineer Test» aufgeführten Punkte sind aber für die meisten Arbeitnehmenden unserer Branche zumindest teilweise relevant.

Der Pragmatic Engineer Test besteht aus zwölf Fragen, die an potenzielle Arbeitnehmer:innen gerichtet sind. Mit den Antworten soll eine interessierte Person beurteilen können, ob ein:e Arbeitgeber:in aus einer technischen Branche attraktive und zeitgemässe Konditionen anbietet.

Disclaimer: Die Fragen sind auf amerikanische Unternehmen – vor allem auf Startups – ausgerichtet. Nicht alles kann eins zu eins auf unser Schweizer Unternehmen übertragen werden. Darauf gehe ich bei den jeweiligen Punkten ein.

1. Equity or profit sharing

If you’re a venture-funded startup or a publicly traded company, do all engineers get equity allocation? If you’re a private, non-venture-funded company, do engineers get generous profit sharing? […]

Hierbei geht es darum, ob die Angestellten am Unternehmenserfolg beteiligt werden. Bei einer Aktiengesellschaft geht dies typischerweise über Aktienbeteiligungen. Ein Teil der Entschädigung, oder zumindest des Bonus, wird mit Aktien vergütet.

nxt ist ein durch die Gründer und Inhaber geführtes Unternehmen. Eine Beteiligung der Mitarbeitenden an den Stammanteilen ist bei einer GmbH ein juristisch aufwändiger Prozess. Zum aktuellen Zeitpunkt ist eine solche Beteiligung durch uns Eigentümer aber auch nicht gewünscht.

Die Stammanteile sind – anders als Aktien – auch nicht so einfach handelbar. Deren Wert wird auch nicht durch eine Börse bestimmt. Somit bleibt hauptsächlich die Dividende als Mehrwert bei den Stammanteilen.

Als Geschäftsführung haben wir dazu schriftlich festgelegt, dass die gesamte Dividende nie mehr als 50 % der für denselben Zeitraum relevanten Bonus-Summe betragen darf. Wir wollen also die Mitarbeitenden am grössten Teil des Erfolgs unseres Unternehmens beteiligen, wobei dies bei nxt über Boni geschieht.

2. Roadmap/backlog that engineers contribute to

Do you have one for most teams, and do engineers regularly contribute to the one for their team?

Diese Frage zielt vor allem auf Produkte-Startups ab. Unser Unternehmen ist jedoch gegenwärtig ein Dienstleistungsunternehmen. Somit gibt es nur eine differenzierte Antwort auf diese Frage.

Bei den Produkten, die wir als Dienstleister für unsere Kunden bauen, können und sollen unsere Mitarbeitenden ihre Ideen und Verbesserungsvorschläge anbringen. Diese werden mit den Kund:innen besprochen, mindestens wenn es um nicht-technische Anliegen geht. Bei den meisten Kund:innen können wir über das Technische selber entscheiden.

Für unternehmensweite Anliegen führen wir in regelmässigen Abständen firmenweite Retrospektiven durch. Dies ist die wichtigste Gelegenheit für unsere Mitarbeiter:innen, um direkt auf organisatorische Schwächen im Alltag hinzuweisen, sodass diese beseitigt werden können.

Daneben führen wir einmal monatlich ein Townhall genanntes Meeting durch, worin die Geschäftsführung über die aktuelle Unternehmenssituation, kürzlich getroffene Entscheide und sonstige unternehmensbezogenen Belangen informiert. Auch hier können alle Mitarbeiter:innen Fragen stellen.

Die Geschäftsführung selber trifft sich einmal wöchentlich zum Weekly. Allen Mitarbeitenden steht es frei, Traktanden für dieses Weekly einzubringen.

Wir versuchen also, unsere Angestellten auf verschiedenen Ebenen für organisatorische Belangen einzubeziehen.

3. Engineers directly working with other ICs

Do engineers work directly with other individual contributors (ICs) like other engineers, designers, PMs, data scientists etc? Answer no if they are expected to go through e.g. (project) managers instead of direct communication.

Die direkte Kommunikation ist bei der kleinen Grösse unseres Unternehmens sowieso gegeben. Es gibt keinen Platz für grosse Hierarchien. Zudem setzen wir viel daran, dass möglichst viele Informationen schriftlich festgehalten und so organisiert sind, dass jede:r diese selber finden kann, ohne eine weitere Person danach fragen zu müssen.

4. Code reviews and testing

Are they both part of the everyday development process?

Bezüglich Code Reviews gibt es mit dem Ansatz des Trunk Based Development eine Debatte in der Informatik darüber, wie oft Reviews sinnvoll sind. Der Ansatz bei nxt war lange, alle Änderungen an Code durch eine weitere Person zu prüfen. Von dieser strikten Regelung sind wir nun nach Diskussionen in einer pragmatischen Weise abgewichen. Kleinere Änderungen – wie ein Typo oder eine andere Farbe in einem CSS – können in den meisten unserer Projekte nun direkt geändert werden.

Ganze Features oder wesentliche Bugfixes werden bei uns jedoch üblicherweise durch eine weitere Person reviewed. Wir nutzen dazu die Merge Request Funktion von GitLab.

Bezüglich Testing verfolgen wir ebenfalls einen pragmatischen Ansatz. Grundsätzlich soll so viel wie möglich durch automatische Tests abgedeckt werden. Es ist aber kein Ziel, eine 100%-Testabdeckung um jeden Preis zu erreichen.

5. CI and engineers pushing to prod

Do you have CI in place? When engineers finish coding, does the code either automatically get pushed to prod (through CD) or can engineers manually trigger this step?

Unsere Projekte haben stets mindestens einen Continuous Integration Schritt, der bei Änderungen am Code sofort durch GitLab ausgeführt wird. Damit gewährleisten wir eine hohe Qualität sämtlicher Code-Änderungen.

Bei vielen Projekten setzen wir zudem auf Continuous Delivery. Für uns heisst das, dass unsere Kund:innen jeweils mit der aktuellsten Version unseres Code arbeiten. Und dass wir das Potenzial für Fehler beim Deployment oder danach auf ein Minimum reduzieren.

Wo immer möglich haben unsere Engineers direkten Zugriff auf die Produktivsysteme. Dies ist auch über die Projektgrenzen hinweg so. Damit können wir im Fehlerfall schnell reagieren und uns gegenseitig unterstützen.

6. Internal open source

Do you follow an internal open-source model, where any engineer can access and contribute to most other codebases - with appropriate code ownership in place?

Sämtlicher Code, den wir in unserer eigenen GitLab Organisation verwalten, kann durch alle unsere Engineers eingesehen werden. Dies erlaubt, dass wir uns gegenseitig unkompliziert helfen können.

Auch Änderungen sind jeweils erlaubt, wobei wir dann meist mit Merge Requests arbeiten. Somit hat das Team, welches am besten mit dem Code vertraut ist, die Möglichkeit noch Einfluss zu nehmen.

Aber auch fast alle weiteren Dokumente, Unternehmenspläne, Meeting-Protokolle und so weiter können durch sämtliche Mitarbeiter:innen eingesehen werden. Wir versuchen, unser Unternehmen möglichst transparent zu führen.

7. Healthy oncall as a priority

For teams where developers are oncall, do you measure oncall health and the impact on developers? Does fixing an unhealthy oncall have priority over any product work?

Bei den Projekten, für die wir den Betrieb organisieren, schauen wir stets darauf, dass wir tagsüber und unter der Woche deployen können. Die meisten Deployments sind sowieso automatisiert und so aufgesetzt, dass die Kund:innen davon nichts mitbekommen.

Zudem setzen wir – wo immer möglich – auf standardisierte Cloud-Angebote. Damit müssen wir diese nicht patchen und sind für deren Verfügbarkeit auch nicht direkt verantwortlich.

Bisher betreuen wir nur Applikationen, die nur zu Bürozeiten verfügbar sein müssen. In Zukunft könnte sich das ändern. Für diesen Fall wollen wir jedoch mit Partnerunternehmen zusammenarbeiten. Ein solches Unternehmen soll die erste Anlaufstelle bei Problemen in der Nacht sein. Es hätte die Aufgabe, die betroffene Applikation so lange notfallmässig am Leben zu erhalten, dass am nächsten Arbeitstag eine:r unserer Mitarbeiter:innen sich dem ursächlichen Problem annehmen kann.

8. Technical managers

Are managers software engineers report to technical - meaning they have also been software engineers earlier in their career?

Die Geschäftsführung von nxt besteht zurzeit ausschliesslich aus (aktiven) Software Engineers. Eine andere Führungsebene gibt es derzeit nicht.

9. Career ladder (when above 10 engineers)

Do you have a career ladder, with levels, and expectations at each of the level defined?

Zurzeit sind wir noch keine 10 Engineers. Sobald wir diese Grösse erreichen, werden wir uns jedoch Gedanken machen müssen, wie wir unser Unternehmen organisieren. Dazu werden wir die Mitarbeiter:innen, die dann bei uns arbeiten, einbeziehen.

In unserem wachsenden Unternehmen wird es mit der Zeit nötig werden, neue Rollen zu schaffen. Somit entstehen für die bestehenden Mitarbeitenden automatisch neue berufliche Chancen.

10. Parallel IC & manager tracks (when above 30 engineers)

Do you have parallel IC & management career paths that run up to a level or two above the entry-level engineering manager role?

Zurzeit sind wir noch keine 30 Engineers und haben entsprechend auch noch keine Karriere-Leiter.

11. Feedback culture

When above 30 engineers: […]

When smaller than 30 engineers: Do you encourage a culture where you give constructive and direct feedback to each other to improve?

Feedback ersuchen wir von unseren Mitarbeitenden bereits aktiv über die unter 2. erwähnten Werkzeuge. In Zukunft wollen wir diese Werkzeuge durch weitere ergänzen. Dazu zählt beispielsweise die Einführung von 360°-Feedback-Runden.

12. Investing in professional growth

Do you have at least two of the following three:

  1. Professional development stipend for books/training.
  2. Recognizing time taken to do learning as a good use of work time, and encouraging this.
  3. A mentorship program within the company.

Wir sehen es als selbstverständlich an, in all unsere Angestellten zu investieren und diese weiterzubringen. Aufgrund unserer Grösse können wir diesen Prozess jedoch nicht proaktiv begleiten und sind darauf angewiesen, dass sich unsere Mitarbeitenden ihre Weiterbildung selber organisieren.

Unseren Mitarbeiter:innen steht ein Zeit- und Geld-Budget für Weiterbildung zur Verfügung. Neue Fähigkeiten, die für Projekte notwendig werden, können auch ausserhalb dieses Budets und auf Projektzeit erworben werden.

Daneben nehmen wir an Meetups und Konferenzen teil, um uns mit der Community auszutauschen und unseren Horizont zu erweitern. Tickets und ein Grossteil der entsprechenden Zeit werden durch nxt vergütet.

Nachwort

Fast alle der beschriebenen Massnahmen sind in unserem öffentlich einsehbaren Handbook dokumentiert. Darauf können sich Mitarbeiter:innen auch berufen, wenn etwas im Unternehmen nicht so läuft, wie wir dies angedacht und abgemacht haben.

Aktuell stellen viele Bewerber:innen auch neue Anforderungen. Bereits seit einiger Zeit und bestärkt durch die jüngste Pandemie ist vielen die Möglichkeit wichtig, von Zuhause oder Unterwegs aus zu arbeiten. Einige Unternehmen aus unserer Branche experimentieren zurzeit auch mit 4-Tage-Wochen. Auch wir werden auf solche aktuelle und kommende neue Trends reagieren müssen, wenn wir die besten Fachkräfte bei uns beschäftigen wollen.

Man spricht nicht umsonst vom War for Talent. Als kleines Unternehmen müssen wir uns dabei mit den grossen und ganz grossen messen, national und international. In allen Belangen kann uns das nicht gelingen, weshalb es für uns zentral ist, die bestmögliche Unternehmenskultur zu etablieren und diese auch ständig weiterzuentwickeln.