Breakpoint Wilson: Von Softwareentwicklern, Rockstars und Ninjas

Softwareentwickler – die Technik macht’s!
Kommentare

In den letzten Jahren gab es viel Coding-Ninja-Blödsinn. Nur, was steckt dahinter? Und können wir als Programmierer dennoch etwas von der Kampfkunst lernen?

In den letzten Jahren fanden es viele Unternehmen der Software-Branche als schick oder hip, nach Rockstars, Ninjas oder 10x-Programmierern zu suchen. Stellengesuche buhlten um Full-Stack-Ninjas oder Database-Rockstars. Das sollte wohl das lockere Image der Unternehmen unterstreichen. Seltener hielten Unternehmen nach mutigen Piraten Ausschau, die Raubzüge in ungewisse Startup-Gewässer wagen wollten. Vermutlich, weil sich mittlerweile herumgesprochen hat, dass am Ende der Reise keine einsame Insel mit einem Topf voller VC-Gold wartet, sondern allerhöchstens ein Kicker-Tisch und freie Getränke. Piraterie und Software, so haben die meisten Unternehmen doch relativ schnell begriffen, das passt dann vielleicht doch nicht so gut zum eigenen Image.

Ninjas oder Rockstars hingegen scheinen da verhältnismäßig harmlos. Beide Gruppen kleiden sich unter Umständen witzig, haben lange Haare und riechen optional auch etwas streng. Gemeinsamkeiten, die sich mit Sicherheit mit dem verschrobenen Bild deckt, dass viele Personaler insgeheim noch von IT Fachpersonal haben.

Von Ninjas und Rockstars

Warum eigentlich Rockstars und Ninjas? Rockstars sind grundsätzlich eher anstrengend. Sie spielen viel zu gerne überzogen lange Solos, stehen gerne im Mittelpunkt und benehmen sich unter Umständen wie die Axt im Walde. Sie verkörpern nicht gerade das Idealbild der Zuverlässigkeit; Drama und Skandale inklusive.

Ninjas hingegen scheinen zunächst erstmal besser davonzukommen – man muss schließlich eine ganze Menge Disziplin und Können mitbringen, um erstmal so weit zu kommen. Einwandfreie und professionelle Sabotage, Attentate und sonstige Geheimaufträge auszuführen … dazu gehört schon einiges. Andererseits alles in allem aber auch keine Kernqualifikationen, die in teamorientierten und harmonischen Softwareteams Einsatz finden sollten. Zwar möchte man gelegentlich vielleicht den laut telefonierenden Büronachbarn ganz gerne gegen einen unsichtbaren und lautlosen Tarnungs-Spezialisten tauschen – in allen anderen Fällen ergibt das aber irgendwie wenig Sinn.

Da hat sich vermutlich auch niemand Gedanken gemacht.

Ist es wirklich schmeichlerisch, ein Rockstar oder Ninja sein zu können?

Auf den ersten Blick klingt es natürlich sehr cool und schmeichlerisch, ein Rockstar oder Ninja sein zu können. Bei näherem Hinsehen ist aber gerade Letzteres eher suboptimal: Gewalttätige Auseinandersetzungen sind doof. Krieg ist doof. Vor allem töten ist auch extrem doof! Alles Dinge die wirklich nicht besonders cool sind und auch niemals sein werden.

Jetzt, wo wir das geklärt hätten, stellt sich berechtigterweise die Frage: Wenn man Ninjas nicht im eigenen Projekt haben möchte, warum genau soll man dann dennoch von Ihnen lernen wollen? Und vor allem was?

Ninjas stammen, genau wie Samurai, aus Japan. Genauer gesagt waren beide auf Ihre Art Krieger. Auf die genauen politischen Zusammenhänge möchte ich an dieser Stelle gar nicht eingehen – auch wenn Ihre Überzeugungen unterschiedlicher nicht hätten sein können, so teilen Sie bestimmte Erkenntnisse und Methoden, die auch für uns heute inspirierend und spannend sein können.

Pragmatismus: Gut ist, was funktioniert.

Selbstverständlich macht Technik Spaß. Viele Menschen in der Informatik haben diesen Karriereweg gerade weil sie Freude an Technologie gefunden haben gewählt. Nicht ohne Grund wird in Hackerspaces und anderen technischen Clubs die Frage nach dem „Warum“ mit „Weil’s geht!“ beantwortet. Damit gemeint ist, dass man Dinge und Projekte umsetzt, weil man sowohl die Fähigkeiten als auch die Möglichkeiten dazu hat; nicht etwa, weil der Aufwand die Lösung rechtfertigt. Äpfel beispielsweise im selbst gebauten Laser-Cutter schneiden … das scheint ein wenig over-engineered.

Ich möchte die Idee mit dem „Weil’s geht!“ einmal anders angehen. Vorab schon mal: bitte nicht falsch verstehen! Innovation, Experimente und technologische Weiterentwicklung sind wichtig. Ich persönlich halte es sogar für sehr wichtig. Am Ende des Tages sollte es allerdings einen pragmatischen Grund und Vorteil geben, der zu einer Entscheidung geführt hat. Hierbei gilt überraschend oft „boring is better“.

In der Regel sind die „langweiligen“ Lösungen eigentlich nichts Anderes als Lösungen, die nicht mehr modern sind. Dabei bedeutet „nicht mehr modern“ eher selten „technologisch irrelevant“. Gerade Menschen mit technologischer Begeisterungsfähigkeit neigen dazu, sich zu langweilen, sobald sie ein bestimmtes Thema durchgespielt haben. Ich persönlich, als Programmierer, finde das bewundernswert und toll. Ich als Berater hingegen tendiere gerne zu der wirtschaftlichen Lösung.

Effektivität vs. Schönheit

Man spricht in der Kampfkunst von zwei verschiedenen Technik-Kategorien: effektive Techniken und schöne Techniken. Während die effektiven Techniken dazu da sind, eine Situation zum eigenen Vorteil zu lösen, sind die schöne Techniken vor allem dazu gedacht, sich selbst weiterzuentwickeln. Je nachdem wie gut, oft und sauber man das trainiert, desto besser profitieren Techniken beider Kategorien voneinander.

Im Zweifelsfall sind es oftmals die weniger imposant wirkenden Techniken, die einem helfen, eine Situation zufriedenstellend zu lösen.

In der Regel sehen die schönen Techniken – wie der Name schon sagt – elegant und unheimlich mächtig aus. Im Falle eines Falles sind es allerdings oftmals die weniger imposant wirkenden Techniken, die einem helfen, eine Situation zufriedenstellend zu lösen.

Als programmierende Menschen wollen wir selbstverständlich möglichst viele schöne Techniken erlernen; und am liebsten auch einsetzen. Es fühlt sich gut an, macht Spaß und schmeichelt unserem Ego. Dabei geht es in der Regel eher darum, ein Problem garantiert und zuverlässig zu lösen. Am Ende des Tages kümmert es unsere Kunden nicht sonderlich, ob der Nagel mit dem lackierten Hammer oder mit dem verrosteten Hammer in die Wand gekommen ist – das kümmert nur uns selbst.

Wenn wir hingegen allerdings merken, dass der Hammer mittlerweile so marode ist, dass wir unser Ziel (den Nagel in die Wand zu schlagen) nicht mehr erreichen können, wird es vermutlich Zeit für einen technologischen Wechsel.

Seite an Seite und vielfältig

Herausforderungen lassen sich am besten gemeinschaftlich bewältigen. Zusammenzuhalten und sich zusammen für das Erreichen eines gemeinsamen Ziels einsetzen.

Die Rollenverteilung in Europa war verhältnismäßig überschaubar: „Ich Mann, du Frau. Ich Axt, du Kind. Ich Krieg, du Haus.” Traurig genug, eigentlich.

In Japan sah das, wenn auch nicht überall, doch schon etwas anders aus. Wenig bekannt ist, dass in Japan gemeinsam gekämpft wurde. Sowohl unter Ninja als auch unter Samurai – die Onna Bugeisha – gab es viele Frauen. Mit Schwert oder Lanze, hoch zu Ross oder mit dem Bogen. Frauen haben seit jeher einen Platz in der japanischen Kämpfer-Kultur. Das Kampfsport oder Kampfkunsttrainings in gemischten Gruppen stattfinden ist daher nicht zwangsweise eine Errungenschaft unserer Zeit; es ist viel eher normal, vernünftig und logisch. Schließlich geht es darum, aus gegenseitigen Stärken und Schwächen zu lernen.

Wenn man ein Team mit gemeinsamer Kernqualifikation und individuellen Stärken hat, verfügt man über ein viel besseres Potential zur Lösungsfindung. Diese Möglichkeit zu vergeuden wäre wirklich viel zu Schade. Das gilt für gemischte Trainingsgruppen und gemischte Teams.

Technik anstelle von Kraft

Der Stärkere gewinnt. Das ist ein Leitsatz, den wir schon ziemlich früh im Leben beigebracht bekommen. Beispielsweise im Sandkasten. Ist Alex größer und stärker als Pascal, hat Alex bald Pascals Schäufelchen. Was Alex allerdings nicht nicht weiß, ist, das Pascal jetzt Judo macht. Schade für Alex.

Viele Kampfkünste sind für Menschen mit wenig Kraft ausgelegt. Daher wird in einer guten Ausbildung vor allem darauf geachtet, die entsprechenden Techniken sehr sorgsam und genau auszuführen.

Wenn man jung und kräftig ist, kann man Lücken in der eigenen Technik, durch Kraft und Impulsivität ausgleichen. Dieser Vorteil vergeht jedoch über die Jahre. Wenn Menschen altern, nehmen nicht nur Agilität und Kraft ab; oftmals kann man auch nicht mehr so oft und so lange trainieren oder Neues lernen wie ein junger Mensch. Daher ist es umso wichtiger, gerade als Anfänger oder ungestümer Fortgeschrittener sehr sauber und sorgsam zu trainieren. So entsteht eine saubere solide Basis, von der man sein gesamtes Trainingsleben profitiert – denn auch und gerade als Softwareentwickler lernen wir unser Leben lang.

Technik in der Softwareentwicklung

Das ist ein schönes Bild, dass sich wirklich gut auf die Informatik an sich übertragen lässt: Gerade junge Programmierer neigen dazu, mangelnde Erfahrung und Technik durch rohen Energieaufwand auszugleichen. Da wird so lange gefrickelt und gefummelt, bis die Software tut, was man will. Wenn man sich dann doch mal gänzlich vor die Wand programmiert hat, muss ein heldenhafter All-Nighter durchgezogen werden. Dazu wird nebenher noch die neue HoeherSchnellerWeiter.js gelernt, und wenn man schon mal dabei ist, kann man eigentlich das Anwendungs-Framework wechseln. Die Bug-Fixes, die man in der letzten vollkommen überarbeiteten Nacht versehentlich hineinprogrammiert hat, kriegt man schon irgendwie parallel zum nächsten Feature hin.

Irgendwann kommt der Punkt, an dem man nicht mehr so durchballern kann wie früher.

Das alles geht für eine ganze Weile sehr gut. Es geht aber vor allem nur aus zwei Gründen: hoher Energie- und hoher Zeitaufwand. Da man einen Beruf wie den der Softwareentwicklung in der Regel allerdings ein paar Jahre länger betreiben möchte, steht man spätestens 10 bis 20 Jahre später vor dem Dilemma, dass man, nun mit Kindern und einem gänzlich anderen Biorhythmus ausgestattet, doch nicht mehr so durchballern kann, wie man es noch die Jahre davor konnte. Wie überraschend!

Auch wenn Energie-Drink-getriebene 24/7-„Brute-Force“-Programmierung durchaus Spaß machen kann und dem inneren Rockstar schmeichelt, tut man gut daran, bereits frühzeitig einen Gang herunterzuschalten und an der eigenen Technik zu arbeiten. Das mag nervig sein, und man wird erstmal das Gefühl haben, dass ein Test-Zu-Code-Verhältnis von 3 zu 1, einem definitiv die Deadline und den Job kosten wird. Dennoch ist es auf lange Sicht hin definitiv ein gutes Invest in die eigenen Skills. Das Gleiche gilt für das Erlernen vermeintlich langweiliger Informatik-Grundlagen und Programmier-Handwerks.

HoeherSchnellerWeiter.js 2.0 wird kommen und gehen. Wissen, Methodologie, Logik und antrainiertes Programmiergeschick bleibt.

 

Aufmacherbild: Super black ninja warrior. (modifiziert) von Shutterstock / Urheberrecht: diGraphy

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -