
Johannes Dienst
Softwarearchitect
Developer Advocate
Würzburg, Germany
Actions
Johannes Dienst is a Senior Software Engineer at adesso. His focus is on automation, documentation, and software quality.
Johannes Dienst ist Senior Software Engineer bei adesso. Sein Fokus liegt auf Automatisierung, Dokumentation und Softwarequalität.
Links
Area of Expertise
Topics
Useful and Beautiful Developer Docs and How to Create Them en de
Inadequate developer documentation can be detrimental to your product's success. Developers seek efficient problem-solving, and if your product fails to provide that, they will quickly move on.
Join me as I share my experience of revamping developer documentation at my current company. Initially, the documentation was subpar and barely functional for many developers. Onboarding was challenging, and existing users struggled to accomplish their tasks effectively.
In this talk, we will delve into the stages of enhancing documentation quality, complete with real-world examples of our journey. Gain insights into structuring your documentation to meet your audience's specific needs through segmentation. Discover the power of crafting learning objectives to streamline content focus. Additionally, I will demonstrate how adopting the Docs-As-Code approach can automatically ensure inclusive language, spelling accuracy, and stylistic consistency, resulting in an enjoyable reading experience.
Greek Philosophy for Modern Software Development en
Hardly a year goes by without a new disruptive technology appearing. While it used to be possible to keep up to date with moderate effort, it has now become practically impossible. In addition, agile methods are used for development and, especially in the corporate environment, existing interpersonal and political tensions often spill over to the individual employee.
I also found myself in this situation and was looking for a sensible way to deal with it.
In the process, I came across the Greek philosophy called Stoicism. It is practiced by many people who find themselves in challenging life circumstances. As a holistic practice-focused philosophy, Stoicism is primarily aimed at individuals and helps them strive for the highest goal of happy existence (eudaimonía).
In this lecture, the main features of Stoicism will be presented. Then we will deal with the most important qualities of a practicing Stoic. Among them is emotional self-control. These can be specifically trained through suitable exercises in order to gain more composure in everyday life and become more resilient. In everyday life, stress can be avoided and the focus can be directed towards possible solutions instead of entering into unprofitable conflicts.
Wie nützliche und schöne Docs für Softwareentwickelnde erstellt werden können en de
Unzureichende Docs für Softwareentwickelnde kann dem Erfolg Ihres Produkts abträglich sein. Sie suchen nach effizienten Problemlösungen, und wenn Ihr Produkt diese nicht bietet, werden sie schnell weiterziehen.
Ich berichte von meinen Erfahrungen bei der Überarbeitung der Dokumentation für Softwareentwickelnde in meinem derzeitigen Unternehmen. Ursprünglich war die Dokumentation mangelhaft und für viele kaum brauchbar. Das Onboarding war eine Herausforderung, und Benutzende hatten Schwierigkeiten, ihre Aufgaben effektiv zu erledigen.
In diesem Vortrag werde ich die einzelnen Phasen der Qualitätsverbesserung der Dokumentation anhand von Beispielen erläutern. Wie Segmentierung dabei hilft die Dokumentation so zu strukturieren, dass sie auf die spezifischen Bedürfnisse der Konsumierenden passt. Außerdem gehe ich darauf ein, wie wichtig es ist, präzise Lernziele zu formulieren, um den Fokus der Inhalte zu optimieren. Darüber hinaus zeige ich, wie mit dem Docs-As-Code-Ansatz automatisiert auf verständliche Sprache, korrekte Rechtschreibung und stilistische Konsistenz getestet werden kann.
Architecting Scalable CI Pipelines for Enterprises: Lessons Learned en de
Build, test, release—this might work for a simple app or a startup. But in regulated enterprises? Things get a lot more complicated. You’re not just shipping code; you’re juggling a maze of processes and expectations. Think about automatically generating a Software Bill of Materials (SBOM), navigating complex change processes with human approvals, or implementing branching strategies that track every ticket across multiple environments. And you still need to keep your pipelines evolvable and find errors fast.
The 'pipeline as code' approach is a natural fit for these challenges. To keep your pipelines scalable and evolvable, you need a solid architecture that can handle edge cases and unexpected complexities.
In this session, I’ll share a decade of experience building enterprise CI pipelines across platforms like Gitlab CI/CD and Azure DevOps. From designing branching strategies that ensure traceability across multiple environments to handling compliance-driven change processes with human approvals, I’ll walk you through real-world challenges I’ve faced. You’ll hear about the mistakes I made—like overmodularizing pipelines or neglecting useful debug output—and the lessons I learned to build pipelines that are scalable, adaptable, and easy to debug.
## Take Home Ideas
- Evolvability: Pipelines are never set in stone. Especially in enterprise environments you often get new requirements from regulations. Or you have to support a deployment to a whole new environment in short time. Choosing a modular approach combined with parameterization can help you do without messing up your pipeline code.
- Debuggability: Debugging pipelines is a pain as you often just have to run them to see what happens. Useful debug output is often neglected but is a cornerstone of moving fast when developing pipelines.
## Additional Material
- Former Talks: https://fiveandahalfstars.ninja/talks/johannesdienst_talks.html
## Notes
This talk is a collection of all the learnings I had over the years building enterprise pipelines with Gitlab CI/CD, GitHub Actions and Azure DevOps.
Skalierbare CI-Pipelines im Enterprise Umfeld: Lessons Learned en de
Entwickeln, testen, veröffentlichen – das mag für eine einfache App oder ein Start-up funktionieren. Aber in regulierten Unternehmen? Da wird es schon viel komplizierter. Es wird nicht nur Code ausgeliefert, sondern sondern ein ganze Prozesse abgedeckt. Komplexe Änderungsprozesse mit menschlichen Genehmigungen navigieren oder Verzweigungsstrategien implementieren, die jedes Ticket über mehrere Umgebungen hinweg verfolgen. Und dabei müssen die Pipelines weiterentwicklungsfähig halten und Fehler schnell finden.
Der Ansatz „Pipeline as Code“ ist für diese Herausforderungen wie geschaffen. Um die Pipelines skalierbar und entwicklungsfähig zu halten, benötigen sie eine solide Architektur, die auch Randfälle und unerwartete Komplexitäten bewältigen kann.
In diesem Talk werde ich meine zehnjährige Erfahrung mit dem Aufbau von CI-Pipelines für Unternehmen auf Plattformen wie Gitlab CI/CD und Azure DevOps teilen. Vom Entwurf von Verzweigungsstrategien, die die Rückverfolgbarkeit über mehrere Umgebungen hinweg gewährleisten, bis hin zum Umgang mit compliance-gesteuerten Änderungsprozessen mit manuellen Genehmigungen werde ich Ihnen die Herausforderungen aus der Praxis vorstellen, denen ich begegnet bin. Sie erfahren von den Fehlern, die ich gemacht habe – wie die Übermodularisierung von Pipelines oder die Vernachlässigung nützlicher Debug-Ausgaben – und von den Lektionen, die ich gelernt habe, um Pipelines zu entwickeln, die skalierbar, anpassungsfähig und leicht zu debuggen sind.
Skalierbare CI-Pipelines im Enterprise Umfeld: Lessons Learned de
Entwickeln, testen, veröffentlichen – das mag für eine einfache App oder ein Start-up funktionieren. Aber in regulierten Unternehmen? Da wird es schon viel komplizierter. Es wird nicht nur Code ausgeliefert, sondern sondern ein ganze Prozesse abgedeckt. Komplexe Änderungsprozesse mit menschlichen Genehmigungen navigieren oder Verzweigungsstrategien implementieren, die jedes Ticket über mehrere Umgebungen hinweg verfolgen. Und dabei müssen die Pipelines weiterentwicklungsfähig halten und Fehler schnell finden.
Der Ansatz „Pipeline as Code“ ist für diese Herausforderungen wie geschaffen. Um die Pipelines skalierbar und entwicklungsfähig zu halten, benötigen sie eine solide Architektur, die auch Randfälle und unerwartete Komplexitäten bewältigen kann.
In diesem Talk werde ich meine zehnjährige Erfahrung mit dem Aufbau von CI-Pipelines für Unternehmen auf Plattformen wie Gitlab CI/CD und Azure DevOps teilen. Vom Entwurf von Verzweigungsstrategien, die die Rückverfolgbarkeit über mehrere Umgebungen hinweg gewährleisten, bis hin zum Umgang mit compliance-gesteuerten Änderungsprozessen mit manuellen Genehmigungen werde ich Ihnen die Herausforderungen aus der Praxis vorstellen, denen ich begegnet bin. Sie erfahren von den Fehlern, die ich gemacht habe – wie die Übermodularisierung von Pipelines oder die Vernachlässigung nützlicher Debug-Ausgaben – und von den Lektionen, die ich gelernt habe, um Pipelines zu entwickeln, die skalierbar, anpassungsfähig und leicht zu debuggen sind.
Java Forum Nord 2022 Sessionize Event
JCON 2022 ONLINE (virtual) Sessionize Event
BED-Con 2019 Sessionize Event

Johannes Dienst
Softwarearchitect
Würzburg, Germany
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top