And we're proud to announce the next major speaker in line: Mathias Verraes. Many people in the Magento community don't know him yet - while they should. It's awesome to have this authoritative speaker come on stage with MageTestFest, for various reasons.
Mathias Verraes has an impressive record of talking about a huge diversity of topics, but they all have one thing in common: They all deal with thinking about code. This covers design patterns, heuristics, refactoring, but also more specifically DDD (Domain-Driven Design).
And because Mathias is one of the organizers of DDD Europe as well as DDD Belgium and because DDD really fits in the area of testing, we really really wanted him as a speaker for MageTestFest, this November.
It's worth noting that Vinai looks up to both Mathias and Sebastian Bergmann (I hope Vinai doesn't mind me saying that). And because we all look up to Vinai, this might give some perspective on how Mathias might be able to lift up the coding abilities of the Magento community.
DDD is a thing on its own. It's kind of tough to explain DDD to newcomers because it is not a technology, it's not even a methodology. It's rather a set of concepts and strategies to help you bring the domain of a project under control: Simply put with Magento, the domain is the specific set of products (or solutions) that a merchant is trying to sell. But instead of just sticking to the terminology that Magento uses (catalog, products, categories, stock), it might be better to bring in new classes & objects that actually describe what the merchant is dealing with (socks, sizes, brands, materials) together with certain procedures (stock refill, refunds).
This might not be directly related to Magento. But when a large Magento project grows bigger, probably, the code base also grows with it - and DDD is meant as a way to make more sense of the code: Making it more concrete, instead of it being more and more abstract.
While many Magento developers are familiar with TDD (Test-Driven Development, thanks to awesome developers like Vinai) and BDD (Behaviour-Driven Development, we'll talk more on this in further blogs soon), DDD is always a topic that seems further away from daily practices. While it should not.
Actually, I hope that by introducing Mathias Verraes to the Magento community, DDD is embraced more as a day-to-day practice with Magento developers. I hope to blog a bit more on why DDD might be important - me being a dummy, my words hopefully inspiring you to read more into the subject. But for now, I would like to introduce the Magento community to Mathias. And obviously, Mathias to the Magento community. SYN, SYN-ACK, ACK.
I had the pleasure of meeting up with Mathias about 10 years ago, when Mambo was forked and renamed to Joomla and when Johan Janssens (system architect pur-sang) created (together with a few others among which Mathias) a new Joomla 1.5 framework, which was (back then) far ahead of its time. God, that's ages ago. Regardless of what you might think of Joomla today, back then it was a revolutionary system with a lot on board that other CMS-es were struggling with (ACLs, a node system for menus, MVC, an independent framework).
Back then, I started to work together with Johan and Mathias, organizing Joomla boot camps to help developers to get started with Joomla 1.5 code. Over time, I lost track of Mathias, while actually, he became more and more an architectural guru and code philosopher. As he puts it himself: He's a student of systems, meddler of models and labourer of legacy. He has written an awful lot of cool stuff about code and more code. His blog verraes.net is definitely worth checking out.
So, there it goes, we are proud to have Mathias as a speaker at MageTestFest. Besides speaking at the main conference day, he also has a special DDD-in-PHP workshop. So if you want to improve your modelling skills, it is definitely worth the investment. More details on the workshop can be found here: https://magetestfest.com/agenda/workshop-mathias-verraes.