Über verschiedene Möglichkeiten zur Verbesserung unserer Programmierfähigkeiten spreche ich mit Dennis Dierkes in der einhundertsechsundzwanzigsten Episode des Anwendungsentwickler-Podcasts.
Podcast: Play in new window | Download (Duration: 42:22 — 18.4MB)
Abonnieren: Apple Podcasts | Spotify | RSS
Inhalt
Allgemeines zur Person
- Wie ist dein Name und wo arbeitest du?
- Dennis Dierkes, 21 Jahre alt, Prüfung zum Fachinformatiker Anwendungsentwicklung vor 2 Wochen bestanden.
- An welchen Projekten arbeitest du zur Zeit in deinem Tagesjob?
- Java-lastige Sachen wie Spring, Kotlin und funktionale Programmierung mit Vavr, aber auch SOAP, Bootstrap, AWS, Vue.js.
- Wie bist du zur Informatik bzw. Softwareentwicklung gekommen?
- Klassisch über Computerspiele.
- Welche Ausbildung bzw. welches Studium hast du im Bereich der Informatik absolviert?
- Ausbildung FIAE, vorher Realschule.
- Mit welcher/n Programmiersprache/n arbeitest du im Alltag?
- Java, Kotlin
- Was ist deine Lieblingsprogrammiersprache und warum?
- Kotlin bietet enorm viele coole Möglichkeiten für Entwickler.
Continuous Improvement
- Warum sollte ich meine Fähigkeiten als Softwareentwickler ständig ausbauen?
- Ich kann höhere Qualität abliefern, schneller entwickeln und Probleme lösen, langfristig Zeit sparen.
- Liegt Weiterbildung in meiner eigenen Verantwortung oder in der meines Arbeitgebers?
- Es sollte Eigeninitiative vorhanden sein, die dann optimalerweise Unterstützung durch das Unternehmen bekommt. Ich persönlich habe auch nach einem vollen Arbeitstag noch Lust, nach Feierabend weiter zu programmieren und zu lernen.
- Die Motivation steigt, wenn der Arbeitgeber unterstützt. Wir machen z.B. Coding Dojos gemeinsam mit den Kollegen.
- Ist man irgendwann auch mal „fertig“ mit der Weiterbildung?
- Hoffentlich nicht! Ich würde gerne lebenslang lernen! Ich finde es nicht gut, wenn Kollegen, die kurz vor der Rente stehen, nicht mehr mitmachen.
- Womit verbesserst du deine (Programmier-)Fähigkeiten?
- Kotlin habe ich über ein Tutorial bei GitHub gelernt. Pair Programming hilft sehr beim Wissenstransfer. In Side Projects kann man ohne Druck lernen und sich ausprobieren.
- Aktuell habe ich ein Side Project für die Arbeit erstellt mit Vue.js.
- Das Side Project sollte nicht zu groß werden, damit es weiter Spaß macht.
- Was ist ein Coding Dojo/Barcamp/Code Retreat und was macht man da konkret?
- Coding Katas sind kleine Übungsaufgaben für Programmierer.
- Coding Dojos sind Treffen in einer Gruppe, um die Katas gemeinsam zu bearbeiten.
- Ich persönlich mag das „Hands On“ im Coding Dojo und nehme dann noch ein Buch zur Vertiefung.
- Sehr spannend war z.B. das Bearbeiten der Katas von mehreren Programmierpaaren und der anschließende Vergleich der Lösungen. Dabei haben wir dann z.B. Design Pattern angewendet und ihre Vor- und Nachteile besprochen.
- Welche Ressourcen verwendest du zur persönlichen Weiterbildung?
- Bücher. Mit neuem Wissen auf alten Code schauen. Retrospektiven durchführen.
- Kannst du konkrete Bücher/Kurse/Veranstaltungen empfehlen?
- Was ist ein Open Space?
- Eine „Unkonferenz“ mit mehreren Räumen. Es gibt eine Tafel für die Themenwahl. Jeder darf eine Session mitbringen oder sich eine wünschen. Man kann jederzeit Vorträge verlassen („Gesetz der zwei Füße“).
- Welche Veranstaltungen (für Entwickler) hast du bislang besucht?
- Verschiedene Treffen über Meetup.com im Raum Bielefeld, Java User Group (JUG), CloudLab, Socramob.
- Ich organisiere auch selbst eine Veranstaltung, um Kinder und Jugendliche an die Programmierung heranzuführen, z.B. mit Little Bits oder dem Calliope. Wir haben auch schonmal einen Minecraft-Bot programmiert.
- Wo findest du die Kinder/Jugendlichen, die mitmachen?
- Es gab eine Info an die Teilnehmer des Open Spaces, die ihre Kinder angesprochen haben. Außerdem schreibe ich Schulen an.
- Was mache ich, wenn ich eher schüchtern/zurückhaltend bin?
- Das sind doch alle! Einfach hingehen und mitmachen. Die Teilnehmer sind alle ganz offen. Zur Not einen Kollegen mitnehmen, mit dem man quatschen kann.
- Wie findet man Veranstaltungen für Entwickler?
- Meetup.com, Softwerkskammer.
- Was mache ich, wenn in meiner Region keine Veranstaltungen stattfinden?
- Selbst eine organisieren oder halt weiter fahren. Die Softwerkskammer hilft vielleicht.
- Wie bereitest du dich auf Veranstaltungen vor?
- Meistens gar nicht so viel. Ich gehe einfach hin. Manchmal wird aber empfohlen, etwas mitzubringen (z.B. Repo von GitHub klonen, IDE installieren). Es ist aber immer gut, einen Laptop mitzunehmen.
- Wie nimmst du das Optimum aus den Veranstaltungen mit (z.B. Notizen, Ziele setzen)?
- Ich nutze eine Notizen-App. Nebenbei probiere ich meist live das Gezeigte aus. Im Nachhinein lade ich den Beispielcode herunter und mache selbst weiter. Aktuell probiere ich Sketchnotes aus.
Aus- und Weiterbildung
- Bildest du selbst Entwickler-Nachwuchs aus und wenn ja, wie ist das Vorgehen?
- Zum 01.08. bekommen wir unseren ersten Azubi zum Fachinformatiker Anwendungsentwicklung.
- Hast du Tipps für Ausbilder/-innen im IT-Bereich?
- Nehmt euch ausreichend Zeit für eure Azubis! Macht z.B. Pair Programming mit ihnen. Wichtig sind auch intensive Code Reviews, bei denen alles angemerkt werden soll, was euch auffällt. Schaut euch detailliert den Code an und nickt nicht einfach alles ab. Nur durch Feedback lernt man.
Abschluss
- Wo können die Hörer mehr über dich erfahren bzw. dich kontaktieren?
- Bei Twitter (@deenerin0), Xing, GitHub oder Instagram.
- Ansonsten einfach zu einem Meetup im Raum Bielefeld kommen! 🙂
Literaturempfehlungen
- Robert C. Martin – Clean Code: A Handbook of Agile Software Craftsmanship*
* - Growing Object-Oriented Software, Guided by Tests*
* - Java By Comparison: Become a Java Craftsman in 70 Examples (Affiliate)*. Den erwähnten Podcast zum Buch gibt es hier: InnoQ-Podcast: Java by Comparison.
* - Die Sketchnote Starthilfe: Über 200 Strich-für-Strich-Anleitungen und Schriften zum Nachzeichnen*
*
Links
- Permalink zu dieser Podcast-Episode
- RSS-Feed des Podcasts
- Meetup.com
- Softwerkskammer
- Bielefelder Software Kids
- littleBits (Lernprojekt für den Arduino)
- CALLIOPE mini* (Microcontroller zum Lernen)
- JetBrains Kotlin Workshop Material
Dojo 道場 ist die Halle, in der man japanische Kampfsportarten wie Judo, Karate und Aikido macht. Wörtlich übersetzt bedeutet dōjo Ort 場 des Wegs 道.