
Hier heiße ich dich herzlich willkommen und erzähle, wieso es genau richtig war diesen Kurs zu belegen.
Hier bekommst du einen kleinen Überblick über das, was wir zusammen in diesem Kurs entdecken werden. Auch erkläre ich dir, wie du aktiv an der Gestaltung des Kurses teilhaben kannst.
In dieser Lektion wirst du erfahren, wieso es so wichtig ist sich selbst einzuschätzen und wie du dies tun kannst.
Ich stelle dir das Dreyfus-Modell vor, mit dessen Hilfe du nachvollziehen kannst, warum es so schwer ist ein Experte zu werden.
Deine Selbsteinschätzung ergibt mit dem Dreyfus-Modell zusammen eine Position auf dem Weg zum Profi. Hier erzähle ich, was dir das Wissen über diese Position bringt.
Wir kennen deine Position und dein Ziel. Also lass uns die Route bestimmen und losgehen.
Jeder Softwareentwickler braucht seinen eigenen, aufgeräumten und gut bestückten Werkzeugkasten. Ich erzähle dir hier, was das ist und wie du dir einen solchen Koffer anlegst.
Gute Werkzeuge alleine machen noch keine guten Ergebnisse. Du musst sie schleifen und mit ihnen trainieren. Ich erzähle dir hier, wie das geht.
Die Welt der Programmierung verändert sich schnell. Es erscheinen ständig neue Werkzeuge – auch wenn man viele davon einfach nicht braucht. Hier beschreibe ich, wie du schnell neue Werkzeuge auf Tauglichkeit testen kannst, um sie bei Bedarf in deinen Koffer aufzunehmen.
Diese Lektion ist nur für das Protokoll. Aber ich kann nicht oft genug wiederholen, wie wichtig Kommunikation für professionelle Arbeit ist.
Ich öffne in dieser Lektion die Tür zu einem Labor. Begleite mich dabei, wie aus Blei Gold gemacht wird.
Es gibt immer einen letzten Schrei. Hinterherlaufen oder ziehen lassen? Reden wir darüber.
Hier erzähle ich die Geschichte über einen König, der oft nicht ernst genommen wird.
Kurz und knapp erzähle ich, was ich von Architekturdokumentation halte.
Ich erläutere, was sich hinter den zwei Begriffen Clean Code und Softwarecraftsmanship verbirgt und wieso jeder Entwickler sie kennen sollte.
Funktion, Funktion, Funktion – und an die Leser denken.
In dieser Lektion zeige ich dir, wie man einfach Methoden benennen kann – und dabei gleichzeitig das Verantwortungsprinzip beachtet.
In dieser Lektion geht es um das Fundament für saubere und gute Softwareentwicklung. Ich zeige es dir, und erkläre wieso Prinzipien und Praktiken für dich so wichtig sind.
In dieser Lektion zeige ich dir, wieso Prinzipien die Quintessenz vom Wissen der Experten sind – und wir mit ihnen im Handgepäck ein gutes Stück weiter auf unserem Weg kommen.
Hier schauen wir uns die Seite principles-wiki an.
Ich erkläre beispielhaft das “Don’t repeat yourself”-Prinzip.
Ein etwas konkreteres Prinzip wird von mir vorgestellt.
Als weiteres Beispiel für Prinzipien werde ich dir erklären, wieso man sich vor Optimierungen in Acht nehmen soll.
Teste nicht alles. Teste alles, was möglicherweise schiefgehen könnte.
Entwurfsmuster sind häufig die ersten Berührungspunkte zum Softwaredesign. Hier zeige ich dir, was dieses Werkzeug kann und wie wir es nutzen können.
Du wirst in dieser Lektion erfahren, wieso Entwurfsmuster auch als formalisierte Prinzipien gesehen werden können – und was das für dich auf dem Weg zum Profi bedeutet.
Als Beispiel stelle ich dir das Strategie-Muster vor. Es gibt dem Prinzip “Komposition anstelle von Vererbung” eine Form.
Du bist dran. Lerne selbst ein Entwurfsmuster.
Eine Übersicht über die Unified Modeling Language, einer Modellierungssprache zur grafischen Darstellung von Software.
Ich erzähle dir die Geschichte der Ärzte, die Zeit sparen wollten – und was diese Geschichte mit Softwareentwicklung zu tun hat.
Diese Lektion zeigt dir, wie testgetriebene Entwicklung abläuft.
Ich programmiere hier ein wenig testgetrieben, und erkläre dabei was ich wieso tue.
Hier verwirre ich dich – denn ich behaupte, dass testgetriebene Entwicklung nicht zum Testen da ist.
Lerne die Leichtigkeit kennen, die gutes Softwaredesign für Entwickler bedeuten kann. Softwareentwicklung muss kein Krampf sein!
Wichtig ist, sich im klaren darüber zu sein, in welche Kategorie ein Design fällt – und auch welche Art von Design man selbst bevorzugt. Du lernst hier die Kategorien kennen und kannst dich so noch besser selbst einschätzen.
In dieser Lektion muss ich deine Motivation dämpfen. Es ist ziemlich unwahrscheinlich, dass du ohne viele Misserfolge ein gutes Design entwickeln wirst. Ich sporne dich aber auch an, den Aufstieg trotzdem zu wagen – es lohnt sich!
Darf ich vorstellen: Die neue agile Welt. Hier erkläre ich dir, was es mit dieser auf sich hat und wie man sich in ihr zurecht findet.
Ein Manifest sie zu knechten, sie alle zu finden, ins Agile zu treiben und ewig zu binden.
Als Beispiel für agiles Arbeiten werde ich den Scrum-Prozess vorstellen.
Wenn es gut läuft, meistert ein agiles Team fast jede Situation. Ich erkläre dir, welche Rolle ein Softwareentwickler in diesem Team spielt und worauf du dich einstellen kannst, wenn du Profi werden willst.
Prolog:
Ich hatte mich verirrt. Ich hatte studiert und mich danach hochmotiviert auf den Weg gemacht, um ein wirklich guter Softwareentwickler zu werden, verschlang Fachbücher (einige gute, viele schlechte), las Fachzeitschriften, besuchte UserGroups und lernte alles, was im Trend lag. Trotzdem wurde das Entwickeln im Alltag immer wieder zur Qual. Für jede erdenkliche Situation suchte ich mir das passende Framework und lernte es. Ich verstrickte mich in Abhängigkeiten und verzettelte mich in Sonderfällen. Das frustrierte und war bei weitem nicht das, was ich mir unter guter und leichter Softwareentwicklung vorstellte. Irgendwann dämmerte es mir. Ich fing an zu begreifen, was mir intuitiv schon länger klar war: man muss nicht immer mehr lernen um Profi zu werden – man muss das Richtige lernen und vor allen Dingen das Mindset eines Profis entwickeln.
Der Weg zum professionellen Softwareentwickler ist ein Reiseführer durch das aufregende Gebiet der modernen, agilen und pragmatischen Softwareentwicklung, und zugleich die Quintessenz dessen, was ich auf meinem Weg und den Irrwegen gelernt habe. Gemeinsam werden wir uns die Gebiete der Softwareentwicklung anschauen, die wirklich sehenswert sind. Wir lernen Techniken kennen, die es wert sind gelernt zu werden. Wir passieren Sümpfe und dorniges Unterholz, die wir – nach einer kleinen Warnung – jeweils links liegen lassen.
Es werden in diesem Kurs nicht nur kleine Einblicke in verschiedensten Techniken gegeben, sondern eine Haltung vermittelt, die einen professionellen Entwickler ausmachen.
Meine Motivation ist es dir diese Irrwege zu ersparen. Ich möchte dir einen Weg aufzeigen, wie du als Softwareentwickler erfolgreich sein und gleichzeitig Spaß und Leichtigkeit haben kannst. Dies wünsche ich Dir von Herzen.
Thorsten Diekhof
Themen die behandelt werden: