Effizienz, Produktivität, kognitive Belastung und ein Hauch von KI

Vom 22.05. - 24.05.23 fand die Konferenz GOTO-Aarhus 2023 im Dokk1 in Aarhus statt. Die GOTO-Community veranstaltet regelmäßig Zusammenkünfte, bei denen weltweit bekannte Speaker ihr Wissen mit der Community teilen.
Marian Palkus
·
01.06.2023
Stadtbild von Aarhus in Dänemark

Zu den bekanntesten Speakern der GOTO-Aarhus 2023 gehörten unter anderen:

  • Jez Humble: Site Reliability Engineer bei Google und Autor zahlreicher einflussreicher Bücher wie “Accelerate”, “Lean Enterprise” und “The DevOps Handbook”
  • Troy Hunt: Sicherheitsforscher bei Microsoft und Gründer von “Have I Been Pwned”; arbeitet regelmäßig mit Strafverfolgungsbehörden zusammen
  • James Lewis: Softwarearchitekt und Director bei Thoughtworks
  • Lee Mills: Senior Engineering Manager bei Spotify mit Fokus auf Developer Productivity
  • Evan Czaplicki: Schöpfer der Programmiersprache Elm

Künstliche Intelligenz und ChatGPT

Das aktuell gehypte Thema “künstliche Intelligenz” (KI) wurde nur in einer Begrüßungsrede direkt adressiert. Preben Thorö (CTO Trifork) ließ dabei die Willkommensansprache von ChatGPT generieren und per Text-to-Speech vorlesen.

Anschließend zeigte er anhand eines kurzen Code-Beispiels, warum er es für unwahrscheinlich hält, dass die KI Großteile der Jobs in der Softwareentwicklung kurzfristig ersetzen wird. In dem Beispiel sollte ChatGPT Code interpretieren und generieren. Bei beiden Aufgaben machte ChatGPT nicht nachvollziehbare Fehler.

In den Fragerunden, die am Ende jedes Talks eingeplant waren, kamen häufig Fragen zu Anknüpfungspunkten und möglichen Auswirkungen von KI auf das jeweilige Thema. Die Antworten lauteten dabei größtenteils, dass wir zum jetzigen Zeitpunkt noch nicht genau wissen, wie und wo wir KI am besten einsetzen können. KI wird zumindest als verbessertes Werkzeug Einzug in den Arbeitsalltag erhalten.

Zufriedenheit und Produktivität

In seinem großartigen Talk “How Work Works” beschrieb James Lewis, was professionelle Softwareentwicklung ausmacht und warum bestimmte Arbeitsweisen nachweislich funktionieren. Er zeigte anhand von Simulationsergebnissen, warum die Reduzierung von Chargengrößen (“batch size”) bei der Entwicklung zu einem besseren Ergebnis und mehr Produktivität führt. Anhand der Forschungsergebnisse von Google re:work stellte er heraus, dass die wichtigsten Charakteristiken von Mitgliedern effizienter Teams ausschließlich Soft-Skills sind. Die psychologische Sicherheit innerhalb des Teams ist dabei am wichtigsten.

Kognitive Belastung

Kognitive Belastung wurde in mehreren Talks als negativer Faktor beschrieben. Eine hohe kognitive Belastung führt dabei zu schlechter Qualität, geringer Effizienz und unsicheren Systemen.

Eine Möglichkeit, die Komplexität und damit die kognitive Belastung auf Code-Ebene zu reduzieren, können bekannte Prinzipien wie Unveränderlichkeit (“immmutability”), explizite Zustandsautomaten (“state maschines”), Trennung von Daten und Logik und dem Aktoren-Modell (“actor model”) darstellen.  Bram Verburg erklärte in seinem Talk “Concurrency abstractions for application security”, warum diese und zusätzliche Sicherheitsaspekte wichtig sind und wie die Programmiersprache Erlang diese unterstützt.

Eleanor Saitta sprach in ihrem Talk “Principles for secure and reliable systems” darüber, was sichere Systeme ausmacht und wie Sicherheitsvorfällen vorgebeugt werden kann. Sie betonte, dass die Wahrscheinlichkeit eines Sicherheitsvorfall für ein relevantes System sehr hoch ist. Sie erklärte wie wichtig es ist, für einen solchen Fall zu planen und mit der Situation bestmöglich umzugehen.

Ein praxisnaher Tipp aus dem Talk ist es, Backend-Container periodisch neu zu erstellen. Falls es ein Angreifer in ein System schaffen sollte, würde so zumindest deutlich erschwert werden, in diesem System zu bleiben. Eleanor Saitta zählte Code-Komplexität und kognitive Belastung als ein Sicherheitsrisiko für Systeme auf.

Lee Mills erklärte, wie man mit einem Entwickler-Portal die kognitive Belastung von Entwickler/innen verringern kann, indem man notwendige Informationen und Tools in einem Portal bündelt. So sollen Entwickler/innen nicht mehr gleichzeitig mehrere Browser-Tabs und Tools geöffnet haben müssen, um eine Aufgabe erledigen zu können. Lee Mills stellte dabei Spotify’s Open Source Projekt “Backstage” vor, mit dem eine einfache Erstellung von Entwickler-Portalen möglich ist.

In seinem Talk “Enabling developers in a multi-cloud world“ sprach Mauricio Salatino darüber, wie man Entwickler/innen die Handhabung von auf kubernetes basierten Infrastrukturen vereinfachen kann. Eine weitere Art, die Komplexität und kognitive Belastung auf Entwickler/innen zu reduzieren. Mauricio Salatino ist Autor des Buches “Continous Delivery for Kubernetes“ und Contributor in mehreren Open Source kubernetes Projekten. In dem Talk stelllte er Crossplane, VCluster, ArgoCD, KNative und Dapr mit Live-Demos vor.

Weitere Highlights

In einem brillantem Talk “Digitalisation and humanisation: navigating the intersection of technology and humanity” erklärte Imran Rashid auf unterhaltsame Weise, wie das menschliche Gehirn funktioniert und warum bestimmte Apps so “gut” funktionieren. “Gut” im Sinne der Profit-Generierung der Betreiber von Apps. Gleichzeitig beschrieb er die negativen Auswirkungen auf die Nutzer/innen und appellierte daran, bewusster mit digitalen Technologien umzugehen.

Anhand anschaulicher Beispiele und von menschlichen Verhaltensmustern erklärte er, warum diese Apps  Aufmerksamkeit erzeugen, was Aufmerksamkeit für das menschliche Gehirn bedeutet und welche Arbeit das Gehirn dabei verrichtet.  

Eine zentrale Botschaft des Talks war die Wichtigkeit von mentalen Pausen, insbesondere Pausen ohne Smartphone: “Think less; feel better”

Troy Hunt erzählte per Videoschaltung Anekdoten über kriminelle Plattformen und Personen, die Profit aus dem Diebstahl und Verkauf von Online-Zugangsdaten geschlagen haben - und zu Troy Hunts Freude von dem FBI und weiteren Strafverfolgungsbehörden gefasst wurden. Er erzählte wie er mit der Plattform “Have I Been Pwned” in Zusammenarbeit mit den Strafverfolgungsbehörden Missbrauch und Datendiebstahl verhindert.

Er betonte wie wichtig es ist, für verschiedene Accounts unterschiedliche Passwörter zu nutzen und ein einfaches Notizbuch für die eigenen Passwörter, eine sehr große Anzahl an Account-Diebstählen verhindert könnte (sofern kein Passwort-Manager verwendet wird).

In dem Talk nannte er Beispiele dafür, wie ignorant einige Unternehmen, Behörden und Organisation mit Datenlecks umgehen und versuchen diese zu leugnen. Mit einfachsten Mitteln z.B. mit einer /.well-known/security.txt, ließe sich nicht-kriminellen Personen eine Möglichkeit geben, Datenlecks zu melden und etwaige öffentliche Meldungen zu vermeiden.

Häufig wird er von Personen kontaktiert, die keine Möglichkeit finden, ein Datenleck zu melden. In solchen Fällen nimmt Troy Hunt öffentlich Kontakt mit den betroffenen Unternehmen, Behörden oder Organisationen auf, zum Beispiel über einen Tweet. Scherzend fügte er in dem Talk hinzu, dass garantiert niemand in einem solchen öffentlichen Tweet von ihm erwähnt werden möchte.

Sam Aaron demonstrierte, wie man Kindern auf interessante Weise Programmieren beibringen kann. Dafür nutzte er das von ihm erschaffene Open Source Tool SonicPi. SonicPi erlaubt es, in einer sehr einfachen Programmiersprache, Musik zu komponieren und vorzuführen.

Der mit viel Musik untermalte Vortrag, inspirierte durch die Motivation und den Enthusiasmus, den Sam Aaron auf der Bühne versprühte. Er fragte, warum in Schulen nicht für alle Schüler/innen Programmieren unterrichtet wird. Das Argument, dass nicht alle Schüler/innen später Programmierer/in werden, konterte er damit, dass auch nicht alle Kinder Profi-Sportler werden, aber alle Kinder Sportunterricht haben.

Abschließend appellierte er daran, Kindern die faszinierenden Seiten des Programmieren auf interessante Art und Weise beizubringen. Seiner Erfahrung nach ermöglicht Musik deutlich mehr Kindern einen Zugang zum Programmieren zu finden, als zum Beispiel Sortier-Algorithmen.

Persönliches Fazit

Im habe den Besuch der Konferenz sehr genossen, verstärkt dadurch, dass ich teilweise Corona-bedingt seit mehreren Jahren keine Konferenz mehr besucht habe. Neben einer tollen Atmosphäre und vielen interessanten Menschen, konnte ich für den Arbeitsalltag, für meine beruflichen Ziele und auch für mich persönlich eine Menge aus den Talks mitnehmen. Die Konferenz motiviert, Bestehendes zu hinterfragen und ermutigt Änderungen herbeizuführen.

Mein Dank gilt dem tollen Organisationsteam und den fantastischen Speakern. Ich kann jedem nur empfehlen, eine Konferenz zu besuchen - besonders eine GOTO-Konferenz.

Ihre Ideen sind gut
bei uns aufgehoben.