Schneller programmieren lernen

Es ist ein regnerischer Abend. Draußen ist es dunkel, ein Getränk steht auf dem Tisch. Einem gemütlichen Abend steht nichts mehr Weg. Auf der Welt verteilt sitzen zwei Leute Zuhause an ihrem Computer. Beide kommen auf die Idee, mit Python Programmieren zu lernen. Einer von den beiden heißt Klaus. Klaus legt ohne zu zögern los. Er arbeitet sich sequentiell durch die Dokumentation und durch Tutorials. Er befasst sich mit wichtigen Grundlagen, genauso aber mit eher unwichtigen Themen. 

Der andere Entwickler heißt Tim. Tim geht systematisch vor. Er analysiert. Mit der DiSSS Technik verschafft er sich einen Überblick über die ganze Thematik. Dann setzt er Prioritäten. Er wird, dank der guten Vorbereitung, schneller Resultate erzielen. Die eher unwichtigen Themen schaut er sich an, wenn er sie benötigt. Möchtest Du auch schneller programmieren lernen? Dann lies weiter!

Was ist DiSSS?

Die Abkürzung DiSSS steht für Arbeitsmethoden. Genaugenommen sind es keine umbahnbrechende Innovationen. Viel mehr sind es Methoden, die strategisch eingesetzt werden. Formalisiert hat sie Tim Ferriss, in seinem wunderbaren Buch 4-Hour Chef. Die Abkürzung DiSSS steht für:

  • Deconstruction
  • Selection
  • Sequencing
  • Stakes

Das »i« hat keine Bedeutung. Es wird verwendet, damit man die Abkürzung aussprechen kann.

Schnell programmieren lernen mit DiSSS

Eine gute Nachricht: Du kannst schnell programmieren lernen! Wunder erwarten darfst Du keine. Ein Großteil dessen, was einen professionellen Entwickler auszeichnet, ist Erfahrung:

Wissen vs Erfahrung

Die entsteht erst durch Praxis. Die braucht nunmal Zeit. Bei DiSSS es geht vielmehr darum, zeitnah erste Ergebnisse zu erzielen. Konkret kann man klar definierte Ziele, ohne Umwege, erreichen. Es gibt eine schöne Formel, die das umschreibt. Du erreichst mit 20% der Zeit etwa 80% des Ergebnisses. Täusch Dich jedoch nicht. Der Teufel steckt im Detail. Für die restlichen 20% benötigst Du in der Regel die restlichen 80% der Zeit. Das gilt fast universell.

Im Python Beispiel vom Anfang hat Klaus unmittelbar angefangen zu lernen. Er arbeitet die Dokumentation, im Anschluss Bücher, von vorne nach hinten durch. Beide haben das Ziel eine ganz bestimmte Software zu entwickeln. Klaus wird Tutorials durcharbeiten, bis die für sein Projekt relevanten Themen im Lehrplan aufgetaucht sind. Das ist nicht falsch! Im Gegenteil. Bei gewissenhafter Arbeit wird sein Wissen auf mehr Erfahrung sockeln.

Tim hingegen wird seine gewünschte Software eher fertigstellen. Zusätzliche Grundlagen stehen erst im Anschluss an das Projekt auf dem Programm. Es folgt die Erklärung zu den notwendigen Schritten.

Deconstruction

Zuerst verschafft sich Tim einen Überblick über die Themengebiete. Der Name »Deconstruction« deutet es an: Er zerlegt die Sprache in seine Bestandteile. Dazu arbeitet er die Dokumentation durch, umreißt die Kernthemen. Wie kleinteilig das erfolgt, hängt vor allem von der verfügbaren Zeit ab. Ein Beispiel:

Tim hat vier Tage Zeit, um zu lernen. Er unterteilt die Sprache Python in große, logische Lerneinheiten. Wenn er vier Wochen zur Verfügung hat, könnten kleinere Einheiten entstehen, um Details mehr Zeit zu widmet.

Der nächste Schritt besteht in der Auswahl der relevanten Module oder Lerneinheiten.

Selection

Der Schritt »Selection« besteht in der Auswahl der erkannten Lerneinheiten. Tim möchte ein Tool zur Auswertung von Datenbankeinträgen entwickeln. Er muss sich Grundlagen zur Sprache aneignen. Er muss eine Einheit zum Thema Datenbankabfragen einplanen. Zudem muss das Wissen zur Verarbeitung auf den Lehrplan. Viele andere Themen kann er für den Anfang ignorieren.

Sequencing

Im Schritt »Sequencing« geht es dann um eine sinnvolle Reihenfolge. Wissen baut aufeinander auf. Die Grundlagen müssen zuerst auf dem Programm stehen. Die Datenbankabfragen sind das nächste Thema. Es kann nichts verarbeitet werden, wenn die Daten nicht verfügbar sind. Der dritte und letzte Schritt besteht dann in dem Wissen rund um die geplante Verarbeitung.

Eine Zeitplanung sollte ebenfalls erfolgen. Da nur begrenzt Zeit verfügbar ist, gilt es die clever zu nutzen. Der Plan für die verfügbaren vier Tage könnte zum Beispiel zwei Tage Grundlagen, einen Tag Datenbanken und einen Tag Verarbeitung vorsehen.

Stakes

Der letzte Schritt hat eher etwas mit Motivation zu tun. Die Idee ist es etwas »auf’s Spiel zu setzen«. Es soll »den Druck erhöhen«. Das kann ein materieller Verlust sein. Wenn die eigene Vorgabe nicht erreicht wird, kann man zum Beispiel an eine politische Partei spenden, die man eigentlich nicht mag. Das muss am besten durch eine dritte Partei realisiert werden, damit man sich nicht selbst anlügt. Dieser Schritt ist aus meiner Sicht optional.

Alternativ kann es auch etwas Peinliches sein, das bei einem Scheitern droht. Was wenn zum Beispiel nur fünf Tage Zeit sind, ein bestimmtes Lied vor einem Live-Auftritt zu lernen? Oh, vorher noch nie vor einem Schlagzeug gesessen? Um sich nicht zu blamieren, wird man sich automatisch mit nicht vielen Dingen neben dem Schlagzeug spielen befasst! Es steht einiges auf dem Spiel. Genau das dachte sich auch Tim Ferriss. Im Rahmen seiner Show »The Tim Ferriss Experiment« hat er das gemacht. Er ist nach nur fünf Tagen Vorbereitung mit der Rockbank »Foreigner« Live aufgetreten. Zuvor konnte ich kein Schlagzeug spielen. Mehr dazu in diesem Artikel.

Fazit

Schnell programmieren lernen ist möglich. Wunder kann man nicht erwarten. Allerdings kann man sehr schnell konkrete Ziele erreichen, wenn man sich beim Lernen auf das beschränkt, was für das Ziel notwendig ist. Genau dort setzt DiSSS an. Es ist ein formalisierter Weg, um genau herauszufinden was wichtig ist.

Schreib einen Kommentar

Your email address will not be published.