Sprechen Sie Python?
Alle reden über Digitalisierung, wirklich mitreden können wenige. Warum? Es fehlt an (Programmier-) Sprachkenntnissen. Statt Spanisch und Französisch zählen im Lebenslauf neben Englisch als Fremdsprachen in Zukunft Python, Java und Co. Wer zwar auf Spanisch eloquent nach dem Weg fragen kann, aber Angst hat, dass beim Öffnen der Kommandozeile der Computer explodiert, der ist wie ich reif für einen Sprachkurs.
Auslaufmodell Fremdsprachen
Es gibt gute Gründe, Fremdsprachen zu lernen: In andere Kulturen eintauchen, Literatur und Filme im unverfälschten Original genießen, etc. Zur bloßen Kommunikation und zum über die Runden kommen auf Reisen kann man sich die Mühe hingegen sparen. Bis zum praxistauglichen Universalübersetzer à la Star Trek wird es zwar noch ein bisschen dauern, aber schon heute spielen Sprachbarrieren eine weitaus geringere Rolle als noch vor 10 bis 20 Jahren – Google Translator und per Augmented Reality übersetzter Schilder und Speisekarten sei dank.
Eine Frage der Perspektive
Die Frage, „wie Google das macht“, kann einem aus der Anwenderperspektive schließlich egal sein – „so mit künstlicher Intelligenz irgendwie“. Um mit einem Auto fahren zu können, muss ich ja auch nicht wissen, aus welchen Einzelteilen es besteht, geschweige denn, es selber zusammenbauen können. Gesamtökonomisch wäre es zudem höchst ineffizient, wenn jeder Autofahrer auch eine Fortbildung zum Automechaniker absolviert hätte. Im Kontext Digitalisierung sehe ich das jedoch anders, denn Digitalisierung betrifft jeden von uns: Mit hoher Wahrscheinlichkeit in Verbindung mit dem eigenen Arbeitsplatz, auf jeden Fall als Mitglied der digitalisierten Gesellschaft. Aktiv und konstruktiv mitgestalten können aber nur diejenigen, die neben der Anwenderperspektive – zumindest in Grundzügen – auch die zugrunde liegende Technik aus der Entwicklerperspektive verstehen. Oder etwas philosophischer formuliert:
„Wer nicht wie ein Computer denken kann, kann auch keinem Computer das Denken beibringen“
Denken wie ein Computer
Bei uns im Innovation LAB der DZ BANK Gruppe erlebe ich regelmäßig, wie wertvoll es ist, dass Fachexperten und Entwickler räumlich und inhaltlich eng zusammenarbeiten. Es fasziniert mich, wie unterschiedlich ihre Denkweisen teilweise sind. In meiner Rolle als Innovation Coach habe ich derweil als „Nicht-Entwickler“ manchmal das Gefühl, dass mir das passende Handwerkszeug fehlt: Bei der Komplexitätsschätzung von Backlog Items kann ich beispielsweise nicht mitreden. Keine Ahnung, ob ein gewünschtes Feature in wenigen Zeilen Code erledigt ist oder langwierige Basteleien erfordert. Zeit, etwas zu ändern und einen lange gehegten Plan endlich in die Tat umzusetzen: Ich lerne Programmieren! Nicht, um perspektivisch zum Vollzeit-Entwickler umzuschulen, sondern um ein Grundverständnis der dahinterstehenden Konzepte zu entwickeln und für mich fachlich relevante Themen wie KI, Blockchain, Smart Contracts, etc. perspektivisch noch stärker durchdringen zu können.
Exkurs: Wie eine Prinzessin meine Entwicklerkarriere verhinderte
Streng genommen begann meine Programmierkarriere schon Anfang der 90er-Jahre im Grundschulalter: Mein Vater (seines Zeichens Mathe- und Informatiklehrer) und ich hatten vom Sinclair ZX Spectrum mit Kassettenlaufwerk auf einen 386er PC mit MS-DOS aufgerüstet. Ich verbrachte Stunden damit, „Niki, den Roboter“ mit ausgeklügelten Befehlsketten und Schleifen durch rudimentär dargestellte Labyrinthe zu steuern. Die Syntax von Niki war vereinfacht, entsprach aber grundsätzlich der von Turbo Pascal, meiner ersten „richtigen“ Programmiersprache. Ich kann mich nicht erinnern, warum ich damals nicht am Ball geblieben bin – vermutlich habe ich die Rettung der Prinzessin in Super Mario Land auf dem Game Boy schlicht höher priorisiert. So blieb ich zwar bis heute Tech-Nerd und die IT-Support-Hotline für die gesamte Verwandtschaft, aber immer nur mit der Anwenderbrille auf. Meine Entwicklungskenntnisse sind im Jahr 1991 bei Niki und „vor; drehe_links; vor; nimm_auf“ stehen geblieben.
„Ich habe Feuer gemacht!“ – Tipps zum Start
Das Schöne am Programmieren lernen sind die Erfolgserlebnisse am Anfang. Schnell steht das erste „Hello World“ auf dem Bildschirm. So muss es sich damals für unsere Vorfahren angefühlt haben, als das erste Mammut-Steak über dem vermutlich eher zufällig entzündeten Feuer brutzelte. Meine Erfahrung nach den ersten vier Wochen als Programmieranfänger: Jeder hat sein individuell am besten funktionierendes Lernformat, -umfeld und -pensum. Das mag ein wöchentlicher VHS-Kurs sein, eins der zahlreichen Online-Programme oder – wie in meinem Fall – der autodidaktische Ansatz. Als Wochenendpendler kann ich die Zeit im ICE auf der Strecke Düsseldorf-Frankfurt ideal nutzen, um in meinem eigenen Tempo Fortschritte zu machen. Den sanften Druck eines regelmäßigen Kurses brauche ich persönlich nicht, um am Ball zu bleiben.
Sprache egal
Mit welcher Programmiersprache man startet, ist egal. Die Grundkonzepte lernt man überall ähnlich gut. Für Apple-Freunde, die von ihrer eigenen App träumen, ist Swift naheliegend – zumal Apple mit der kostenlosen App „Swift Playgrounds“ für das iPad den Einstieg wirklich kinderleicht macht. Ich habe mich für Python entschieden, da Python allgemein als einsteigerfreundlich gilt und ich dank der App „Pythonista“ eine Entwicklungsumgebung zum Üben jederzeit auf dem iPad dabei habe und keinen Laptop brauche.
Literatur- und Medientipps
Didaktisch hervorragend geeignet zum Selbststudium sind die Bücher der Reihe „Head First“ (danke an Valentino für den Tipp). Wie gut die teils verfügbaren deutschen Übersetzungen sind, kann ich nicht beurteilen, da ich mich an das englische Original halte. Ich arbeite aktuell mit dem frisch erschienenen Buch „Head First Learn to Code: A Learner‘s Guide to Coding and Computational Thinking“ von Eric Freeman. Didaktisch super, dauerhaft motivierend und damit für den Einstieg uneingeschränkt empfehlenswert. Wer auf deutsche Literatur fixiert ist, dem kann ich „Einstieg in Python“ von Thomas Theis aus dem Rheinwerk Verlag empfehlen. Parallel schaue ich noch die kostenlos über YouTube verfügbare Grundlagenlehrveranstaltung „Introduction to Computer Science and Programming in Python“ aus dem Wintersemester 2016 am MIT. Ich finde es sehr hilfreich, die Begriffe und Konzepte in den verschiedenen Quellen jeweils etwas anders aufbereitet vermittelt zu bekommen, auch wenn der fix ansteigende Schwierigkeitsgrad in den MIT Lectures eventuell nicht jedermanns Sache ist.
Abschließend noch eine gute Nachricht: Nichts, was ich bei meinen teils dilettantischen Code-Versuchen bislang eingetippt habe, hat eine Explosion verursacht. Also: Einfach loslegen!
Diese Themen interessieren uns
Learnings from ECB Exploratory Phase – Part 1
Lean and Secure Decentralized Delivery-versus-Payment (DvP) for Securities Settlement
22. Dezember 2023