InfoQ Homepage Presentations Architecture War Stories
Architecture War Stories
Summary
Stefan Tilkov shares entertaining examples of real life architectural disasters in software projects.
Bio
Stefan Tilkov is Co-founder and Principal Consultant at innoQ, where he spends his time alternating between advising customers on new technologies and taking the blame from his co-workers for doing so. He is a frequent speaker at conferences and author of numerous articles. Twitter: @stilkov
About the conference
CRAFT is about software craftsmanship, which tools, methods, practices should be part of the toolbox of a modern developer and company, and it is a compass on new technologies, trends.
Community comments
Beware of all things "meta"
by Jean-Jacques Dubray,
Beware of all things "meta"
by Jean-Jacques Dubray,
Your message is awaiting moderation. Thank you for participating in the discussion.
Stefan is a great entertainer, but when it comes to distributed system architecture, I am not quite sure I would follow him beyond the few jokes he cracks.
For instance, if he had spent a bit of time drawing the REST "meta"model, he could have easily predicted that the world would remain action oriented (Web APIs) instead of becoming Resource Oriented. I am glad some people get to charge $$$ to convert a perfectly understandable action verb into an HTTP verb + a (weird) noun (such as login into POST + session), but beyond that REST-for-distributed-systems is pretty much the ultimate architectural failure of the past decade, just as laughable as some of the examples he provides.
Actually, the best way to understand what you are doing is to draw its metamodel. For instance, when we are writing any kind of software, we somehow encode states, types, actions and relationships (STAR), yet most people, especially Stefan would dismiss that idea. People like him try very hard to reify these "meta" concepts into a single idea. And, without much "meta" thinking you are easily lead to believe that everything could be a function (FP), a resource (REST), a process (pi-calculus), a class (OO), ... Heck, even in SQL a relationship is reified as an attribute of a type.
I would actually argue that all of Stefan's stories would have had a better outcome if people had drawn a metamodel of their approach.