Bill Gates wird oft das folgende Zitat zugeschrieben:
“Ich werde immer eine faule Person wählen, um einen schwierigen Job zu erledigen, weil eine faule Person einen einfachen Weg finden wird.”
Bill Gates
Es ist ein großartiges Zitat, aber es stammt von Frank B. Gilbreth Sr. Er studierte die besten und ärmsten Maurer und stolperte über eine erstaunliche Tatsache:
Er konnte am meisten von dem faulen Mann lernen!
Denn während die bequemeren Arbeiter unnötige Bewegungen vermieden und damit die Ermüdung reduzierten, neigten die erfahrenen Kräfte zu einer Verausgabung und leisteten dennoch viel weniger als die fauleren Arbeiter.
Warum die Fauleren letztendlich effizienter arbeiteten? Sie vereinfachten Arbeitsabläufe und nutzten verfügbare Werkzeuge an jeder erdenklichen Stelle. Gleiches kann auf das Programmieren und die Ziele, die mithilfe der IT erreicht werden sollen, übertragen werden.
Warum du Dinge automatisieren solltest
Durch Automatisierungen sparst du dir Zeit, vermeidest Monotonie und Langeweile und lernst etwas Neues. Du erhöhst also deine Lebensqualität und deinen Wert in einem Zug.
Das Programmieren eröffnet dir neue Möglichkeiten und kann letztendlich von jedermann erlernt werden. Dabei solltest du aber gerade am Anfang den Fokus nicht auf die Erschaffung von etwas vollkommen Neuartigem legen, sondern vielmehr an die Automatisierung von Abläufen denken.
Stelle dir die Frage, wie du dir das Leben und die bevorstehenden Aufgaben möglichst einfach machen kannst. Die Automatisierung hilft dir Zeit zu sparen und nebenbei mehr über das Programmieren zu lernen.
Muss ich hart arbeiten, um ein guter Programmierer zu werden?
Du denkst wahrscheinlich, dass du hart arbeiten musst, um ein Programmierer zu werden, geschweige denn ein guter Programmierer. Durchaus ist zunächst eine Programmiersprache mit eigener Grammatik, Vokabeln und Regeln zu lernen, doch reichen ein wenig Motivation und wöchentlich etwas Zeit bereits aus, um nach relativ kurzer Zeit erste Automatisierungen zu erstellen. Führe dir vor Augen, was und warum du programmieren möchtest.
Das hört sich zunächst nach viel Arbeit und weniger nach einem lässigen Weg an.
Du stellst dir vermutlich die Frage, ob das Zitat dann wirklich auf den Bereich der Programmierung übertragen werden kann. Was sich auf den ersten Blick widerspricht, macht auf den zweiten Blick wirklich Sinn.
Ein Beispiel für eine zeitsparende Automatisierung:
Sehe das Programmieren einmal als nützliches Mittel zum Zweck an. Angenommen du musst eine Vielzahl von Dateien nach einem bestimmten Text durchsuchen und die Dateien mit dem gesuchten Inhalt an eine bestimmte Stelle verschieben, um sie im Anschluss als gepacktes Archiv einem Kunden zur Verfügung zu stellen.
Du hast nun mehrere Optionen:
Du kannst über mehrere Stunden Hunderte von Dateien öffnen, diese mit der Suchfunktion analysieren und bei jedem Treffer die jeweilige Datei an die gewünschte Stelle verschieben.
Mit richtig viel Motivation und Konzentration kannst du, ähnlich wie die erfahrenen Maurer, diese Aufgabe vielleicht in einer etwas kürzeren Zeit schaffen. Wahrscheinlich wirst du danach nicht wie die Arbeiter seinerzeit vollkommen erschöpft sein, doch kann auch eine sich wiederholende, monotone Tätigkeit auf Dauer ziemlich anstrengend sein.
Die zweite Option ist ein Programm zu entwickeln, das die geforderte Aufgabenstellung meistert – und das vollkommen automatisch.
Natürlich kostet die Erstellung erst einmal Zeit. Vielleicht sogar mehr als die manuelle Erfüllung der Aufgabe vor dir.
Doch der Nutzen der Automatisierung macht sich schon bald bemerkbar.
Nachdem das Programm steht, bereiten dir selbst Tausende von Dateien kein Kopfzerbrechen. Und wenn die Aufgabe wiederkehrend ist, profitierst du gleich mehrere Male von der einmaligen Programmerstellung.
Außerdem vermeidest du Fehler.
Menschen werden bei monotonen Aufgaben irgendwann nachlässig, unkonzentriert und machen Fehler.
Programme können auch Fehler machen. Aber sie machen immer die gleichen Fehler!
Dadurch kannst du sie nachvollziehen und beheben. Anschließend bist du sicher, dass dieser Fehler nie wieder auftritt. Egal wie viele Dateien anstehen.
Insbesondere Python ist für derartige Aufgabenstellungen bestens geeignet. Auch mit Excel können zeitsparende Automatisierungen, wie zum Beispiel die automatische Übertragung von Kundendaten in eine E-Mail, erstellt werden. Allerdings bist du mit Python in der Zukunft deutlich flexibler.
Daher denke ruhig mehr an die Automatisierung, sprich Vereinfachung, von Abläufen und setze dir diese als Ziel für die Programmierung.
Stelle dir die Frage, was dich richtig nervt und welche Dinge schon längst einfacher sein sollten.
Was zeichnet einen faulen Programmierer bzw. guten „Automatisierer“ aus?
Wertschätze deine Zeit und die deines Kunden! Suche nach Mustern und Wiederholungen, hinterfrage Prozesse und vereinfache Abläufe. Versuche den größten Nutzen aus möglichst wenig Code herauszuholen. So schaffst du echten Mehrwert!
Die Bezeichnung „fauler Programmierer“ mag vielleicht zunächst etwas befremdlich sein und negativ wirken, doch stecken letztendlich viele positive Eigenschaften dahinter.
Ein fauler Programmierer möchte keine sich wiederholenden und alltäglichen Aufgaben erledigen. Er langweilt sich schnell und sucht neue Abenteuer. Er konzentriert sich darauf, produktiv zu sein, nicht fleißig. Dies erreicht er, indem er nach Mustern sucht und alles automatisiert, um wartbaren und unkomplizierten Code zu erstellen.
Ein fauler Programmierer schätzt seine Zeit und die seiner Kunden, deshalb konzentriert er sich auf die notwendige Arbeit, nicht auf die Anzahl der Stunden. Er widmet seine Zeit den Aufgaben, die für den Kunden einen Mehrwert bieten.
Kurz gesagt – ein fauler Programmierer nutzt alle ihm zur Verfügung stehenden Tools, um mit möglichst wenig Zeit und Code den größtmöglichen Nutzen zu erzielen. Dies erinnert wieder recht stark an die faulen Maurer, von denen man aber letztendlich am meisten lernen kann.
Was ist die Automatisierung in Relation zur Programmierung?
Letztendlich ist die Automatisierung ein Aspekt der Programmierung, der allerdings zu wenig beachtet wird. Doch warum werden die Möglichkeiten zur Vereinfachung von Abläufen nicht genutzt?
Ein Grund dafür ist, dass Wiederholungen normalerweise kaum als solche wahrgenommen werden. Selbst eingefleischte Programmierer nehmen Monotonie nicht unbedingt als störend wahr und setzen sich folglich nicht an die Entwicklung einer helfenden Software.
Die Rolle der Programmierer sollte nicht auf das Schreiben von Code beschränkt sein, da das Potenzial zur Wertschöpfung über das Erstellen von Software hinausgeht. Programmierer können glänzen, indem sie langweilige Aufgaben automatisieren.
Dabei kann es helfen eine Abneigung gegen Ineffizienz zu entwickeln. Etwas, das sinnvoll automatisiert werden kann, sollte automatisiert werden; nicht nur für sich selbst, sondern für alle.
Der Vorteil von vielen kleinen Automatisierungen ist, dass sie mit einem geringen Aufwand in einer größeren Softwarelösung vereint werden können.
Wie kann ich am besten programmieren lernen?
Ein erfolgreiches Automatisieren setzt das Programmieren voraus, doch wie kann programmieren am besten gelernt werden?
Setze dir zunächst ein Ziel.
Was möchtest du automatisieren bzw. programmieren?
Welche lästige Aufgabe soll möglichst vollautomatisch erledigt werden?
Mit dem Ziel vor Augen gilt es die Programmiersprache als Werkzeug verstehen und anwenden zu können.
Grammatik, Vokabeln und Regeln der Sprache können unter anderem über YouTube Videos, Blogs, Udemy Kurse, an der (Fach-)Hochschule oder im Rahmen eines VHS-Kurses gelernt werden.
Hier findest du einen Artikel von mir, in dem ich noch etwas genauer darauf eingehe.
Sofern du dich nicht in Vollzeit der Programmierung widmen kannst, versuche in der Woche mindestens dreimal jeweils eine Stunde für das Lernen und Programmieren aufzubringen. Mehr ist natürlich nicht schädlich, sondern verkürzt die Zeit zu den ersten Ergebnissen.
Wie du siehst, benötigst du zum einen Zeit, um in die Welt der Automatisierung und Programmierung einzusteigen. Zum anderen sind Ausdauer und ein Laptop bzw. PC erforderlich. Der Rechner muss nicht unbedingt zu den leistungsstärksten seiner Art gehören.
Du kannst sogar direkt im Browser und ohne Installation starten. JETZT SOFORT!
Da das Programmieren mit einem permanenten Heraussuchen und Nachschlagen verbunden ist, sollte stets ein Internetzugang vorhanden sein.
Was ich auch nur immer wieder empfehlen kann: Suche dir eine Gruppe!
Gemeinsam lernt und programmiert es sich um ein Vielfaches leichter. Bei Problemen kann man sich gegenseitig weiterhelfen und neue Ideen für die eigenen Überlegungen dazugewinnen.
Komm zu uns ins Discord. Hier findest du Gleichgesinnte und Hilfe und Unterstützung, wenn du sie brauchst.
Dein Wissen und Können wird mit der Zeit weiterwachsen und jede erdenkliche Automatisierung wird möglich.
Dieses Gefühl, wenn du lästige, monotone Aufgaben deinem selbst geschriebenen Programm überlassen kannst, ist unbeschreiblich und wird dich noch mehr motivieren.
Mache dir das Leben einfacher, nutze Automatisierungen und habe mehr Zeit für die wichtigen Dinge im Leben.
Ingo Janssen ist ein Softwareentwickler mit über 10 Jahren Erfahrung in der Leitung seines eigenen Unternehmens.
Er studierte Wirtschaftsinformatik an der TH Deggendorf und hat Softwareentwicklung an der FOM Hochschule in München unterrichtet.
Ingo hat mit einer Vielzahl von Unternehmen zusammengearbeitet, von kleinen und mittelständischen Unternehmen bis hin zu MDAX- und DAX-gelisteten Unternehmen.
Ingo ist leidenschaftlich daran interessiert, sein Wissen und seine Expertise mit anderen zu teilen. Aus diesem Grund betreibt er einen YouTube-Kanal mit Programmier-Tutorials und eine Discord-Community, in der Entwickler miteinander in Kontakt treten und voneinander lernen können.
Sie können Ingo auch auf LinkedIn, Xing und Gulp finden, wo er Updates über seine Arbeit teilt und Einblicke in die Tech-Branche gibt.
YouTube | Discord | LinkedIn | Xing | Gulp Profile