5 Gründe, warum Software-Ingenieure Künstler sind

Build-Software wie Gaudí hat die Sagrada Família gebaut

Die Sagrada Família befindet sich noch im Bau. Durch kostenlose Fotos auf Canva

Seit ich vor drei Jahren aus der Bay Area nach New York gezogen bin, habe ich darüber nachgedacht, wie großartige Software-Ingenieure großartige Arbeit leisten. Kann die Denkweise und Herangehensweise des Silicon Valley an anderer Stelle wiederholt werden? Dies hat mich veranlasst, einige der hochwertigen Software-Engineering-Projekte wie Apache Spark, Tensorflow und Ethereum zu studieren. Aber als ich letztes Jahr in Barcelona unterwegs war, fiel mir auf, dass die Sagrada Família eines der besten Beispiele ist, von denen man lernen kann.

Hier sind fünf Ähnlichkeiten, die ich beobachtet habe.

1. Geben Sie dem Künstler kreativen Raum

Wenn Sie ein Schiff bauen möchten, trommeln Sie keine Menschen auf, um Holz zu sammeln, und weisen Sie ihnen keine Aufgaben und Arbeiten zu, sondern bringen Sie ihnen bei, sich nach der endlosen Unermesslichkeit des Meeres zu sehnen.
- Antoine de Saint-Exupéry, französischer Dichter
Basilika della Santa Casa in Loreto, Italien. Von Massimo Roselli auf Wikimedia

Die Sagrada Família wurde ursprünglich von Josep Maria Bocabella entworfen, der, inspiriert von der Basilica della Santa Casa in Italien, eine Kathedrale in Spanien bauen wollte. Gaudí erhielt dann die volle Autonomie über dieses Projekt. Er war kein Aufgabennehmer, sondern ein Architekt; eine Künstlerin. Können Sie sich vorstellen, ob Bocabella vorschreibt, welche Holzart, welcher Steinschnitt und welche Glassplitter verwendet werden sollen? Unter solchen Umständen hätte Gaudí den Job wahrscheinlich abgelehnt, und wir hätten ein Weltkulturerbe verloren.

Softwareentwickler sind auch keine Aufgabenübernehmer - wir sind Problemlöser. Wir sind darauf spezialisiert, die beste Lösung für ein bestimmtes Problem zu finden. Aus diesem Grund ist es Tech-Unternehmen wie Google und Facebook egal, welche Programmiersprachen Sie kennen: Sie suchen nach Fähigkeiten zur Problemlösung. Sie vertrauen darauf, dass ihre Ingenieure die richtigen Werkzeuge auswählen, um das vorliegende Problem zu lösen, genau wie Gaudí die volle Freiheit erhalten hat, seine Vision von der Basilika zu verfolgen.

Im Gegenteil, ich habe oft Unternehmen gesehen, in denen Vertrieb oder Marketing weitgehend darüber entscheiden, was und wie Software erstellt werden soll. Dieses Betriebsmodell hindert diese Unternehmen daran, ihr volles Innovationspotenzial auszuschöpfen, da sie die Stärken ihrer Bauherren nicht nutzen. Wie Bill Campbell, ehemaliger Geschäftsführer und Coach bei Apple, einmal sagte: "Befähigte Ingenieure sind das Wichtigste, was man in einem [Technologie-] Unternehmen haben kann."

2. Es gibt keinen einzigen richtigen Weg, Kunst zu machen. es ist ein Ausdruck des Künstlers

Es gibt keine Regeln für Kreativität.
- Laura Jaworski, amerikanische Autorin und Künstlerin

Als Gaudí die Leitung der Sagrada Família übernahm, nahm er viele Änderungen am ursprünglichen gotischen Design vor, indem er natürliche Formen, orientalische Künste und ausgeglichene Systeme einbezog. Einige Hinweise auf den ursprünglichen gotischen Stil bleiben erhalten, aber es ist weit entfernt von anderen Gebäuden, die in dieser Zeit erbaut wurden.

Ebenso gibt es keinen einzigen richtigen Weg, um Software zu erstellen, sondern nur andere Kompromisse. Facebook ist berühmt für sein einziges monolithisches Code-Repository. Dies stellt sicher, dass alle Projekte und Abhängigkeiten miteinander kompatibel sind. Andererseits verfügt Amazon für jeden Dienst über ein separates Repository, das schnellere Iterationszyklen ermöglicht, da jeder Dienst unabhängig voneinander ausgeführt wird.

Software spiegelt auch die Autoren wider. Tensorflow, ein von Google offenes Framework für maschinelles Lernen, hat aufgrund seiner Benutzerfreundlichkeit, Geschwindigkeit, Codequalität und umfassenden Dokumentation Hunderttausende von Entwicklern erfasst. Diese Attribute knüpfen direkt an Googles Kernphilosophie an, sich auf Nutzer zu konzentrieren, Geschwindigkeit zu betonen und über die Größe hinaus zu streben.

3. Inspiration kommt von hartnäckigen Routinen

Talent ist lange Geduld und Originalität eine Anstrengung des Willens und der intensiven Beobachtung.
- Gustav Flaubert, französischer Schriftsteller
Eines von Gauds 3D-Modellen zur Bewertung der strukturellen Integrität seiner Entwürfe.

Das Bild der Menschen von Künstlern ist oft ein Leben entspannender Kreativität. Die Realität ist, dass sie eine Routine entwickeln und konsequent durchsetzen. Die Pulitzer-Preisträgerin Maya Angelou stand jeden Tag um 5:30 Uhr auf und begann fünf oder mehr Stunden lang um 7:00 Uhr mit dem Schreiben. Michelangelo schloss: "Wenn die Leute wüssten, wie hart ich gearbeitet habe, um meine Meisterschaft zu erlangen, würde es überhaupt nicht so wunderbar erscheinen."

Gaudí war nicht anders. Er entwickelte das Konzept des ausgeglichenen Systems - Gebäude, die ohne interne oder externe Unterstützung für sich allein stehen könnten. Da dieser neue Baustil noch nicht gebaut worden war, wusste niemand, ob seine Entwürfe den Gesetzen der Physik standhalten würden. Seine Lösung bestand darin, 3D-Modelle zu bauen und Hunderte von Konfigurationen auszuprobieren. Viele seiner endgültigen Entwürfe wurden von seinen Experimenten inspiriert.

Ebenso arbeiten Sie in der Softwareentwicklung jeden Tag an der Arbeit und entwerfen Lösungen für Probleme. Mit Beständigkeit erhalten Sie von Zeit zu Zeit einen Inspirationsschub, der zu einer übergroßen Wirkung führt. Zum Beispiel hat eine Gruppe von Ingenieuren Betrugsbekämpfungssoftware für Paypal gehackt. Dies führte Peter Thiel zu der Erkenntnis, dass es auf ein Thema angewendet werden könnte, über das er lange nachgedacht hat: die nationale Sicherheit. Aus dieser Erkenntnis heraus war er Mitbegründer von Palantir, das sich inzwischen zu einem 20-Milliarden-Dollar-Unternehmen entwickelt hat.

4. Iterieren Sie vor der endgültigen Implementierung mit leichten Mechanismen

Kreativität erfordert viele Ideen. Je mehr Sie in Ihren Prototyp investieren und je näher er dem „Endgültigen“ kommt, desto schwieriger ist es, ein Konzept loszulassen, das nicht funktioniert.
- David Kelley, Gründer von IDEO und der Stanford University d.school

Beharrlichkeit ist notwendig, aber man muss auch strategisch sein. Gaudí entschied sich, seine Experimente an seinem 3D-Modell zu wiederholen, da es einen kurzen Iterationszyklus hatte. Nachdem er sich für eine bestimmte Konfiguration entschieden hatte, erarbeitete er die endgültigen Spezifikationen für die Erstellung der physischen Architektur, während er methodisch zum nächsten Teil des Projekts überging.

Software Engineering ist nicht anders. Wir beginnen mit einem ersten Entwurf. Dann bauen wir einen Prototyp und iterieren darauf. Nachdem wir uns für eine Lösung entschieden haben, stellen wir unseren Code für die Veröffentlichung fertig und fahren mit den nächsten Funktionen fort.

Ich hatte einmal einen Projektmanager, der darauf bestand, dass wir für die nächste Phase eines Projekts „etwas Code herausholen“, bevor die Anforderungen gesammelt wurden. Sein Grund war nicht nur, Fortschritte zu zeigen, sondern auch, dass wir „den Code sowieso umgestalten mussten, also könnten wir genauso gut jetzt anfangen, Code zu schreiben.“ Ich schlug vor, dass wir die nächste Phase noch nicht vollständig abgeschlossen haben. Vielleicht sollten wir das Design wiederholen, während wir die funktionalen Anforderungen abschließen. Nach einigem Hin und Her haben wir uns schließlich darauf geeinigt, mit dem Design zu beginnen.

Stellen Sie sich vor, einer der Sponsoren von Gaudí hätte gesagt: „Lasst uns anfangen, Steine ​​zu schneiden und sie zu stapeln, damit wir Fortschritte zeigen können“, ohne die strukturelle Integrität der Basilika zu berücksichtigen. Wenn eines der Teile falsch platziert worden wäre - was wahrscheinlich ohne seine Modelle und Experimente geschehen wäre - hätte es viel mehr Aufwand gekostet, diese Platzierungen zurückzusetzen. Gaudí entschied sich mit Bedacht dafür, mit etwas zu modifizieren - seinen 3D-Modellen -, bevor er zur physischen Konstruktion überging, genau wie wir es beim Erstellen von Software tun.

5. Kunst ist nie fertig

Kreativität kann man nicht zeitlich begrenzen.
- Dr. Dre, amerikanischer Rapper & Plattenproduzent
Die gelben Teile des Modells spiegeln wider, was noch gebaut werden muss. Im Jahr 2015 wurden schätzungsweise 70% der Basilika fertiggestellt.

Leonardo Da Vinci sagte einmal: "Kunst ist nie fertig, nur verlassen." Auf die Frage nach dem langsamen Baufortschritt antwortete Gaudí, ein frommer Katholik: „Mein Kunde hat es nicht eilig.“ Als er 1926 starb, waren weniger als 25% der Basilika fertig.

Obwohl er ein Perfektionist war, wusste er auch, wann etwas für den allgemeinen Gebrauch bereit war. Als zum Beispiel die Erhebungs- und Altarabschnitte der St. Joseph-Kapelle 1885 fertiggestellt wurden, öffnete er sie am nächsten Tag für die Messe. Seitdem haben Hunderte Millionen die Basilika während ihrer verschiedenen Bauphasen besucht.

Ebenso ist Software niemals wirklich vollständig. Es müssen immer mehr Funktionen erstellt und mehr Möglichkeiten bereitgestellt werden, um Benutzer zu bedienen. Es ist wichtig zu erkennen, wann etwas zur Veröffentlichung bereit ist, und zu erkennen, dass nichts jemals vollständig perfektioniert ist. Ein typisches Beispiel: Auch nachdem Amazon den Online-Buchverkauf übernommen hatte, erweiterte es sein Angebot weiter, um die Benutzererfahrung zu verbessern, und ist heute das größte Online-Einzelhandelsunternehmen der Welt.

Ingenieurwesen und Kunst werden oft als gegensätzliche Enden des Karrierespektrums angesehen. Ähnlichkeiten können jedoch häufiger auftreten als Sie denken. Wenn Sie sich jeden Tag mit einfachen Codierungsaufgaben herumschlagen, fragen Sie sich: „Kann ich meine Aufgaben ganzheitlicher angehen? Bietet mein Arbeitsplatz eine Umgebung mit ausreichend Leerraum, damit ich mit meiner Kreativität färben kann? “ Wenn die Antwort nein ist, hinterlasse ich Ihnen ein Zitat von Smallville: "Sie waren für viel wichtigere Dinge gedacht."

Folgen Sie mir auf Twitter @ kenk616, um weitere Gedanken zu Technologiekultur, Organisationsaufbau und Management zu erhalten.