Es ist schön, tolle Kollegen zu haben. Kollegen, mit denen man sich Schritt für Schritt durch gruselige Interfaces klicken kann, um zusammen Lösungen zu finden. Kollegen, mit denen man beim Pair Programming mal in eine Tangente über COBOL abrutscht. Aber manchmal ist es schön, Kollegen zu haben, die auch mal „Nein“ sagen.

Vor ein paar Tagen habe ich meinen Kopf für zwei Stunden gegen ein Problem gehauen, aber das einzige, was nachzugeben drohte, war mein Schädel. Die genauen Details sind nicht besonders interessant (und schwer zu erklären). Es sei nur gesagt, dass ich kurz davor war, extrem viel Aufwand zu betreiben, um einen sehr kleinen Effekt in einer App zu erzielen.

Irgendwann hatte ich schon dutzende Zeilen Code geschrieben und dachte mir: Dieser Code (und die ganze Idee!) ist so unglaublich kompliziert, ich erzähle mal Timo davon. Vielleicht hat er eine bessere Idee, wie ich das umsetzen kann. Vielleicht kennt er einen coolen React Trick, den ich nicht kenne, mit dem es ein Einzeiler wird! Also erzählte ich ihm von meinem Problem. Schon während ich aufschrieb, was ich gerne machen würde, wurde mir klar, dass meine Idee noch komplizierter war, als ich vorher dachte. Timo las meine Nachricht und durchlief die fünf Stadien der Trauer:

  1. Er verstand nicht, was ich will
  2. Nach einer zweiten, ausführlicheren Erklärung verstand er dann doch, was ich will
  3. Er sagte, dass es vermutlich keine gute Idee ist
  4. Er erzählte, dass er mal etwas Ähnliches programmieren musste, aber dass es furchtbar war und er es nicht nochmal machen würde
  5. Er wiederholte, dass es vermutlich keine gute Idee ist

Schlussendlich waren wir uns einig, dass es keine einfache Möglichkeit gibt, meine Idee umzusetzen (wenn überhaupt!), und dass ich es einfach lassen sollte. Das war die (hoffentlich) beste Entscheidung für das Projekt, das Budget und die Codebase, die alle drei von wildgewordenem Drauflosprogrammieren hätten gesprengt werden können.

Sich gegenseitig zu unterstützen, um gute Lösungen zu finden, finde ich gut und es macht mir viel Spaß. Aber mindestens genauso gut finde ich, zusammen auch mal einen Schritt zurückzutreten und zu beschließen, dass etwas eine ganz und gar übertriebene Idee ist. Dabei ist es wichtig, dass alle Beteiligten geerdet genug sind, dass nicht einer sowas sagt wie „Und dann löte ich den Flux Kompensator direkt in den Connection-Pool und dadurch exhumiere ich dann den rückwärtsgepolten Neutronengenerator, und alles nur mit dreiundsiebzig npm Packages“ und der andere nur anerkennend nickt und sowas sagt wie „Oh krass.“

Vielleicht muss man öfter nicht nur „Können wir das bauen?“ fragen, sondern auch „Sollten wir das bauen?“ und „Ist das komplett übertrieben?“ Denn oft – öfter, als man denkt – ist die Antwort, einfach ruhig zu bleiben und nichts zu machen. Auch mal schön!