Daniel and Urs at DWX in Nuremberg in June

Daniel and Urs are speakers at the developer week DWX in Nuremberg in June.

If you want to speak to us in person and not just read from us on this blog, come and join us.

You even get a discount, just insert the registration code DWX2018Enzler and unlock your 15 % discount on all tickets. Information & tickets on https://dwx-2018.eventbrite.com/?aff=speaker

But, what are we talking about at the conference anyway (talks in German and the workshop will be in English)?

Daniel’s Talks

Daniel will talk about the following topics – all nerdy stuff of course:

Mach es selbst. Asynchrone Nachrichtenverarbeitung die rockt!

Eine Nachrichtenverarbeitung  zu bauen die Messages von Queues konsumiert und produziert ist ziemlich einfach in der Theorie. In der Praxis sieht es schon anders aus. In den letzten Jahren haben wir RabbitMQ, Azure Service Bus, Azure Storage Queues, MSMQ, AmazonSQS, Kafka und SQL Server in NServiceBus integriert. Ihr könnt darauf wetten dass wir viele Fehler gemacht haben!
In diesem Vortrag zeige ich euch wie eine zuverlässige Nachrichtenverarbeitung mit TPL und Async aussehen kann. Ich zeige euch wie ihr mit asynchronen Synchronisationsprimitiven Requests drosseln kann. Ich vergleiche Nachrichtenverarbeitungen von verschiedenen Queuingtechnologien. Mit diesem Wissen kannst auch du eine asynchrone Nachrichtenverarbeitung schreiben die nicht nur für immer läuft sondern dies auch noch performant tut. Komm vorbei und baue eine Nachrichtenverarbeitung die rockt!

Microservices Done Right (with examples in ASP.NET and NServiceBus)

Go beyond the hype and build a solid foundation of theory and practice with this workshop on SOA development. Join Udi Dahan for a one-day deep dive covering both architectural topics and the nitty-gritty details of building production-ready systems including:

• Data ownership across the enterprise
• Fault tolerance – HTTP and queues
• Scalability, high availability & monitoring

You’ll also get some hands-on experience in SOA development by building:

• Scalable command-processing endpoints
• Publish/subscribe event-processing interactions
• Long-running multi-stage business processes and policies

Objectives
We’ll understand service oriented architecture concepts, and DDD concepts such as bounded contexts and data ownership.
We’ll apply those concepts to build a simple, yet fully functional, order management system sample with a service-oriented architecture, using patterns such as command processing, pub/sub, and long-running sagas.

Skill Level
Senior developers, tech leads, and architects will benefit most from this workshop.

Computer setup
You’ll need a Windows laptop, prepared by following the workshop setup instructions. We recommend you prepare your laptop at least a week before the workshop.

Async/Await und die Task Parallel Library: await Kopfexplosion

Du hast mit async und await rumgespielt. Du kennst es. Async/Await kann nicht so schwer sein, oder? Die Schlüsselwörter sind elegant und einfach…  bis du anfängst das Ganze mit der Task Parallel Library zu kombinieren. Instruierst du die TPL mit der Longrunning Task Creation Option? Kannst du die async/await Schlüsselwörter auch weglassen? Wie limitierst du Nebenläufigkeit und trackst effizient mehrere laufende Tasks? Was zum Teufel ist Scheduler Hiding? Woher kommen all die Allokationen?
In dieser Präsentation erkläre ich dir wie du effizient async/await mit der TPL integrierst und gebe dir einen Schutzhelm mit auf den Weg der sicherstellt, dass dein Kopf nicht explodiert!

Urs’ Talks and Workshops

Urs will talk about the following topics – some agile some geeky:

Agile Testpyramide

Vielleicht kennt ihr die Testpyramide mit Unit-, Integrations- und UI-Test. Um wirklich flexible, erweiter- und veränderbare Software zu schreiben, ist die Testpyramide aber eine zu grobe Beschreibung und eine schwierig umzusetzende Anleitung.
Ich zeige euch in dieser Session, wie wir unsere Software testen und vor allem, warum wir wann welche Art von Tests verwenden. Agiles Testen unterstützt die Agilität und behindert sie nicht.
Lernt von meinen Fehlern, Erfolgen und Erfahrungen, die ich in meinen Projekten gemacht habe.

Wenn ich doch schon früher gewusst hätte, dass es auch einfacher geht – 4 Wege zu einfacherem Softwaredesign

In meiner Zeit als Softwareentwickler gab es immer wieder Aha-Momente, welche die Art und Weise verändert haben, wie ich Software entwerfe:

– Inversion-of-Control Container machen alles unnötig kompliziert
– OR-Mapper sind nur Pseudoabstraktionen
– Faking/Mocking-Frameworks sind der Tot von guten Unit-Tests
– Softwarearchitekturdokumente sind Zeitverschwendung

Ich zeige euch, mit welchen Konzepten und Methoden wir aktuell arbeiten und ein einfacheres Softwaredesign erreicht haben. Und ich wage eine Prophezeiung, was meine nächsten Lernschritte sein werden. Schärft mit mir euren Blick auf Designentscheide.

Problem Solving für Softwareentwickler

Jeder Softwareentwickler löst täglich viele kleine und grosse Probleme, zum Beispiel Architektur-, Design- oder Technologieprobleme. Während die kleinen Probleme schnell behoben sind, ist bei grösseren Problemen oft die Gefahr, einfach die erstbeste Idee umzusetzen. In diesem Workshop zeige ich auf, wie schwierige Probleme mit einer geordneten Problemlösung einfacher lösbar sind und langfristig zu besseren Ergebnissen führen. Am Beispiel eines realen Projekts (anonymisiert) üben wir das Problemlösen.

Wir befassen uns mit den folgenden Themen:

– Eigenschaften von schwierigen Probleme
– Schwierigkeiten mit der Lösungsfindung
– Problemverständnis fördern
– Alternativen erarbeiten und bewerten
– Entscheidungsfindung
– Umsetzung in evolutionären Schritten
– Retrospektive und Lessons Learned

Nach diesem Workshop verfügt ihr über das Rüstzeug um gute Lösungen für technische Probleme zu finden.

About the author

Urs Enzler

Add comment

By Urs Enzler

Recent Posts