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.

Was mich am meisten beeindruckt hat, ist die Durchdachtheit der vermittelten Konzepte. Wenn nach anfänglicher Skepsis langsam die Erkenntnis reift, dass das tatsächlich funktioniert, stellt sich ein Aha-Erlebnis allererster Güte ein.
Ronny Hapke, Empolis Information Management GmbH

[easy-pricing-table id="1780"]

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.

Es sind sehr praxisnahe Grundlagen vermittelt worden [...].  [E]in sehr angenehmes, wenn auch forderndes Training!
Matthias Uhlmann, WIBU-SYSTEMS, Karlsruhe, 2017

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:

Die gesunde Mischung aus Praxis und Theorie hat mir sehr gut gefallen. Ein absolut empfehlenswertes Training für jeden Software Entwickler!
Bastian Knochel, generic.de

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:

Das spontane 'Einfühlen' in die Firma und die Gruppe und daraus eine stimmige Schulung zu kreieren, war großartig.
Martin Haaß, WIBU-SYSTEMS, Karlsruhe 2017

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).

[easy-pricing-table id="1812"]

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