Windows Developer

Kolumne: Stropek as a Service

Neugierig bleiben! Strategien, um in der IT ohne Stress am Puls der Zeit zu bleiben
Keine Kommentare

Ein wichtiger Teil meiner Arbeit ist Wissensvermittlung. Ich werde als Trainer und Vortragender zu Kunden und Konferenzen eingeladen, um über Themen wie Softwarearchitektur, Cloud-Computing oder Programmiersprachen zu sprechen. Eine Frage kommt dabei regelmäßig auf: Wie soll man in der sich mit halsbrecherischem Tempo weiterentwickelnden IT-Branche auf dem Laufenden bleiben? Ist es zwangsläufig so, dass nur noch junge Menschen, die gerade erst ihre Ausbildung beendet haben, den aktuellen Stand der Technik kennen und man im Lauf der Zeit durch die Verpflichtungen des Arbeitsalltags zwangsläufig den Anschluss verliert?

Mir geht es natürlich nicht anders als den Teilnehmerinnen und Teilnehmern meiner Trainings. Es gibt so viel zu lernen, wo soll ich anfangen? Wo soll ich die Zeit hernehmen? In dieser Ausgabe meiner Kolumne möchte ich meine Strategien für technikbezogene Weiterbildung mit euch teilen.

Neugierig bleiben

Der erste und wichtigste Tipp ist: Neugierig bleiben. Und das klingt leichter als es ist. Wenn man beispielsweise in der Webentwicklung arbeitet, läuft man Gefahr, sich von der Geschwindigkeit, mit der Frameworks sterben und neue auftauchen, demotivieren zu lassen. Eine neue Technologie für den Browser? Die schaut man sich gar nicht erst an, ist sowieso bald wieder weg vom Fenster. Alle, die schon länger in der Softwareentwicklung tätig sind, können aus eigener Erfahrung von mindestens einem Technologiedesaster berichten, bei dem man viel Zeit, Mühe und vielleicht sogar Geld in etwas gesteckt hat, das sich am End als Sackgasse erwies. Im Microsoft-Umfeld gibt es ein paar legendäre Beispiele wie Windows Phone oder Silverlight.

Kostenlos: Azure-DevOps-Spickzettel

Jetzt herunterladen und mit wenigen Befehlen das Kommando über Azure DevOps übernehmen!

Download for free

Meiner Meinung nach sollte man in der Softwareentwicklung aktiv an seiner Einstellung arbeiten und auch nach Rückschlägen neugierig an neue Dinge herangehen. Ein neues Framework ist ein neues Spielzeug. Man kann Spaß daran haben, es zu entdecken. Ich muss nicht immer gleich daran denken, welche Konsequenzen die neue Technologie auf meine Arbeitsweise, Prozesse, Teams, Produkte etc. hat. Wenn die Technologie sich nicht durchsetzt, macht das nichts. Man hatte zumindest Freude daran, damit zu experimentieren. Wenn man nicht jedes Experiment gleich todernst nimmt, fällt es auch leichter, es wieder wegzulegen, wenn man merkt, dass es doch nicht so interessant oder relevant ist, wie man am Anfang dachte.

Offen für neue Ideen sein

Das fällt mir persönlich besonders schwer. Ich ertappe mich immer wieder dabei, dass ich unbewusst technologische Neuerungen als Angriff darauf empfinde, wie ich bisher gearbeitet habe. Ich rutsche in eine Verteidigungshaltung und finde jede Menge Gründe, warum das Neue nicht wirklich innovativ und zukunftsträchtig ist.

Es ist aus meiner Sicht wichtig, neuen Ideen gegenüber offen zu bleiben. Man sollte zuhören und versuchen, die Ansätze und Ideen, die hinter der Neuerung stecken, zu verstehen. Es ist nicht schlimm, wenn das Gewohnte und Althergebrachte infrage gestellt wird. Selbst wenn man nicht auf den Zug aufspringt, kann man vielleicht gewisse nützliche Konzepte in seine alltägliche Arbeit übernehmen.

Nicht zögern, sondern entscheiden

Macht es Sinn, sich mit dem einen neuen Framework auseinanderzusetzen oder sollte man sich doch lieber mit dem anderen, konkurrierenden Open-Source-Projekt beschäftigen? Was wird in der Zukunft relevanter werden? Diese Fragen zu stellen, ergibt auf jeden Fall Sinn, wenn man vorhat, viele Ressourcen in eine Technologie zu stecken. Bei der persönlichen Weiterbildung steht sie aber vielen Personen im Weg. Die Vielfalt an Möglichkeiten paralysiert. Man macht lieber nichts, als eine falsche Entscheidung zu treffen. Man ist angesichts limitierter Zeit so auf die Opportunitätskosten fixiert, dass man am Ende ganz ohne Wissensgewinn dasteht.

Wenn mir eine Technologie interessant erscheint, versuche ich, in kurzer Zeit einen Überblick zu gewinnen. YouTube-Videos, Tutorials im Web, Konferenzvorträge, zusammenfassende Artikel in Magazinen etc. sind dabei sehr hilfreich. Wenn man das Big Picture erkannt hat, kann man überlegen, ob ein tieferes Einsteigen sinnvoll ist. Falls nicht, sollte man der Zeit nicht nachweinen, die man investiert hat. Man hat etwas gelernt, nämlich dass man sich mit diesem Thema im Moment nicht auseinandersetzen möchte.

Mehr kurze Lerneinheiten statt langer Sessions

Neben einem Vollzeitjob, der Familie und Hobbies bleibt meist wenig Zeit, sich mit neuen Technologien zu beschäftigen. Zeitmangel ist das Hauptproblem bei der Weiterbildung, von dem ich in Trainings höre. Es gibt dieses Thema betreffend eine gute Neuigkeit: Es ist wissenschaftlich erwiesen, dass Lernen und Üben in mehreren, kurzen Einheiten effizienter ist als in wenigen, langen Phasen. Wenn man also immer nur kurze Zeitspannen hat, sich mit Neuem zu beschäftigen (z. B. im Zug auf dem Weg zur Arbeit oder zum Kunden, am Abend, wenn die Kinder im Bett sind, im Auto mit einem Hörbuch), ist das kein Nachteil – im Gegenteil.

Scheitern kostet fast nichts

Wer Fallschirmspringen oder Felsenklettern will, sollte sich vorher intensiv mit den Grundlagen beschäftigen. Die Folgen eines Fehlers wären fatal. Beim Lernen neuer Technologien ist das heute anders. Praktisch alle Programmiersprachen und Frameworks sind Open Source oder zumindest für den nicht kommerziellen Gebrauch kostenlos. Alle großen Cloud-Provider haben Programme für kostenloses Ausprobieren. Gemeinnützige Vereine wie Programmierclubs erhalten von Cloud-Providern oft Kontingente für Cloud-Ressourcen, die man zum nicht kommerziellen Experimentieren und Lernen verwenden kann. Manche Cloud-Dienste sind bei geringer Nutzung von Haus aus kostenfrei.

Die Kosten des Scheiterns sind also in unserer Branche zum Glück gering. Das ist es, was ich an Software auch so liebe. Im Gegensatz zu Projekten mit Hardware braucht es kaum Anfangsinvestitionen und kein Warten auf Lieferungen von Material aus Fernost. Unsere Werkzeuge stehen über das Internet sofort zur Verfügung und sie lassen sich praktisch kostenlos so oft kopieren wie man möchte. Ich kenne kaum eine andere Branche, die einen solchen Luxus bezüglich Weiterbildung hat.

Verwirrung ist dein Freund

Ich lerne und übe gerade die Programmiersprache Go. Als jemand, der mit objektorientierter und funktionaler Programmierung aufgewachsen ist, hat mich Go am Anfang sehr verwirrt. Keine Klassen, keine Generics, keine Exception – WTF? Ich bin seit Jahrzehnten an diese Konzepte gewöhnt. Wie soll man ohne sie programmieren?

Das ist erstens ein gutes Beispiel für das oben genannte Prinzip des Offenbleibens für neue Ideen. Anstatt Go angesichts der radikalen Unterschiede zu C# als unbrauchbar abzutun, lassen wir uns darauf ein und nehmen an, dass die Erfinder der Programmiersprache nicht vollkommen praxisfremd waren.

Zweitens lassen wir die anfängliche Verwirrung zu und fühlen uns deshalb nicht schlecht oder dumm. Wir lassen uns nicht abschrecken und kehren nicht einfach in die bequeme Komfortzone zurück. Wenn man tiefer in die Materie einsteigt, ist das spätere Aha-Erlebnis umso befriedigender und wir haben unseren Horizont erweitert. Ich weiß noch nicht, ob ich Go irgendwann in der Praxis einsetzen werden. Ganz unabhängig davon habe ich durch meine Go-Experimente schon jetzt eine neue Sichtweise auf gewisse C#-Features gewonnen.

Komfortzone verlassen und tiefer einsteigen

Niemand wird durch das Ansehen eines Videos auf YouTube oder Durchspielen eines Hello-World-Tutorials zu einer Expertin oder einem Experten in einer neuen Technologie. Man sollte sich durch die anfängliche Begeisterung auch nicht täuschen lassen. Wenn man sich näher mit einer Technologie auseinandersetzt, lernt man nicht nur ihre Möglichkeiten, sondern auch ihre Grenzen und Herausforderungen besser kennen.

Wenn man entschieden hat, sich ernsthaft in etwas Neues einzuarbeiten, braucht es vor allem eines: konsequentes Üben. In dieser Phase kommen einem ein paar der oben genannten Prinzipien in die Quere. Wer gegenüber allem Neuen neugierig bleibt, ist auch leicht abzulenken. Es besteht die Gefahr, dass man ein Wenig über vieles weiß, aber nirgendwo ausreichend tiefes Wissen hat, um es in der Praxis einsetzen zu können.

Zugegeben, das ist ein Problem, das ich nur allzu gut kenne. Im Lauf der Jahre musste ich Strategien entwickeln, wie ich an einem Thema, das ich für mich als relevant eingestuft habe, eine gewisse Zeit dranbleibe. Für mich funktionieren die folgenden drei Tipps ganz gut:

  • Ich schreibe und spreche gerne über neue Technologien (z. B. Blogartikel, Artikel in Magazinen, Vorträge auf Konferenzen oder bei Meetups etc.). Durch Abgabe- und Konferenztermine ist man gezwungen, die Arbeit an dem neuen Thema nicht auf die lange Bank zu schieben. Viele meinen, dass man als Sprecherin oder Autorin nur wertvollen Inhalt anbieten kann, wenn man Expertin auf dem jeweiligen Gebiet ist. Das sehe ich nicht so. Manchmal hat man gerade als Neueinsteiger eine Sichtweise auf ein Themengebiet, die ganz anders ist als die einer Person mit jahrelanger Erfahrung. Andere Anfänger können von den Erfahrungen die man beim Einstieg gesammelt hat, profitieren. Natürlich muss man ordentlich recherchieren, keine falschen Anleitungen vermitteln und Inhalt gut strukturieren. Genau dieser Qualitätsanspruch zwingt einen dazu, tiefer zu gehen.
  • Side Projects sind eine gute Möglichkeit, eine neue Technologie ohne großes Risiko auszuprobieren. Man sollte sich ein Thema suchen, an dem man persönlich interessiert ist (z. B. in Verbindung mit einem anderen Hobby). Es sollte auch kein Projekt sein, bei dem das Scheitern katastrophal wäre und ein Verschieben der Projektziele unmöglich ist. Andererseits sollte das Projekt auch ein definiertes Enddatum haben, das zum zeitnahen Lernen und Üben zwingt.
  • Open-Source-Projekte bieten jede Menge Gelegenheiten, sich einzubringen. Man kann an der Dokumentation mitarbeiten (auch Tutorials für Anfänger sind wichtig und wertvoll), Lernvideos produzieren, Artikel übersetzen, an weniger komplexen Randthemen arbeiten etc. Viele Open-Source-Projekte markieren mittlerweile GitHub Issues, die sich gut zum Einsteigen als Contributor eignen (z. B. mit „good first issue“ markierte Issues im TypeScript-Projekt).

Fazit

Als Softwareentwicklerinnen und -entwickler arbeiten wir in einer Branche, die sich rasant entwickelt. Speziell im Bereich SaaS und Cloud-Computing vergeht keine Woche ohne Neuankündigungen. Es ist wichtig, sich Strategien zurechtzulegen, wie man langfristig sein Wissen auf dem aktuellen Stand halten möchte.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -