Simple Examples For Complex Concepts?

I’m currently in the process of preparing a talk for WordCamp Frankfurt (#WCFRA) about a concept that enables you to make large parts of your code truly reusable. I’m talking about the “store in a separate package and pull in via Composer” type of reusability, not the “copy-paste and edit” one.

However, I’m having real difficulty putting this concept into slides. Where I would have a large unit-tested class that can be reused as is and save hours of work in every future project, I end up with very complicated and over-engineered ways of greeting the world. It seems that some concepts that are useful and necessary in a given context (in regards to scope, scale and complexity) are rendered meaningless when applied to a different context.

I currently face this dilemma in several areas of my work. I am very passionate about software architecture and want to try to distil my findings into easily digestible pieces of content. But how do you sell benefits when your potential customers haven’t faced the problems yet? That is a very fundamental problem when trying to share “best practices”.

How do you sell benefits when your potential customers haven't faced the problems yet? Share on X
  • How do you show the benefits at scale when there is no scale?
  • How do you demonstrate the necessity to divide-and-conquer complexity without having complexity?
  • How do you explain the testing you can save when all you have is a `printf()`?

I’ll probably manage to put together a decent slide deck for the coming presentation, but I am not entirely sure that I will be able to get my main points across. The slides will be available soon after the talk, so I’ll let others be the judge…

Have you faced a similar dilemma lately? Let me know in the comments!

Leave a Comment