Der Weg zum professionellen Softwareentwickler

Entdecke: Clean Code, Softwarecraftsmanship, agile Entwicklung, Entwurfsmuster, TDD und viele weitere spannende Gebiete.
4.6 (25 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
125 students enrolled
$19
$95
80% off
Take This Course
  • Lectures 60
  • Length 5 hours
  • Skill Level All Levels
  • Languages German
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 4/2016 German

Course Description

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:

  • Dreyfus-Modell
  • Architekturdokumentation
  • Clean Code
  • Softwarecraftsmanship
  • Refactoring
  • Prinzipien und Praktiken der objektorientierten Softwareentwicklung
  • Entwurfsmuster / Designpattern
  • Testgetriebene Entwicklung / TDD
  • Softwaredesign
  • Agile Softwareentwicklung / SCRUM
  • Persönlichkeit eines Profis
  • Intuition als Werkzeug
  • Bewusstes Lernen
  • SMART Methode

What are the requirements?

  • Es sind keine konkreten Erfahrungen nötig.
  • Eine objektorientierte Programmiersprache sollte beherrscht werden.
  • Die Programmierbeispiele sind in Java. Sie sind aber so einfach gehalten, dass man Java nicht können muss, um sie zu verstehen.

What am I going to get from this course?

  • Einen guten Überblick über viele Konzepte der aktuellen agilen Softwareentwicklung.
  • Hoffentlich ein paar "Aha"-Erlebnisse... :)
  • Viele meiner oft umständlich gemachten Erfahrungen in einem Stück.

What is the target audience?

  • Du bist hier richtig, wenn du schon ein wenig programmieren kannst, und dich fragst was genau du lernen sollst um richtig gut in der Softwareentwicklung zu werden.
  • Du bis hier richtig, wenn du im Berufsalltag steckst, und dich gerne weiterentwickeln willst.
  • Du bist hier NICHT RICHTIG, wenn du glaubst schon Alles über die Softwareentwicklung zu kennen – und du genau weißt, wo es lang geht.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Einführung in den Kurs
01:56

Hier heiße ich dich herzlich willkommen und erzähle, wieso es genau richtig war diesen Kurs zu belegen.

02:26

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.

Section 2: Die eigene Position bestimmen
03:12

In dieser Lektion wirst du erfahren, wieso es so wichtig ist sich selbst einzuschätzen und wie du dies tun kannst.

10:03

Ich stelle dir das Dreyfus-Modell vor, mit dessen Hilfe du nachvollziehen kannst, warum es so schwer ist ein Experte zu werden.

06:40

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.

01:34

Wir kennen deine Position und dein Ziel. Also lass uns die Route bestimmen und losgehen.

Section 3: Dein persönlicher Werkzeugkasten
02:29

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.

06:06

Gute Werkzeuge alleine machen noch keine guten Ergebnisse. Du musst sie schleifen und mit ihnen trainieren. Ich erzähle dir hier, wie das geht.

03:51

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.

Section 4: Software kommunizieren
01:17

Diese Lektion ist nur für das Protokoll. Aber ich kann nicht oft genug wiederholen, wie wichtig Kommunikation für professionelle Arbeit ist.

03:55

Ich öffne in dieser Lektion die Tür zu einem Labor. Begleite mich dabei, wie aus Blei Gold gemacht wird.

05:55

Es gibt immer einen letzten Schrei. Hinterherlaufen oder ziehen lassen? Reden wir darüber.

03:28

Hier erzähle ich die Geschichte über einen König, der oft nicht ernst genommen wird.

02:06

Kurz und knapp erzähle ich, was ich von Architekturdokumentation halte.

Section 5: Clean Code & Softwarecraftsmanship
05:35

Ich erläutere, was sich hinter den zwei Begriffen Clean Code und Softwarecraftsmanship verbirgt und wieso jeder Entwickler sie kennen sollte.

10:58

Funktion, Funktion, Funktion – und an die Leser denken.

08:53

In dieser Lektion zeige ich dir, wie man einfach Methoden benennen kann – und dabei gleichzeitig das Verantwortungsprinzip beachtet.

05:46

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.

Beispiel: Wie Software lesbar wird 1/2
07:51
Beispiel: Wie Software lesbar wird 2/2
13:41
Section 6: Prinzipien der objektorientierten Softwareentwicklung
06:05

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.

03:30

Hier schauen wir uns die Seite principles-wiki an.

03:56

Ich erkläre beispielhaft das “Don’t repeat yourself”-Prinzip.

03:51

Ein etwas konkreteres Prinzip wird von mir vorgestellt.

03:22

Als weiteres Beispiel für Prinzipien werde ich dir erklären, wieso man sich vor Optimierungen in Acht nehmen soll.

03:34

Teste nicht alles. Teste alles, was möglicherweise schiefgehen könnte.

Section 7: Software Entwurfsmuster
04:55

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.

03:42

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.

06:09

Als Beispiel stelle ich dir das Strategie-Muster vor. Es gibt dem Prinzip “Komposition anstelle von Vererbung” eine Form.

05:23

Du bist dran. Lerne selbst ein Entwurfsmuster.

Article

Eine Übersicht über die Unified Modeling Language, einer Modellierungssprache zur grafischen Darstellung von Software.

Section 8: Testgetriebene Entwicklug
02:24

Ich erzähle dir die Geschichte der Ärzte, die Zeit sparen wollten – und was diese Geschichte mit Softwareentwicklung zu tun hat.

04:43

Diese Lektion zeigt dir, wie testgetriebene Entwicklung abläuft.

19:34

Ich programmiere hier ein wenig testgetrieben, und erkläre dabei was ich wieso tue.

Beispiel: TDD angewandt 2/2
08:10
04:16

Hier verwirre ich dich – denn ich behaupte, dass testgetriebene Entwicklung nicht zum Testen da ist.

Section 9: Softwaredesign
03:58

Lerne die Leichtigkeit kennen, die gutes Softwaredesign für Entwickler bedeuten kann. Softwareentwicklung muss kein Krampf sein!

14:19

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.

03:51

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!

Section 10: Agile Softwareentwicklung
09:07

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.

03:22

Ein Manifest sie zu knechten, sie alle zu finden, ins Agile zu treiben und ewig zu binden.

09:48

Als Beispiel für agiles Arbeiten werde ich den Scrum-Prozess vorstellen.

10:03

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.

Section 11: Die Persönlichkeit eines Profis
03:32

Hier erkläre ich, wieso wir Softwareentwickler uns nicht so wichtig nehmen sollten – und was das mit professioneller Arbeit zu tun hat.

04:06

Du erfährst, wieso Souveränität so wichtig ist.

02:24

Ich erkläre dir, wieso damit nicht gemeint ist, dass du eine Ganzzahl sein sollst.

01:30

Wer ein Profi werden möchte, muss sich vorher wie einer verhalten – ich sage dir, wie du das mit einfachen Schritten tun kannst.

03:23

Es ist viel interessanter mit einer gewissen Ethik zu leben. Ich zeige dir einen Weg, wie du deine Ethik finden kannst.

Section 12: Intuition
01:44

Die Geschichte vom Genie, das die Lösung kennt – den Weg dahin jedoch nicht.

03:24

Ich erkläre dir hier, wie du deine Intuition für dich arbeiten lassen kannst. Gut trainiert wird sie zu einem geschliffenen Werkzeug in deinem Werkzeugkoffer.

Section 13: Bewusstes Lernen
03:46

Ich fordere dich auf, bewusst zu lernen und dafür qualitative hochwertige Zeit zu investieren.

05:47

Wie entsteht der Flow-Effekt? Und wie kannst du ihn nutzen, um richtig gut zu werden bei dem was du tust?

06:01

Ich stelle dir die SMART-Methode vor. Eine Methode, die es dir erlaubt, Wegpunkte die vor dir liegen direkt an anzusteuern und zu erreichen.

01:24

Hier gebe ich dir einen wichtigen Rat.

Section 14: Zu guter Letzt
04:15

Hier erzähle ich dir in Kürze, was alles geschafft wurde.

Article

Ich zähle eine unvöllständige Liste von Werkzeugen auf, die ich für wichtig erachte, aber in diesem Kurs keinen Platz fanden.

Danksagung
Preview
Article
Section 15: Bonus: Der Scout an deiner Seite
03:05

Ein wenig über mich.

Article

Eine kleine Zusammenstellung von interessanten Büchern die dich interessieren könnten. 

Bonus: Coding.Cards
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Thorsten Diekhof, Software Craftsman

Seit über 10 Jahren beschäftigt sich Thorsten Diekhof mit der Frage, was einen guten Softwareentwickler ausmacht. Seine Erfahrung zeigt:

Das richtige Mindset, die Beherrschung saubere Werkzeuge und eine spielerisch-humorvolle Einstellung sind Grundlage jeder wirklich guten Softwareentwicklung.

Schon während seines Studiums der Geoinformatik, der Soziologie und der Politik in Münster war Thorsten als Softwareentwickler tätig. Direkt nach seinem Diplom in Geoinformatik gründete er mit einem Partner die Binärwert GbR. Über zwei Jahre entwickelte diese Software für Wissenschaft und Wirtschaft. 

Die Liebe zog Thorsten nach Berlin. Dort führte ihn seine Neugier auf einen zweijährigen Ausflug in die Spieleindustrie. Als Lead Gamedesigner entwickelte er ein Online-Rollenspiel. 

Aktuell arbeitet Thorsten drei Tage in der Woche als agiler Softwareentwickler „im Maschinenraum“ der Qudosoft. Zusätzlich pflegt er seine Selbstständigkeit als Dozent, Trainer und Spielerfinder für den Bereich Softwareentwicklung.

Wenn er seinen Kopf mal frei bekommen will, segelt er mit seinem kleinen holländischen Plattbodenschiff durch die Berliner Gewässer. Thorsten lebt und arbeitet in Berlin.


Ready to start learning?
Take This Course