Research and Fabricated Complexity

I had the privelege to meet Willy Zwaenepoel on Thursday at a USyd seminar. He is one of the distributed systems engineering legends that I really looked up to during my PhD research days, and heavily referenced his great works.

He was not only an inspirational researcher and speaker, he was also a down to earth pragmatic engineer.

He spoke of "Fabricated Complexity" - and basically about his observation that researchers often over complicate issues to make them seem 'interesting and novel' and to be accepted by the academic peer review process, while real practical/applicable ideas that lead to useful innovations often are actually based on 'simple ideas'.

He also came to the conclusion that 'design by contract/stable interfaces' are the key to successful (maintainable) innovation, despite he and his team spent many years of building some of the most 'sophisticated/complex' algortithms in distributed systems technologies, it was down to these simple software engineering concepts that would lead any innovation to wide adoption.

I couldn't agree more. I guess that is why I'm now working in industry as opposed to in research, and I am passionate about evangelising these simple distributed systems and software engineering ideas to everyone I come across.

Comments (1)
  1. Nick Malik says:

    It’s more than design by contract.

    It’s Responsibilited Driven Architecture.  

    Design by contract is a simple tactic for partitioning but it doesn’t tell you "why" or "where" to partition.  It answers more of the question of "how."  

    The key nugget of simplicity comes from collecting cohesive responsibilities into autonomous and relatively stable components, wrap them in services, and either evangelizing or governing to make sure that these key services move to the center of the application infrastructure.  Real change, towards simplicity, requires all three.

Comments are closed.

Skip to main content