Inhouse Ausbildungen

Clean Code Development (CCD) ist eine Kunst, die gelernt sein will. Immerhin geht es um nicht weniger als die Zukunftsfähigkeit einer Codebasis. Die stellt sich nicht von allein oder nebenbei ein, sondern will jeden Tag bewusst hergestellt und erhalten werden. Dazu braucht es die Kenntnis sehr fundamentalen Prinzipien, Konzepte und Denkweisen, dazu braucht es die Flüssigkeit in grundsätzlichen Praktiken und Methoden.

Eigentlich sollte all das natürlich Teil jeder Ausbildung zum Softwareentwickler sein, egal ob Fachinformatiker oder Bachelor of Computer Science. Ist es aber nicht. Manches steht in den Curricula der (Hoch)Schulen, nichts davon ist jedoch prüfungsrelevant und das Meiste fehlt.

Mit dem Angebot unserer inhouse Schulungen wollen wir diese Lücke schließen. Wir verstehen sie als Ausbildung, mit der wir die Berufsausbildung ergänzen. Es sind nicht einfach “Kurse”, bei denen man in “Druckbetankung” Tipps & Tricks vorgeführt bekommt. Sie leiten vielmehr an und begleiten eine persönliche Entwicklung auf ein höheres Level bewusster Herstellung von Software.


Clean Code Developer Rookie
750€ /Person
Lehrstoff (Auszug)
Anforderungskategorien, der Anforderungen-Logik-Graben, TDD, TDD as if you meant it, SRP, SLA, IOSP, YAGNI, KISS, DRY, Ubiquitous Language (DDD).
 
 
750€ /Person

Clean Code Developer Apprentice
1.350€ /Person
Lehrstoff (Auszug)
Anforderungskategorien, der Anforderungen-Logik-Graben, TDD, TDD as if you meant it, SRP, SLA, IOSP, YAGNI, KISS, DRY, Ubiquitous Language (DDD).
Radikale Objektorientierung, IOSP, PoMO, Modulhierarchie, Softwarezellen, Dialoge, Interaktionen, User Stories, Flow-Design, Aspekte der funktionalen Programmierung, OCP, ISP, DI, LoD, Application Layer (DDD).
 
1.350€ /Person

Clean Code Developer Practitioner
2.000€ /Person
Lehrstoff (Auszug)
Anforderungskategorien, der Anforderungen-Logik-Graben, TDD, TDD as if you meant it, SRP, SLA, IOSP, YAGNI, KISS, DRY, Ubiquitous Language (DDD).
Radikale Objektorientierung, IOSP, PoMO, Modulhierarchie, Softwarezellen, Dialoge, Interaktionen, User Stories, Flow-Design, Aspekte der funktionalen Programmierung, OCP, ISP, DI, LoD, Application Layer (DDD).
Refactoring, Komponentenorientierung, Client-/Server-Architektur, Hintergrundverarbeitung, Bounded Contexts (DDD).
2.000€ /Person

Alle Preise verstehen sich zzgl. MwSt./Reisekosten und sind für eine inhouse Gruppe von 8 Teilnehmern berechnet. Weitere Details im Abschnitt Preise.

Die Form ist daher nicht das einmalige en bloc Training, sondern der gestaffelte Workshop. Der Wechsel zwischen angeleiteter Zeit und selbstständiger Arbeit an Übungsaufgaben bzw. Versuchen, den Lernstoff in die Praxis zu übertragen, ist uns wichtig. So dringen die Trainingsteilnehmer tiefer in die Materie ein und können von uns mehr Feedback bekommen.

Wir sehen die Ausbildung jedoch nicht auf Einzelne beschränkt, sondern bemühen uns, gerade inhouse ganze Teams auf einmal auszubilden. Der Nutzen ist dann besonders groß, weil alle Teammitglieder anschließend eine gemeinsame Sprache sprechen und auf dem selben höheren Niveau kommunizieren können.

Inhaltlich ist der Ausbildungsstoff am Softwareuniversum ausgerichtet. Die Ausbildungen ziehen darin sozusagen immer größere Kreise. Längere Ausbildungsdauer deckt eine größere Fläche ab.

Als praktikabel haben sich folgende Ausbildungsdauern erwiesen.

Clean Code Development Rookie, 3 Tage

Der Rookie bekommt einen Überblick über den Kontext des Clean Code Development und steigt dann mit der sauberen Implementation ein. Hier geht es vor allem um Codierungspraxis. Wie kann bei bekannten, klaren Anforderungen von sehr begrenztem Umfang systematisch sauberer Code geschrieben werden? Im Kern der Rookie-Ausbildung steht die testgetriebene Entwicklung. Es werden sehr harte Regeln des Vorgehens vermittelt, um die bisherige “unkontrollierte Praxis” zu zügeln.

Im Softwareuniversum bewegt sich die Rookie-Ausbildung nah am Zentrum und vor allem in der Dimension der Funktionalität.

Clean Code Development Apprentice, 6 Tage

Die Ausbildung zum Apprentice umfasst die Ausbildung zum Rookie und geht dann darüber hinaus insbesondere in Richtung des Softwareentwurfs und der Anforderungsanalyse.

Der Apprentice lernt, Lösungen zu (er)denken, bevor er sie codiert. Damit wird er zum Teamplayer. Er kann sich und anderen ein Bild von Lösungsansätzen vermitteln. So ein Entwurf lässt sich leichter diskutieren und schneller weiterentwickeln als programmiersprachlicher Code. Irrwege und Verschwendung werden reduziert. Die Apprentice-Ausbildung beginnt daher schon recht früh mit der Vermittlung einer leichtgewichtigen deklarativen visuellen Notation für Lösungsansätze.

Außerdem lernt der Apprentice, sich dem Kunden (oder Product Owner) zuzuwenden. Denn ein guter Entwurf setzt ein gutes Verständnis der Anforderungen voraus. Die sollten dabei so aufbereitet werden, dass sie nicht nur klar sind, also einen deutlichen Ansatzpunkt für den Entwurf haben, sondern auch fein geschnitten, um möglichst zügig vom Entwurf zur Implementation und dann zum Feedback zu kommen. Teil der Apprentice-Ausbildung ist also auch die Gewöhnung an ein agiles Vorgehen.

Im Softwareuniversum bewegt sich die Apprentice-Ausbildung vor allem in den Dimension der Slices und Module über die Rookie-Inhalte hinaus:

Clean Code Development Practitioner, 10 Tage

Der Practitioner umfasst die Ausbildung von Rookie und Apprentice und geht darüber insbesondere im Hinblick auf Arbeitsorganisation und verteilte Architektur hinaus. Außerdem kommt jetzt auch das Refactoring ins Bild. Das war vorher noch nicht wirklich angezeigt, denn zunächst braucht es eine solide Vorstellung davon, wie sauberer Code aussehen sollte. Refactoring ist erst darauf aufbauen mit Gewinn möglich.

Durch die Fähigkeit zu einer sauberen Analyse und zu einem sauberen Entwurf ist der Apprentice an einem Punkt, dass auch saubere Arbeitsteilung geplant werden kann. Das lernt der Practitioner auf der Basis der gegenüber dem Apprentice erweiterten Modul- und Host-Hierarchie.

Durch die Arbeitsteilung ist es auch möglich, größere Aufgaben im Team anzugehen. Auch deshalb dehnt sich der Übungsstoff in Richtung der Host-Dimension aus. Asynchrone und verteilte Verarbeitung sind Thema des Entwurfs und dann auch der Implementation. Eine Herausforderung an die Teilnehmer ist es, sich dafür mit u.U. bisher unbekannten Technologien auseinanderzusetzen. Das stärkt zusätzlich “den Lernmuskel”.

Im Softwareuniversum umfasst die Practitioner-Ausbildung alle Dimensionen:

Preise

Die Preise der Ausbildungen richten sich nach der Dauer. Die Trainings finden in überschaubaren Gruppen von max. 8 Teilnehmern statt, um eine hohe Intensität zu garantieren. Zwischen den Trainingstagen arbeiten die Teilnehmer an Übungsaufgaben und bekommen weiteres Feedback (Aufwand für die Übungsaufgaben pro Woche ca. 2 Stunden; die Bearbeitung sollte in der Trainingsgruppe stattfinden).


Clean Code Developer Rookie
6.000€ (2.000€ Tagessatz)
3 Tage Gruppenausbildung
 
 
 
6.000€ (2.000€ Tagessatz)

Clean Code Developer Apprentice
10.800€ (1.800€ Tagessatz)
6 Tage Gruppenausbildung
 
 
 
10.800€ (1.800€ Tagessatz)

Clean Code Developer Practitioner
16.000€ (1.600€ Tagessatz)
10 Tage Gruppenausbildung
 
 
 
16.000€ (1.600€ Tagessatz)

Alle Preise verstehen sich zzgl. MwSt. sowie zzgl. Reise-/Übernachtungskosten nach Aufwand.