Digitale Bildung – Expertendiskussion zu MILLA im Deutschen Bundestag

Ich freue mich sehr darüber, dass entwicklerkurs.de Tag für Tag einen Beitrag zur Digitalisierung der Bildung leisten kann. Umso mehr haben wir uns über die Einladung vom Arbeitskreis „Zukunft der Arbeit“ am 12.12.2018 zur Expertendiskussion zu MILLA gefreut.

„Digitale Bildung – Expertendiskussion zu MILLA im Deutschen Bundestag“ weiterlesen

Die Macht fokussierter Commits

Das Distributed Version Control System (DVCS) Git gilt mittlerweile bei den Entwicklungsteams als gesetzt und in der Lehre ist Git ebenfalls angekommen. Doch ein wichtiger Aspekt kommt manchmal etwas zu kurz! Die Macht fokussierter Commits.

Testdriven Development zwingt mich förmlich dazu, kleine fokussierte Commits zu erzeugen, da sie Teil des Konzepts sind!

Bei (Quer-)Einsteigern bspw. beobachte ich häufig, dass sehr wenige Commits am Tag erzeugt werden (1-2 pro Tag). Warum das ein Problem ist, möchte ich im Folgenden aufzeigen und dir die „schreckliche“ Geschichte vom Commit-Monster erzählen.

„Die Macht fokussierter Commits“ weiterlesen

Schnittstellenprojekte mit 2 wichtigen Fragen zielsicherer realisieren

Schnittstellenprojekte sind irgendwie doof! Warum?

Schnittstellenprojekte scheinen meist recht simpel zu sein. Es gibt selten eine GUI und erste wichtige Fragen wie existiert eine WSDL/XSD bzw. ein Standard sind schnell geklärt. Frameworks zum Umgang mit Protokollen wie HTTP und FTP sowie mit Formaten wie XML, SOAP, JSON & Co. gibt es zudem zumindest im Java Ökosystem wie Sand  am Meer.

Also wo liegt das Problem? Lesen – Konvertieren – Schreiben – fertig! Sozusagen eine Fingerübung für einen Java Entwickler! Doch so einfach ist es dann oft doch nicht.

„Schnittstellenprojekte mit 2 wichtigen Fragen zielsicherer realisieren“ weiterlesen

Agiles Mindset – aber bitte nur zu 100%

Es überrascht mich immer wieder wie viele Hardliner der agilen Welt darauf pochen, zu 100% und damit bedingungslos alle Aspekte des agilen Manifests bzw.  der jeweiligen Methodik umzusetzen. Meist quittiert mit dem Urteil:

„Sonst bist du nicht agil!“ oder „Andernfalls funktioniert Agile nicht!“

Irgendwie stellen sich mir dann die Nackenhaare. Warum? Weil Hardlinertum meiner Ansicht nach kontraproduktiv für agile Denkweisen ist. Denn es werden zwei wichtige Aspekte außer Acht gelassen: Die Sichtweise und die Reife des Teams!

Agiles Mindset vs. Dogmen

Im agilen Manifest werden meiner Ansicht nach Werte und Prinzipien beschrieben, die notwendig sind, um auf Veränderung mutig und selbstbewusst reagieren und gemeinsam im Team Großes leisten zu können. Passend dazu die ersten Worte im Agilen Manifest.

Individuals and interactions over processes and tools

Und dennoch wird von einigen schon fast dogmatisch das Gegenteil  gefordert. 100 %ige Umsetzung aller Regeln und Prinzipien! Klingt das nicht nach einem Dogma und damit nach einem Verstoß gegen dieses schön formulierte Prinzip? Ich finde schon!

„Agiles Mindset – aber bitte nur zu 100%“ weiterlesen

Nix mit grüne Wiese! Berufseinstieg als Softwareentwickler meistern

Als Teamleiter erlebe ich häufig, wie sich selbst ausgezeichnete Studenten  der Wirtschafts- und Angewandten Informatik beim Berufseinstieg als Java Softwareentwickler schwer tun.  Warum der Einstieg so schwer fällt, hängt vermutlich damit zusammen, dass die Notwendigkeit durch viele Klassen und Projekte zu navigieren und damit die Fähigkeit Software effektiv zu analysieren im Studium oft nachrangige Behandlung findet.

„Nix mit grüne Wiese! Berufseinstieg als Softwareentwickler meistern“ weiterlesen

Refactoring? – Papperlapapp! Es läuft doch!

Das folgende Szenario erleben Softwareentwickler insbesondere zu Beginn ihrer Karriere häufig. Vielleicht hilft dir diese Geschichte, den Wert von Refactoring, TDD und Clean Code besser einschätzen zu können.

Eine vielleicht nicht ganz unbekannte Geschichte

Endlich geschafft! Du hast dich tagelang gequält und nun funktioniert endlich das Modul, das schon seit langem fertiggestellt sein sollte. Durch Versuch und Irrtum hast du viele Varianten durchgespielt. „Keine Zeit mehr für Aufräumarbeiten“ denkst du dir, checkst den Code ein und lieferst das Modul aus.

Die neue Klasse hat zwar 1000 Zeilen, ist zuständig für den Aufbau der Datenbankverbindung und weitere 100 Dinge aber was soll’s? Es läuft und Änderungen an diesem Modul sind sowieso unwahrscheinlich!

„Refactoring? – Papperlapapp! Es läuft doch!“ weiterlesen

Statische Methoden testen – Es müssen ja nicht Mocks sein!

Statische Methoden testen ist nicht so schwer wie man denkt! Liest man jedoch Artikel oder betrachtet man Videos zu statischen Methoden und JUnit, werden meist Mocking Frameworks als Lösung diskutiert. Beispielsweise wenn man die Diskussion bei stackoverflow.com verfolgt.

„Statische Methoden testen – Es müssen ja nicht Mocks sein!“ weiterlesen

So machst du Karriere als Java Softwareentwickler

Karriere als Java Softwareentwickler

erstellt von Licht Jäger@Flickr, unbearbeitet; Lizenz CC BY-SA 2.0

Angebot und Nachfrage bestimmen den Preis / den Wert eines Produkts oder einer Dienstleistung in einem Markt (vgl. Marktgleichgewicht). Für deine Karriere als Java Softwareentwickler bedeutet das, dass dein Wert auf diesem Markt steigt, wenn du die geforderten Skills (engl. für Fähigkeiten) aufweisen kannst und das Angebot (die Anzahl Mitbewerber mit vergleichbaren Skills) gering ist. Eine Einschätzung, welche Skills aktuell gefragt sind, bekommst du von mir in diesem Artikel.

„So machst du Karriere als Java Softwareentwickler“ weiterlesen