Text in image transcribed belowText in image transcribed belowText in image transcribed below

Text from images transcribed below


A friend recently learned how to forage for porcini mushrooms in the Sierras.

At first, you see nothing – mushrooms are brown, and they seem invisible under the brown dirt and the brown leaf litter over the dirt.

But that’s why you go with a teacher – after a little coaching, the porcinis pop out of the dirt mounds and leaf litter, and become super obvious.


It’s the same in software, when applying design patterns. Like the porcini on its own, it’s easy to see composition vs inheritance when you look at an example on its own.

But out in the wild, in your legacy codebase, it’s less easy to see, and less easy to interact with.

But then, after a guide shows you some tricks for looking, you see your code differently.

The patterns pop out of the leaf litter, and out of the legacy code.


Applying lessons from legacy codebases requires being able to squint and see the patterns. Having someone show you just how to squint makes it easier.

My friend now forages for porcini without a guide.

That freedom to see and act on your own?

You deserve it too.

Find your guide.