• Teaser Home

    Clean Code Developer School

    Saubere Softwareentwicklung üben – regelmäßig, fokussiert, individuell, angeleitet

Bring Your Own Problem

Unterricht findet üblicherweise mit vorgegebenen Aufgaben statt. Das ist didaktisch sinnvoll, weil damit der Zuwachs beim Lernstoff gesteuert werden kann. Und es macht den Unterrichtenden sicherer, weil er das Feld der potenziellen Probleme überschauen kann.

Einerseits ist das verständlich und sinnvoll – andererseits aber wird damit ein Folgeproblem erzeugt, dem sich der Unterrichtende elegant entzieht: der Transfer. Das vermeintlich Gelernte muss im dreckigen Tagesgeschäft angewandt werden. Da passiert es schnell, dass das gekonnt Geglaubte sich sperrt. Es kommt zu unerwarteten Fehlern, es dauert alles länger, die Motivation sinkt. Unter der Trainer ist weit weg.

Das möchte die Clean Code Developer School (CCDS) ändern. Sie bietet für ihre Hauptinhalte zwar auch einen Fundus an vorbereiteten Aufgaben unterschiedlichen Schwierigkeitsgrades. Darüber hinaus ermuntert sie ihre Teilnehmer jedoch, Probleme aus dem Tagesgeschäft mit in den Unterricht zu bringen.

Die CCDS will also aktiv beim Transfer von Clean Code Developer (CCD) Bausteinen in die Praxis unterstützen. Als “Kollegium” sind wir bereit, uns die Hände am Tagesgeschäft der Teilnehmer schmutzig zu machen. Da mag es dann auch für uns mal haken – doch das ist allemal besser, als wenn der Teilnehmer mit dem Problem im Projekt allein dastünde.

Insofern bietet die CCDS nicht nur Training, sondern auch ein Stück Beratung. Wir leiten im Sinne von CCD und im Rahmen des Unterrichts gern die Bewältigung von Aufgaben des Tagesgeschäftes an. Das sind wir den Teilnehmern einfach schuldig, wenn wir es ernst meinen mit der Vermittlung unserer Inhalte. Wir gefährden sonst den Zweck der CCDS.

Also: Wir meinen es ernst mit “Bring your own problem”. Wer als Teilnehmer nur an vorgegebenen Aufgaben werkeln will, verschenkt eine Chance der CCDS und macht sich den Transfer schwerer als nötig.

Angeleitet Üben

Für sich allein zu üben, ist wichtig. Nur dabei erfährt man wirklich seine Grenzen. Das mag frustrieren – doch der Lerneffekt ist dann am größten.

Sich aber zu lang an seinen Grenzen zu stoßen, ohne weiterzukommen, ist der Motivation allerdings abträglich. Auch das Ergebnis leidet schnell, wenn man es dann mit dem Kopf durch die Wand probiert oder in alte Gewohnheiten verfällt.

Deshalb ist es hilfreich für effizientes wie effektives Lernen, einen Ansprechpartner zu haben. Und zwar einen Ansprechpartner mit einer Meinung nicht nur zum Lernstoff, sondern auch zum Lernprozess. Ersteres mögen auch Kollegen bieten, letzteres eher nicht.

Für zügigen Fortschritt ist es jedoch wichtig, den Lernprozess im Blick zu behalten. Sonst verrennt man sich allzu leicht oder über-/unterfordert sich. Zur deliberate practice gehört eben Reflexion.

Das bietet die Clean Code Developer School (CCDS). Hier wird individuell geübt – aber mit Anleitung und Begleitung. Das “Kollegium” ist da, um zu fördern und auch zu fordern. Unterstützung in Fragen zum Lernstoff ist selbstverständlich. Darüber hinaus gibt es allerdings auch Hilfe für den besten Weg durch den Lernstoff.

Die CCDS ist nicht nur daran interessiert, dass die Teilnehmer sich das eine oder andere “draufschaffen”. Sie möchte vielmehr einen Beitrag zur fachlichen wie persönlichen Weiterentwicklung im Allgemeinen leisten. Es geht auch um das Lernen lernen.

Die Schulpforten sind geöffnet

Es geht los!

Wir haben Schulungsraum, Termine und Inhalte festgezurrt und „gehen live“. Die Clean Code Developer School (CCDS) nimmt nun Anmeldungen entgegen.

Ab dem 7. Mai 2013 findet jede Woche am Dienstag Nachmittag von 15:00 bis 19:00 ein Unterrichtsblock von 4 Stunden in München statt.

Schauen Sie sich im Unterrichtsplan an, wie wir mit den Impulsthemen in Clean Code Design und Clean Code Delivery einführen. Und dann überzeugen Sie sich mit einem Blick auf unsere Preise, dass regelmäßiges, fokussiertes, individuelles und angeleitetes Lernen erschwinglich ist.

Wir sind überzeugt, Ihnen mit der CCDS ein innovatives Angebot für nachhaltiges Lernen zu machen.

Bis bald in der Clean Code Developer School!

Ihr CCDS-„Kollegium“

Saubere Softwareentwicklung Üben

Bei der Clean Code Developer School (CCDS) dreht sich das Lernen um – wie könnte es anders sein – saubere Softwareentwicklung. Das bedeutet, fachlich geht es um das, wofür die Clean Code Developer (CCD) Initiative steht.

Methoden, Paradigmen und Konzeptionelles stehen im Vordergrund, nicht Technologien. Die CCDS versteht sich deshalb ganz grundsätzlich auch als Ort des plattformneutralen Lernens.

Impulse und freies Üben bewegen sich im Rahmen der Werte, Tugenden und Bausteine von CCD. Bei der Anleitung achtet das “Kollegium” besonders darauf, dass die Teilnehmer im Geiste von CCD vorgehen und codieren. Auf darüber liegender Ebene ist aber sicherlich ebenso das Lernen an sich im Blick. Auch in der CCDS gilt ja: Nicht für die Schule, sondern fürs Leben wird gelernt.

Das Üben der fachlich-technischen Inhalte ruht auf zwei Säulen:

Clean Code Design: Auch wenn die CCD Initiative ihre Bausteine in Grade eingeteilt hat, um das Lernen zu erleichtern, fällt die Arbeit daran vielen schwer. Es fehlt schlicht eine Methode, um die vielen Prinzipien einzuhalten oder zumindest bei der Reflexion darüber geleitet zu werden. Diese Lücke schließt Clean Code Design. Der Begriff steht für einen Ansatz, um systematisch und pragmatisch an die Softwareentwicklung im Sinne von CCD heranzugehen. Es geht dabei vor allen um den Softwareentwurf als bewusstem Schritt vor der Codierung.

Clean Code Delivery: Sauber nachdenken und dann sauber codieren ist gut – kann aber auch zum Selbstzweck werden. Deshalb ist es der CCDS wichtig zu vermitteln, wie die sauberen Ergebnisse zügig und verlässlich zum Kunden kommen können. Clean Code Delivery steht für eine Methode, die das nicht nur agil und lean, sondern vor allem pragmatisch erreichen will. Sie bindet Praktiken aus den CCD-Graden zu einem bewussten Softwareproduktionsprozess im Sinne der Theory of Constraints zusammen.

Der Name ist also Programm: An der CCDS geht es vor allem um Clean Code.

Clean Code braucht Kenntnisse, aber Clean Code braucht vor allem Üben, Üben, Üben. Weil Clean Code Development eingefahrene Gewohnheiten herausfordert. Deshalb sind der CCDS auch Regelmäßigkeit und angeleitete Reflexion so wichtig.

Üben – Aber Wie?

Lernen braucht Freiheit. Lernen braucht aber auch Impulse.

Die Clean Code Developer School (CCDS) bietet beides. Die Unterrichtsblöcke von 4 Stunden sind zweigeteilt:

Teil 1 – Impuls: Am Anfang jedes Blockes wird ein Thema vorgestellt. Das dauert ca. 45 Minuten und ist in der Form eher ein “üblicher” Vortrag. Das “Kollegium” oder auch ein Gast präsentieren durch Wort, Demo oder anderer Methodik. Abgeschlossen wird der Impuls mit dem Angebot einer Aufgabe, die die Teilnehmer in der restlichen Zeit angehen können, wenn sie mögen.

Teil 2 – Freies Üben: Die Teilnehmer üben während mehr als 3 Stunden individuell und angeleitet ein Thema ihrer Wahl an einer Aufgabe ihrer Wahl. Die Aufgabe kann dem Fundus der CCDS entstammen, muss es aber nicht. Das Thema kann aus dem Feld des Clean Code Development (CCD) stammen, muss es aber nicht. Wer sich mit MongoDB oder REST auseinandersetzen möchte, der ist genauso willkommen wie derjenige, der sich mit TDD oder Komponentenorientierung beschäftigen will.

Die Impulse werden sich enger an CCD bewegen. Das “Kollegium” kann auch nicht in allen technischen Gebieten fit sein. Dennoch ist Begleitung immer sinnvoll möglich. Probleme beim Üben entstehen nämlich weniger dadurch, dass der Lernstoff so schwierig ist, sondern durch mentale Blockaden. Lernschwierigkeiten sind Lernstrategieschwierigkeiten. Lernstrategien bzw. Stoffaneignungsstrategien und Problemlösungsstrategien sind sehr inhaltsunabhängig. Deshalb ist die Begleitung durch das “Kollegium” der CCDS immer hilfreich.

Durch die Kombination von Impuls und freiem, angeleitetem Üben bietet die CCDS gleichzeitig Tiefe und Breite. Das Lernen konzentriert sich einerseits auf vorhandene Interessengebiete, andererseits kommt immer mal wieder auch Unerwartetes in den Blick und regt an.

Und nicht zuletzt stellen die Impulse auch eine Möglichkeit für die CCDS dar, manches im Plenum nur einmal zu erklären, statt ausschließlich individuell. Aber das ist eher ein “Mitnahmeeffekt”.

Der Fleiß hat seinen Preis

Der Besuch der Clean Code Developer School (CCDS) kostet Geld. Sie ist kein Community-Angebot, sondern ein kommerzielles.

Das ist aber nicht nur so, weil Stefan Lieser und ich damit einen Teil unseres Lebensunterhalts bestreiten wollen, sondern ist Teil des Konzeptes. Wir glauben nämlich, dass zumindest auf Unternehmensebene die Aufmerksamkeit durch Geld fokussiert wird. Wo man Geld ausgibt, da will man auch Resultate sehen. Wo man Geld ausgibt, da will man auch das Bezahlte nutzen.

Ohne Kosten würde die Zeit, die für das Lernen aufgewandt werden soll, schnell anderen Kostenträgern (oder Umsatzbringern) zum Opfer fallen. Was nichts kostet, ist nichts wert und damit immer disponibel. Leider ist das so und jeder kann es an kostenlosen Angeboten sehen: die no-show Rate ist notorisch hoch. Viele Anmeldungen – viele, die dann doch nicht kommen, weil anderes plötzlich wichtiger geworden ist.

Es ist also notwendig, dass Lernen etwas kostet. Andererseits darf Lernen natürlich nicht zuviel kosten. Die CCDS muss versuchen, eine Balance zwischen diesen Polen zu finden – und auch noch im Blick behalten, dass etwas übrig bleibt fürs „Kollegium“.

Unser erster Preisansatz, mit dem wir das versuchen wollen, sieht so aus:

  • Das Abo: Zum kontinuierlichen Lernen passt ein Abo. Wir bieten deshalb ein Monats- und ein Halbjahres-Abo. Damit kann man pro Woche an einem Unterrichtsblock von 4 Stunden teilnehmen. Ein Abo ist natürlich jederzeit kündbar.
  • Die Streifenkarte: Auch wenn wir glauben, dass konsequent jede Woche geübt werden sollte, kann es Gründe geben, die das verhindern, z.B. Urlaub, besondere Last im Projekt usw. Wer das vorhersehen kann, der nimmt eine Streifenkarte statt Abo. Die Streifenkarte enthält 4 Streifen und ist 2 Monate gültig. Pro Unterrichtsblock, an dem man teilnimmt, wird ein Streifen „entwertet“.
  • Schnupperkarte: Wer sich noch nicht für Abo oder Streifenkarte entscheiden kann, der schnuppert an der CCDS mit Teilnahme an einem Unterrichtsblock. Der Preis für die Schnupperkarte wird bei Abschluss eines Abos bzw. Kauf einer Streifenkarte innerhalb der nächsten 2 Wochen angerechnet. Wer sich bei der CCDS einschreibt, schnuppert also umsonst.

Wir glauben, dieser Ansatz ist gleichermaßen übersichtlich wie „unternehmensverträglich“.

Individuell Üben

Üben im Gleichschritt in einem Seminar hat seinen Sinn: das skaliert gut für den Trainer. Der kann mehr Teilnehmer betreuen.

Und üben an vorgegebenen Aufgaben hat auch seinen Sinn. Dadurch kann kontrolliert der Schwierigkeitsgrad der wachsenden Kompetenz angepasst werden.

Nach dem Üben kommt jedoch der Transfer in den Arbeitsalltag. Dann sind die Aufgaben nicht mehr didaktisch aufbereitet und der Trainer ist auch nicht mehr greifbar. Dann steht man da mit den ganzen Unsicherheiten. Eigentlich beginnt jetzt erst das wirkliche Lernen. Ein steiler, einsamer Aufstieg auf den Wissensberg.

Das will die Clean Code Developer School (CCDS) ändern. Hier soll gerade der steile Weg des Transfers erleichtert werden.

Die Lerngruppen in der CCDS sind deshalb erstens bewusst klein: max. 8 Teilnehmer, im Schnitt sogar kleiner. Zweitens arbeitet jeder Teilnehmer an Aufgaben, die ihn interessieren und die seinem Kenntnisstand entsprechen. Diese Arbeit ist auch nicht durch ein Seminarziel getaktet, sondern richtet sich ausschließlich danach, wie der Teilnehmer vorankommt.

Gelernt wird also doppelt individuell: inhaltlich und zeitlich. Die CCDS bietet ganz bewusst Raum für Fehler, Umwege und Erforschung.

Schulort München

Wir haben lange überlegt, wo wir mit der Clean Code Developer School (CCDS) starten sollen.

Am liebsten wäre es uns gewesen, in unseren Heimatorten Köln und Hamburg zu beginnen. Dort ist die Community jedoch vergleichsweise dünn, die wir am besten kennen und der wir über die plattformneutralen Clean Code Developer Bausteine hinaus auch noch technisch etwas vermitteln können.

Diese Schulungsorte heben wir uns nun für später auf. Wir beginnen lieber in München. Das hat mehrere Gründe:

  • Im süddeutschen Raum ist die (.NET-)Entwicklerdichte deutlich höher als in Hamburg oder Köln.
  • München ist für uns beide noch recht gut mit Bahn/Flug erreichbar.
  • In München gibt es nicht nur ein Motel One – unsere bevorzugte Hotelkette, wenn wir übernachten müssen.
  • München ist eine schöne Stadt :-)

Für die ersten Schritte mit der CCDS ist München ein guter Startort. Aber wir sind offen für andere, je nach dem wie sich die Nachfrage entwickelt. Mittelfristig würden wir zum Beispiel gern Karlsruhe und Berlin sowie selbstverständlich Köln und Hamburg dazu nehmen.

Wer die CCDS also noch nicht gut jede Woche in München erreichen kann, der nehme uns die Schulungsortwahl nicht übel. Wir stehen damit ja erst am Anfang. Es ist ein Startup-Experiment…

Wo in München die Schule ihre Zelte aufschlagen wird, wissen wir noch nicht. Um Zentrumsnähe bemühen wir uns in jedem Fall. Es ist einfach eine Frage der Raumkosten. In einem anderen Beitrag dazu Konkreteres.

Fokussiert Üben

Üben und üben ist nicht dasselbe. Sie können sich Zeit am Arbeitsplatz nehmen fürs Üben… und dann kommt das eine oder das andere dazwischen. Die Kollegen stören “nur kurz”, das Telefon klingelt, Ihnen fällt ein, dass sie noch schnell etwas mit der Personalabteilung besprechen sollten, bevor Sie es vergessen…

Wie konzentriert üben Sie also wirklich, wenn Sie sich schon die Zeit dafür freischaufeln?

Unserer Erfahrung nach beschäftigen sich Entwickler in solchen selbstorganisierten Übe- und Lernzeit am Arbeitsplatz nur selten wirklich fokussiert mit Lernstoff. Effizienz und Effektivität sind gering. Und das ist tragisch, wo es doch schon so schwer ist, sich diese Zeit überhaupt aus den Rippen zu schneiden. Dazu kommt der zumindest latente Rechtfertigungsdruck, warum man denn gerade nicht am Produktionscode arbeite.

Um diese Situation zu verbessern, bietet die Clean Code Developer School (CCDS) nicht nur regelmäßige Übungszeiten, sondern auch eine Atmosphäre für konzentriertes Lernen. Wir halten es für wichtig, nicht (nur) am eigenen Arbeitsplatz zu lernen, sondern sich dafür an einen besonderen Ort zu begeben. Wie ein Ritual konzentriert schon diese Bewegung die Aufmerksamkeit aufs Üben.

Und in der CCDS ist dann alles darauf ausgerichtet, dass alle Lernenden sich wirklich fokussieren. Es gibt klare Aufgaben, es herrscht Ruhe, es gibt Anleitung, damit die Aufmerksamkeit nicht abschweift, wenn mal etwas nicht gleich klappt.

So wird die wöchentliche Übungszeit wirklich genutzt. So macht die Investition ins Lernen Sinn.

Regelmässig Üben

Die Hauptmotivation hinter der Clean Code Developer School (CCDS) ist das regelmäßige Üben.

Lernstoff soll nicht nur einmal in einem Training für 2, 3 oder 5 Tage gebimst, sondern immer wieder, ständig, kontinuierlich geübt werden.

Wir glauben fest daran, dass wöchentliches Lernen nötig ist. Ebenso glauben wir fest, dass Üben nicht weniger als 4 Stunden pro Woche dauern sollte. Das wären ca. 10% der Arbeitszeit.

Für manchen mag sich das viel anhören – in Wirklichkeit ist es aber sehr wenig in Relation zu Vielfalt und Umfang dessen, was Sie als Softwareentwickler eigentlich können sollten.

Dass Sie es nicht schaffen, diese 4 Stunden regelmäßig an Ihrem Arbeitsplatz einfach so freizuschaufeln, ist uns völlig klar. Deshalb bieten wir die CCDS ja unter anderem an. Wir wollen Ihnen bei der Organisation Ihrer Zeit helfen. Wer in die Clean Code Developer School geht, der hat jede Woche einen Termin im Kalender stehen. Da gibt es dann kein Vertun. Der steht drin wie jeder andere Termin mit Kunde, Chef oder Sportsfreunden. Die Wahrscheinlichkeit, dass Sie sich wirklich fürs Lernen die Zeit nehmen, steigt damit deutlich. Ein Besuch der CCDS ist eben ein Commitment.

So legen Sie mit der Clean Code Developer School die erste Grundlage für echtes Lernen: die Regelmäßigkeit. Dran bleiben, nicht nachlassen, sich immer wieder an den Lernstoff setzen – das ist das Geheimnis erfolgreichen und nachhaltigen Lernens.