Please Understand Me
In our world there are two kinds of people: developers and managers. The people who don’t earn nearly enough money, given the incredible amount of mind-bending work they do all day, and the people who get way too much money for talking all day (and sending emails of course). Nevertheless, developers and managers - slightly irritated by each other’s presence and radically opposing life goals - need to work together productively, in order to satisfy someone known as “the customer”.
DTOs and serialization techniques
We’ll cover the concepts you need to know and we’ll put them to practice in a sandboxed environment (a very simple example PHP project). Some of the topics that will be discussed:
DTO, serialization, (de)normalization, en-/decoding, API design, Reflection
An evening with CQRS
We’ll cover the concepts you need to know and we’ll put them to practice in a sandboxed environment (a very simple example PHP project). Some of the topics that will be discussed:
Commands/queries, write/read models and optimization, domain events, projections, transactions and eventual consistency
Programming with Cmdr. Chris Hadfield
At age 9 a Canadian boy called Chris Hadfield witnessed the landing of Apollo 11’s lunar module on the moon. That night he decided he wanted to be an astronaut. Every time he had to make some decision in life, he picked the option that brought him closer to fulfilling that dream.
He actually became an astronaut and is now quite famous for his work as commander of the International Space Station (ISS).
Agile Lego
At the Agile Lego® Workshop we’ll play, uhm, work in teams, creating Lego® structures based on requirements you’ll get from The Stakeholder. You’ll build things you never built before (in short little sprints)!
Expect lots of time pressure and stakeholders who change their minds and - of course - deliver ambiguous specifications. Expect team members who prefer Big Bang Releases or incremental value-adding feature releases. Experience the difference between horizontal and vertical features.
All the Cool Kids...
The PHP world is spinning quite fast these days. There’s a lot to keep up with. You can’t be an expert in all subjects, so you need a way to find out what’s relevant for you and your team. Which approaches to software development would be useful? Which programming paradigms could help you write better code? And which architectural styles will help your application to survive in this quickly changing world?
Hexagonal Architecture - Message-oriented Software Design
Commands, events, queries - three types of messages that travel through your application. Some originate from the web, some from the command-line. Your application sends some of them to a database, or a message queue. What is the ideal infrastructure for an application to support this on-going stream of messages? What kind of architectural design fits best?
This talk provides answers to these questions: we take the hexagonal approach to software architecture. We look at messages, how they cross boundaries and how you can make steady communication lines between your application and other systems, like web browsers, terminals, databases and message queues. You will learn how to separate the technical aspects of these connections from the core behavior of your application by implementing design patterns like the command bus, and design principles like dependency inversion.
The Quest for Global Design Principles
If you’re a programmer you make design decisions every second. Statements, functions, classes, packages, applications, even entire systems: you need to think, and often think hard, about everything. Luckily there are many useful design principles, patterns and best practices that you can apply. But some of them merely expose code smells. Others only help you design your classes. And some are applicable to packages only. Wouldn’t it be nice to have some more general, always useful, invariably applicable, foundational design principles?
How Symfony Changed My Life
Before Symfony was spelled with a capital “S” there was another symfony, the first version of the framework. It already meant a lot to me at the time. But with the arrival of Symfony 2 it became clear that something very important was happening in the world of PHP programming. It appears that this framework is able to turn amateur website makers (like I used to be) into actual software developers. What is the secret? What makes Symfony so special? And why am I still hooked?
Principles of (PHP) Package Design
With many great tools available for sharing packages of PHP code, it is now up to you as a developer to design these packages well. You have to decide what to put in a package, when to split a package and on what other packages you can safely depend.
You will learn how to make good decisions about your package design and release reliable, highly usable and therefore highly esteemed packages of PHP code.