Sie stehen vor der Herausforderung, neue Mitarbeiter:innen schnell in ein komplexes Themenfeld in der Softwareentwicklung einarbeiten zu müssen? Das Developer Bootcamp kann Sie dabei unterstützen, dieses Ziel zu erfüllen und Ihre Mitarbeiter:innen für das nächste Projekt methodisch und technologisch vorzubereiten.
Wie funktioniert das?
Sie haben die Wahl: Wählen Sie einen Workshop, wie bspw. den Well-Grounded Java / Kotlin Developer, der auf gängige Szenarien optimiert ist oder konsultieren Sie den nachfolgenden Modulkatalog, um sich das Curriculum ganz nach Ihren Bedürfnissen selbst zusammen zu stellen.
Dazu biete ich Ihnen in Kooperation mit einem zusätzlichen Trainer eine breite Auswahl von Themenfeldern aus dem Bereich der agilen Softwareentwicklung an. Gerne unterstützen wir Sie auch bei der Themenwahl, basierend auf Ihren Projektanforderungen und unserer Erfahrung.
Zielgruppe und Vorkenntnisse
Die Zielgruppe für diesen Workshop sind Entwickler und Entwicklerinnen die keine bis wenig Erfahrung in der modernen Softwareentwicklung auf der JVM haben. Je nach Curriculum arbeiten wir uns gemeinsam Schritt-für-Schritt durch Grundlagenwissen hin zu Praxiswissen in den Themenfeldern, die sie zusammengestellt haben.
Die Workshops sind ausgelegt auf eine ständige Interaktion mit den Teilnehmer:innen, um die Inhalte nicht nur zu lernen, sondern zu verstehen und praktisch anzuwenden.
Die Teilnehmer:innen sollten etwas Programmiererfahrung mit Java oder Kotlin mitbringen, müssen aber in den behandelten Themen nicht firm sein.
Workshop: Well-Grounded Java / Kotlin Developer
Das Ziel dieses Workshops ist es, den Teilnehmer:innen einen guten Einstieg in die professionelle Anwendungsentwicklung mit Java oder Kotlin zu geben. Hierbei liegt der fokus auf einer projektübergreifend einsetzbaren Methodologie um Anforderungen in wartbaren, performanten und testbaren Code umzusetzen.
Dieses solide Fundament erarbeiten wir uns im Workshop durch die folgenden Module:
- Objekt-orientierte Programmierung
- Java / Kotlin Best Practices
- Grundlagen und Richtlinien eines guten Anwendungsentwurfs
- Test-Driven Development
- JUnit
- AssertJ
- Mockito
Dauer: 3 Tage
Technische Anforderungen
Es handelt sich um einen Hands-on Workshop. Die Teilnehmer:innen sollen die diskutierten Inhalte praktisch erproben und somit ihr Verständnis in den Konzepten und Technologien vertiefen. Die dazu erforderlichen Materialien (Quelltexte, Beispielanwendungen, ggf. Handouts) bekommen alle Teilnehmer:innen gestellt. Zur erfolgreichen Teilnahme ist erforderlich:
- Notebook / Laptop
- IDE nach Wahl (IntelliJ Community oder Ultimate Edition empfohlen)
- Docker und Docker Compose installiert und lauffhäig (ggf. lokale Admin-Rechte auf dem Rechner erteilen)
- Für den Zugriff auf das Internet bitte ggf. Proxy-/Firewall-/VPN-Einstellungen etc. überprüfen
Termine
Termine auf Anfrage. Gerne erstelle ich Ihnen ein unverbindliches Angebot zur Durchführung dieses Workshops.
Modulkatalog
Sie finden nachfolgend eine Auflistung der Themengebiete, die wir im Rahmen des Developer Bootcamp berücksichtigen können. Sollten Sie sich auf dieser Liste nicht wiederfinden, lassen Sie uns gerne über Ihre konkreten Anforderungen sprechen.
- Anwendungsentwicklung
- Objekt-orientierte Programmierung
- Funktionale Programmierung
- Reaktive Programmierung
- Java Best Practices
- Kotlin Best Practices
- System- und Anwendungsentwurf
- Modularisierung (JPMS / Jigsaw)
- Microservices vs. monolitische Anwendungen
- Parallele Verarbeitung, Nebenläufigkeit
- Grundlagen und Richtlinien eines guten Anwendungsentwurfs
- Methodologie
- Test-Driven Development
- Behavior-Driven Design
- Domain-Driven Design
- Refactoring
- Anwendungsframeworks (inkl. des jeweiligen Stacks)
- Spring / Spring Boot
- Quarkus
- Micronaut
- Helidon
- Persistenzstrategien
- SQL vs. NoSQL
- OR-Modellierung
- Hibernate / Hibernate Panache
- Schema-Evolution: Liquibase, Flyway
- Domain Sourcing
- Event Sourcing
- Datenbanken
- PostgreSQL
- MySQL / MariaDB
- H2
- MongoDB
- CouchDB
- Datenserialisierung
- Schema-behaftet vs. schema-lose
- XML, XML Schema
- JSON, JSON Schema
- Apache Avro
- Google Protocol Buffers
- API-Entwicklung
- HTTP
- RESTful Design
- API-First-Strategie (mit OpenAPI)
- Messaging
- Grundlagen
- MQTT
- JMS
- AMQP
- Apache Kafka
- Apache Pulsar
- Testing
- JUnit
- AssertJ
- TestNG
- Mocking und Stubbing mit Mockito
- Externe Schnittstellen simulieren mit WireMock
- Last- und Performanztests mit Gatling
- Property-Based Testing
- Logging
- Log-Formate (GELF, ELK, ...)
- Log4j2
- SLF4J
- Use Cases in der Cloud
- Versionskontrolle
- Einführung in Git
- GitHub
- GitLab
- Diskussion unterschiedlicher Branching Modelle
- Build- & DevOps-Themen
- Einführung in Containerisierung / Docker
- Maven
- Gradle
- Jenkins
- TeamCity
Gerne berücksichtige ich ihre speziellen Anforderungen bei der Ausgestaltung der konkreten Agenda. Lassen Sie uns einfach dazu sprechen.