Mastery is a Wicked Problem
I was rummaging through my posts the other day and re-read On Reaching Mastery. In 2016, I wrote that the barrier to entry is very low, the barrier to succeed very high when you want to put apps into the iOS App Store.
Ten years later, and – oh boy.
In 2025, a meager year ago, there was one voice that asked: if the AI coding tools are so great, Where’s the Shovelware? I remember bookmarking this. It was very convincing.
I now think they better shouldn’t have posed the challenge!
Who on earth wants more shovelware? Yet that’s what we get.
I spent that year experimenting with AI coding tools, too; for the first time even. I skipped all previous generations, from online chat to Cursor. I noticed how in meetups the topics shifted from TDD and quirky dev tools to AI tools from late 2024 through 2025 and into 2026, where Agentic Engineering was almost the norm in the local software craftsmanship meetup in particular.
It’s curious how software craftsmanship in particular adopted automating the very production over to the clankers. Assuming the exact opposite would’ve sounded sensible. I believe it’s not a settled discussion, it’s rather that those folks are early adopters and willing to experiment. As a (local) community, we haven’t figured out how to become excellent, stay relevant, and teach the next generation yet. We’re all experimenting.
One thing that stood out to me when I re-read my post from 2016 was that I didn’t address how mastery takes years, maybe decades of your life – only to realize you’re never finished. That figuring out what mastery means is a wicked problem. “Wicked” as in Robin Hogarth’s 2001 book Educating intuition, where “wicked” learning environments are characterized by unclear rules and poor and delayed feedback. Reaching mastery where the rules change, the tech stacks change, the very way to work changes twice within one’s lifetime (remember the cloud, or the internet, before AI became a hot topic?) – how could you know you’re done?
You aren’t, of course, ever ‘done’. That’s the boring answer. You are just good enough to adapt and take wisdom with you.
Mastery is a wicked problem in any craft. No two masters of woodworking produce the exact same furniture. Master roofers will all produce a roof that doesn’t leak, but in isolation, they might choose different material and joinery. Master bakers will certainly not all churn out the same cake all day every day, but specialize.
Every master has a different taste and style. The techniques can be ‘mastered,’ but masters don’t apply them all the same all the time.
They put their humanity into the work as well.
(I believe we’ll see more and more of that term in the upcoming years.)
Similarly, Masters of Software Crafting put their humanity into the software. This can mean different things for different people and/or different problems: craft can be the code (does it lend itself well to parallelization by the CPU?), architecture and composition and maintainability, and craft is seen in the end product, when the customer clearly has a delightful and refined experience. Software craftspeople express their humanity throughout the process. It’s not just the decisions in abstract, it’s also the cohesiveness of their beliefs that led to the decisions.
There can be roads to mastery, blueprints to achieving it, but there’s no substitute to going through the process of mastery. It’s a performative act first. And it’s a dedication that we as humans value.
It takes masters to navigate the wicked environment of work and learning and adapting to what comes next. That’s the bootstrapping paradox we’re in at the moment. It maybe won’t be the last.