Developer Week 2015

Developer Week 2015 took place in Nuremberg from June 15 to 18, 2015. Over the course of three days, trends, tools, and paradigms from various areas of IT were presented in 10 parallel sessions each day in the “".NET,” “MOBILE,” “WEB,” and “DWX” tracks. In addition, numerous evening events provided opportunities to network with other developers. I was the only employee from punkt.de attending the conference. Here’s a brief account of my experience.

Reading duration: approx. 5 Minutes

First of all, the venue itself was remarkable. The conference building at the Nuremberg Trade Fair—a three-story structure with numerous meeting rooms and a sun-drenched auditorium—was the perfect location for a conference. Numerous bar tables, seating areas, and sofas provided the perfect setting for relaxed conversations with like-minded people during breaks and in the evening. Despite the large number of attendees, it was relatively quiet—which made for very pleasant conversations.

Unless you were there with a group of 10 people at the same time, it was impossible to attend all the talks on offer. Although the sessions were generally divided into different subject areas, interdisciplinary topics like SCRUM or UX didn’t always make it easy to choose just one talk per time slot. Here’s a brief overview of the talks I attended.

Monday

In his session, Alex Zeitler provided a concise introduction to Docker and continuous delivery. After describing a continuous integration pipeline, he clearly demonstrated how Docker can be used in such a scenario to build, test, and ultimately deliver software across multiple environments. In keeping with Docker’s motto, “Build, ship, and run any application anywhere,” he highlighted Docker’s strengths and its benefits in application development.

In his talk on “Reactive Architecture,” Ralf Winzinger provided an overview of a relatively new paradigm in software development focused on creating scalable, fault-tolerant, and responsive applications. He presented a reference architecture and the integration of existing developments, while also addressing pitfalls and the integration of legacy systems. The talk concluded with examples of how various open-source tools can be used.

The final official talk of the first day focused on the documentation of REST interfaces. Martin Walter first outlined the requirements for REST documentation and then presented various tools for this purpose. He covered both commercial, hosted services such as apiary.io and open-source products. Finally, he presented a prototype of what a custom-built solution might look like and explained why, given the free alternatives, one might prefer to rely on existing solutions. Conclusion: Swagger currently appears to be the tool of choice.

Tuesday

Bastian Hoffmann kicked off the second day by addressing the topics of logging, monitoring, and profiling in his usual professional manner. After a brief introduction to the subject, he first distinguished the individual topics from one another and then presented use cases and tools that he employs in his daily work. Of particular interest were the cross-technology use of tracing IDs to track requests across service boundaries, as well as the use of Graphite for generating metrics.

In the second talk, Matthias Lübken from Giantswarm gave a basic introduction to Docker. Surprisingly, out of the 50 people in the room, only four had ever used Docker—no one was using it in production, and most didn’t even know what Docker actually was. Unfortunately, the talk remained at a beginner’s level, and more interesting topics such as orchestration, deployment, and the production operation of containers were not addressed.

“Rediscovering Agile Principles and Practices” described the introduction of agile methods in the legal department of the Holtzbrinck Publishing Group. Through a short game on stage, the two speakers impressively demonstrated how agile teams differ from hierarchically organized teams and what challenges arise during implementation. It was interesting to see how the Agile Manifesto could be applied to the challenges faced by a legal department; apparently, all it took was replacing the word “software” with “solution.”

Roland Guelle then presented the relevant new features in HTTP 2.0. In particular, multiplexing and server push are likely to gradually change the way web applications are efficiently implemented. Although HTTP 2.0 currently accounts for only about 5% of traffic on the World Wide Web, this is expected to change rapidly. According to a projection shown during the talk, HTTP 1.X is expected to have completely disappeared by 2020. So there is still some time to make the switch, though according to the speaker, there is no reason not to do so right now.

The graph database neo4j, which originates from the field of NoSQL technologies, was then presented by Michael Hunger in his session. The presentation began by clearly illustrating how graphs are structured and where they can be useful in modeling real-world data. Next, Cypher, neo4j’s query language, was introduced, followed by a demonstration of integration into .NET via various APIs. A brief analysis of use cases rounded out the talk.

Versioning and managing database schemas has become a very important issue, especially with the rise of continuous delivery. Two tools—FlyWay and Liquibase—were presented in the talk of the same name by Stephan Kaps. In a sort of virtual boxing match, he discussed the features, strengths, and weaknesses of both tools and explained their use in different scenarios.

The second day concluded with a talk on CQRS (Command-Query Separation). This is a software paradigm derived from Domain-Driven Design in which the write and read components of an application are strictly separated. The speaker did an excellent job of illustrating which logical components are used, how they interact with one another, and what challenges arise in practice.

Wednesday

The third and final day began with a talk—admittedly somewhat disappointing—about the next version of PHP (7.0). A brief overview of the most important changes was the main takeaway from this presentation, which otherwise felt a bit like PowerPoint karaoke. PHP will likely be significantly faster (up to a factor of 2) with the next major version and will finally offer scalar type hints. In addition, there is 64-bit support, and numerous fatal errors have been “converted” into exceptions.

In the second talk, Maximilian Berghoff gave a very clear and well-structured introduction to RESTful web services and how they are built on the HTTP protocol. Although the talk remained very much on the surface of the topic, all the important concepts were briefly touched upon, so that by the end, the audience had a grasp of all the fundamental concepts.

The next talk was my personal highlight: Immutability as an Architectural Principle. Michael Sperber, a veteran in the field of functional programming, presented the F# programming language and its concepts. Conclusion: Especially in concurrent, parallelized applications, functional programming eliminates many of the problems that one struggles with in traditional object-oriented approaches. The talk also covered how this approach can elegantly solve even initially tricky problems like reactive programming, as well as its practical applications in big data scenarios.

The most disappointing talk of the event followed: Under the title “Software Quality,” the speaker—who seemed firmly convinced that his mere presence and a few funny quotes on PowerPoint slides were enough to make for a good talk—took the stage. The rest of the information could just as easily have been gleaned from a 5-minute read on Wikipedia. It’s a shame, really, since the topic is certainly a perennial favorite.

In a talk titled “User-Centered Data Visualization,” Tobias Komischke demonstrated how data can be presented graphically in a way that makes it easy for the viewer to understand. The fact that pie charts are often not as suitable as their widespread use might suggest, why 3D can be confusing, and how it can be misused to distort proportions were just a few of the many excellent tips and insights in this presentation.

Conclusion

Developer Week is a great opportunity to get a concise introduction to and overview of the latest technical trends in software development. Some talks may have lacked the technical depth that some attendees would have liked—but topic-specific conferences are probably better suited for that. Overall, the visit was worthwhile, and the food was good, too.

Photo of the Nuremberg Convention Center
Share:

More articles

Das sind keine Augenringe, das sind Schatten großer Taten.
Schorsch, Hosting-Experte at punkt.de
Working at punkt.de