Robotik, vernetzte und autonome Autos, Drohnen und Produktionsmaschinen und Big Data - alle aktuellen industriellen Trends lassen sich auf die Bedeutung der Software zurückführen. Die Begriffe Industrie 4.0 und vernetztes Arbeiten sind für uns selbstverständlich geworden. Doch an Mitarbeitern mit Verständnis für derartige Technologien fehlt es.
Softwareentwicklung hat Zukunft
Der Beruf des Software-Entwicklers wurde bereits von vielen Organisationen zum erfolgversprechendsten überhaupt gewählt. Beispielsweise im Jahr 2014 von den Lesern der US-amerikanischen Zeitung US News. Der artverwandte Beruf des Data Scientists, das sind Entwickler von analytischen Programmen, gilt sogar als sexiest Job des 21. Jahrhunderts.
Für diese hochprofessionellen IT-Berufsbilder reicht erste Programmiererfahrung jedoch nicht aus. Wer diesen Beruf anstrebt, muss sehr tief in die Materie einsteigen und langjährige Berufserfahrung sammeln. Laut der Bitkom e.V. haben es Quereinsteiger daher auch zukünftig schwerer, den Weg in die IT-Branche zu finden.
Warum Jeder in die Programmierung einsteigen sollte
Nahezu jede Fachkraft ist heute von stationären und mobilen Computern umgeben, die untereinander vernetzt wesentliche Aufgaben im Unternehmen sowie im öffentlichen Leben übernehmen. Eingebettet in Quellcode, läuft ein Großteil aller operativen Prozesse bereits automatisiert ab oder gibt Mitarbeitern vor, was zu tun ist. Bereits heute steuern ERP-Systeme Unternehmen auf operativer Ebene, bestimmte Handelsprozesse sind vollautomatisiert und über eine Kreditvergabe entscheidet die menschliche Expertise nur noch zum Bruchteil.
Während sich überwiegend geistig tätige Angestellte in den letzten Jahren noch recht wenige Sorgen machten mussten, von Maschinen ersetzt zu werden, wird sich dieses Bild in den kommenden Jahren gravierend ändern. Denn nicht nur die Robotik, Drohnen und autonome Fahrzeuge durchlaufen derzeit enorme Entwicklungszyklen, sondern auch die Algorithmen aus der Kategorie künstliche Intelligenz, die immer mehr dieser Maschinen steuern und zu einem autonomen, selbstlernenden System machen. Diese künstliche Intelligenz eignet sich - und das bereits in vielen Fällen erprobterweise - zur autonomen Steuerung von Fahrzeugen, dem eigenen zu Hause (Smart Home), Verkehrsleitsystemen, Unternehmensprozesse und, unter dem Leitbild der Industrie 4.0, von ganzen Fabriken (Smart Factory).
Im Jahr 2020 sollten alle Kinder der höheren Schulklassen zumindest die Grundlagen beherrschen, so zumindest fordern es Industrie- und Bildungsverbände. Und in vielen Staaten ist das bereits Realität. Aus gutem Grund, denn Software bestimmt maßgeblich unsere Arbeit und privates Leben.
Programmier-Know-How bedeutet Selbstbestimmung
Software-Entwicklung ist eine schöpferische Tätigkeit, die nicht nur viel Selbsterfüllung bieten kann, sondern auch - zumindest ein Stück weit - Selbstbestimmung ermöglicht.
Erst wer weiß, wie Software Daten verarbeitet, Daten im Hintergrund speichert und welche Schnittstellen üblicherweise verwendet werden, kann wirklich einschätzen wie mit Themen rund um Datenschutz, Zensur und Fehlern umzugehen ist.
Beispielsweise ist Google nicht nur die mächtigste Suchmaschine des Internets, sondern bestimmt auch ganz aktiv, welche Suchergebnisse wir zu Gesicht bekommen. Und wer beispielsweise andere, nicht von Apple autorisierte Programme auf seinem iPhone installieren möchte, muss sich technisch mit dem Gerät auseinandersetzen und verstehen, wie diese Zensur umgangen werden kann. Dass die Mehrheit der Benutzer solcher Endgeräte dazu jedoch nicht in der Lage ist und keine Kenntnisse über diese Zensur hat, könnte mit steigender Bedeutung dieser Geräte und Dienste zu großen gesellschaftlichen Problemen führen.
Auch das Media-Saturn-Motto "bei Technik-Fragen, Technik fragen!" soll der Motivation für ein bisschen mehr Selbstbestimmung keinen Abruch tun, denn zur Selbstbestimmtheit gehört auch, dank Grundlagenverständnis die mit einem Problem betreuten Techniker verstehen zu können.
Logisches und problemlösungsorientiertes Denken
Jedes Programm stellt eine Lösung für ein Problem dar, die während der Programmierung in viele kleine sequentielle oder parallele Arbeitsschritte zerteilt werden muss. Unterschiedliche Konzepte, wie etwa objektorientiertes Programmieren und relationale Datenbanken, verstanden zu haben, hilft nicht nur in der IT-Welt, sondern auch in der Realität vorhandene Probleme zu abstrahieren. Nicht umsonst finden Konzepte, die eigentlich aus der Informatik/Ingenieurwissenschaft kommen, beispielsweise Lean Management (Toyota-Produktionssystem) oder Scrum (aus der Software-Technik) heute auch im generellen Projektmanagement ihre Anwendung.
- Schneller als Plan-Build-Run
Die Anforderungen an Software verändern sich im Laufe der Entwicklung oft erheblich - anders als bei einem Auto zum Beispiel. Dem tragen agile Methoden wie Scrum Rechnung. - Besseres Ineinandergreifen
Bei traditioneller Softwareentwicklung greifen Zahnräder oft nicht ineinander, sondern sie rotieren nebeneinander vor sich hin. Scrum sorgt für nahtlosere Prozesse. - Jeder spricht mit jedem
Bei vielen Softwareprojekten mangelt es an gelungener Kommunikation, bei Scrum ist regelmäßiges Feedback für alle Beteiligten Pflicht. - Mehr Qualität
Mit Hilfe von Scrum entwickelte Software ist in der Regel besser als andere, weil hier frühzeitig das Feedback der Kunden integriert wurde. - Chaos führt nicht zu Panik
Chaotisch ist Scrum insofern, als sich der damit verbundene Prozess nicht einfach mit einem Pfeil beschreiben lässt, der links auf dem Blatt Papier anfängt und irgendwo rechts aufhört. Sondern er ist mehrdimensional. Wenn sich alle an bestimmte Regeln halten, läuft trotzdem nichts aus dem Ruder. - Im Mittelpunkt: Der Mensch
Scrum heißt Gedränge. Und es bedeutet, den Menschen in den Mittelpunkt zu stellen in dem Sinne, dass ihm die Methode ermöglicht, effizient und gleichzeitig kreativ zu arbeiten. - Automatisierte Tools statt Selbstgestricktes
Oft verwendet jede Abteilung eigene Anwendungen, um Entwicklungsschritte zu dokumentieren, zum Beispiel Excel. Automatisierte, vor allem einheitliche Tools beschleunigen hier die Abläufe erheblich. - Nicht nur am Ende testen
Zeitgemäße Entwicklungsumgebungen erlauben es, auch einzelne Module zwischendurch zu testen, um immer auf dem neuesten Stand zu sein.
Auch der Blick für Details wird durch Programmierung geschärft. Jeder, der schon Stunden damit verbracht hat, einen Code auch von kleineren Programmen zu Debuggen, schätzt es, wie sich bereits in wenigen Stunden der eigene Blick für Details verbessert.
Programmierung macht Spaß - Männern wie Frauen
Selbst wenn dies doch nicht auf alle Menschen zutrifft, habe ich noch niemand erlebt, der nach einem intensiven Programmierworkshop im Nachgang nicht doch ein bisschen stolz gewesen wäre. Wer den Unterschied zwischen dem Auslesen von Daten durch iterative Schleifen oder Rekursion bereits im Gefühl hat, wird dieses Verständnis ein Leben lang nicht mehr verlieren, jedoch in vielen Situationen auch außerhalb der Software-Entwicklung davon profitieren. (bw)