Skip to main content

Nutze deine Entwickler-Superkraft!

Jeder Softwareentwickler hat mit seinem Beruf eine einzigartige und unglaublich mächtige Superkraft erworben. Doch nicht jeder nutzt diese oder ist sich dem riesigen Potential bewusst. Deshalb möchte ich in diesem Beitrag darauf eingehen, wie jeder diese Superkraft nutzen und dann auch bewusst in seinen Arbeitsalltag einbinden kann.

Doch von welcher Superkraft spreche ich eigentlich mag sich der eine oder andere nun denken. Die Rede ist von der Fähigkeit wiederkehrende Abläufe durch technische Lösungen vollständig oder zu einem großen Teil zu automatisieren. Kurz: Automatisierung. Mir ist kaum ein anderer Beruf bekannt in dem es die Möglichkeit gibt so flexibel auf wiederkehrende Tätigkeiten zu reagieren und diese dann zu automatisieren. Im Idealfall muss ich mich dann überhaupt nicht mehr damit beschäftigen oder maximal eine auswertende/kontrollierende Position einnehmen. Es gibt für mich mittlerweile kaum etwas schlimmeres, als wenn ich am Computer manuell immer und immer wieder die gleiche Tätigkeit ausführen muss. Sobald ich eine solche Tätigkeit erkannt habe versuche ich diese so weit es möglich ist zu automatisieren. Das hat dann diverse Vorteile zur Folge. Für mich und mein Umfeld.

Vorteile und Nutzen der Automatisierung

Die Automatisierung von Tätigkeiten hat viele Vorteile. Einige davon sind denke ich jedem auf den ersten Blick klar. Andere Vorteile werden erst deutlich, wenn man sich intensiver mit dem Thema auseinandersetzt.

Zeitmanagement

Der wahrscheinlich offensichtlichste Vorteil ist die in größerem Maße vorhandene Zeit. Statt die Zeit dafür zu verwenden immer wieder die gleiche Tätigkeit auszuführen, kann diese in neue Aufgaben investiert werden. Nun gibt es sicherlich auch die Argumentation, dass die Automatisierung einer Tätigkeit ebenfalls Zeit in Anspruch nimmt. Das ist natürlich wahr. Soll ein Vorgang automatisiert werden, so ist vorher auf jeden Fall die Kosten-Nutzen Frage zu klären. Wenn die Automatisierung fünf Stunden dauert, der Vorgang aber manuell in drei Stunden erledigt ist, dann macht die Automatisierung auf den ersten Blick natürlich keinen Sinn. Diese Aussage trifft aber nur zu, wenn es sich um einen einmaligen Vorgang handelt. Muss dieser allerdings jede Woche durchgeführt werden, so habe ich schon in Woche zwei eine Stunde an Zeit gespart, wenn der Vorgang vollends automatisiert abläuft.

Wissenszuwachs

Über die Jahre stößt man auf die verschiedensten Tätigkeiten aus diversen Bereichen, die automatisiert werden könnten. Abhängig vom Bereich gibt es unterschiedliche Lösungen für die Automatisierung, die eine besser als die andere. So eignet sich beispielsweise Powershell besser um einen Vorgang im Bereich Windows zu automatisieren, als für die Auswertung von XML-Dateien. Auf Grund dieser vielen verschiedenen Bereiche kommt man zwangsläufig immer wieder in Kontakt mit Programmiersprachen oder Tools, die einem vorher noch nicht bekannt bzw. geläufig waren. Und genau dann macht eine Automatisierung meiner Meinung nach am meisten Spaß. Denn so wird nicht nur der angesprochene Vorteil des positiven Zeitkontos erreicht, sondern dazu auch noch ein Wissenszuwachs. Dieser Wissenszuwachs hat viele positive Effekte. Neben der Erweiterung der eigenen Fähigkeiten steht einem in Zukunft ein viel größeres Arsenal an Werkzeugen zur Verfügung, die z.B. zur Automatisierung anderer Vorgänge genutzt werden können. Umso schneller sind diese bevorstehenden Aufgaben dann zu bewältigen. Und in Hinblick auf Chancen auf dem Arbeitsmarkt oder in Gehaltsverhandlungen ist die Erweiterung der eigenen Fähigkeiten sicherlich ebenfalls nur von Vorteil.

Sollte das Einsetzen von Automatisierung nicht selbstverständlich sein?

Möglicherweise mag sich der eine oder andere nun fragen warum ich all das hier schreibe. Schließlich ist die Automatisierung von Prozessen doch ein alltäglicher Vorgang in IT-Unternehmen. Das mag auf gewisse Bereiche zweifelsohne zu treffen. So gibt es in den meisten Unternehmen durchdachte Deployment- und Testprozesse, die automatisiert sind. Ist der Sourcecode einmal in der Sourceverwaltung, so läuft der Rest automatisch, abgesehen von ein paar menschlichen Kontrollinstanzen. Aber auf diese Szenarien möchte ich mit diesem Beitrag auch gar nicht abzielen. Ich meine die kleinen und manchmal unscheinbaren Aufgaben mit denen wir uns Tag für Tag beschäftigen. Sei es die immer gleiche Kontrolle einer Log-Datei, das Schreiben von Status-Mails nach gleichem Schema oder das Einhalten bürokratischer Richtlinien wie z.B. Formatierungen. Ich denke, dass fast jedem mindestens eine Tätigkeit seines Arbeitsalltags in den Sinn kommt, die regelmäßig wiederkehrt, aber nicht automatisiert ist. Oft legen wir sehr großen Wert auf Automatisierung im unmittelbaren Bereich der Softwareerstellung und deren Auslieferung. Und das ist auch genau richtig und gut so. Allerdings sollten wir dabei die vermeintlichen Kleinigkeiten nicht aus den Augen verlieren. Denn auch diese Kosten uns in Summe Zeit und Nerven.

Wie also seine Superkraft sinnvoll und effektiv einsetzen?

Ich möchte an dieser Stelle auch noch einmal darauf hinweisen, dass es mit Sicherheit auch Tätigkeiten gibt, die zwar wiederkehrend sind, deren Automatisierung aus welchen Gründen auch immer aber keinen Sinn macht. Je nach Bereich, Anforderung, Wichtigkeit usw. wird es immer wieder vereinzelt Aufgaben geben, die gar nicht oder nicht sofort automatisiert werden können. Dieser Beitrag soll nur nochmal den Blick schärfen und jeden dazu anregen sich und seinen Arbeitsalltag zu beobachten. So finden sich vielleicht die einen oder anderen Prozesse, die „aus dem Weg geschafft“ werden können und so Raum für Neues geben.

Bei mir ist es mittlerweile zu einer festen Routine geworden genau diese Reflektion immer wieder vorzunehmen. Habe ich eine Aufgabe ausgemacht, so gehe ich immer grob nach dem gleichen Schema vor um diese zu automatisieren:

  • Kann die Aufgabe überhaupt durch einen automatischen Prozess übernommen werden?
  • Was ist die Ausgangssituation und was soll das Ziel sein?
  • Gibt es für den Anwendungsfall schon ein Tool?
    • Eine festgelegte Zeit googlen und Informationen beschaffen (maximal 15 Minuten)
    • Hat jemand anderes aus dem Team/dem Unternehmen schon einmal ein ähnliches Problem gehabt und eine Lösung geschaffen ohne, dass ich es weiß?
  • Wenn es kein fertiges Tool gibt, wie kann ich die Automatisierung selber erstellen?
  • Ist die dafür benötigte Zeit den Aufwand wert oder bin ich anders schneller?
  • Ggf. Skills „erlernen“, um Automatisierung zu erstellen z.B. Skript-Sprache
  • Nach dem Fertigstellen der Lösung diese im Team/dem Unternehmen vorstellen und Informationen streuen!

Der letzte Punkt ist für mich ein sehr wichtiger! Es gibt aus meiner Sicht nichts, das es rechtfertigen würde eine Lösung für ein Problem, auf das vielleicht auch andere einmal stoßen könnten, für sich zu behalten. Und neben der Lösung des Problems können auch andere noch von der ggf. stattgefundenen Wissensbeschaffung eines Einzelnen profitieren. So hat dieser nicht nur einen Mehrwert für sich selber, sondern auch für das ganze Unternehmen und seine Kollegen geschaffen. Wie könnte es besser sein?

 

Ich hoffe, dass ich den einen oder anderen dazu anregen konnte sich und seinen Arbeitsalltag zu beobachten. Sicherlich werden Prozesse auffallen, die noch nicht automatisiert sind, aber automatisiert werden könnten. Dann scheut euch nicht diese anzugehen. Es kann euch nur nach vorne bringen. Und habt Spaß dabei!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert