Breaking Out Of The Fear Cycle
How software teams become trapped in cycles of fear and risk aversion, and strategies to escape these patterns through functional programming principles.
This talk draws on my experience introducing functional programming principles into skybet.com - Britain’s most popular online bookmaker with over 2 million customers, 11 million financial transactions every Saturday, and 50 million real-time updates every day. The stakes were high, and so was the fear.
I framed the talk around Michael Nygard’s concept of the fear cycle: quick fixes create knowledge gaps, and those local kludges eventually cause someone else’s “What? I didn’t know that!” moment. The cycle completes when fear of breaking things leads to more quick fixes, and suddenly even minor changes carry escalating costs.
At Sky Betting & Gaming, we tackled this on two fronts. Technically, we shifted from inheritance-based to composition-based architecture, leaning heavily on functional programming principles. I talked through some of the object-oriented pitfalls we’d encountered and why composition gave us more confidence in the codebase.
But the technical changes were only half the story. We also had to break down barriers between operations and engineering, get teams aligned without creating silos, and invest heavily in education and knowledge-sharing. Scaling software is hard; scaling teams is even harder.
If I had to distil the advice down to a few things: pick something small, get it into production, and repeat. Put extra effort into alignment and evangelism - you need people to believe in the direction you’re heading. And deliver real value to the business. Nothing gives greater credibility than data proving your approach actually works.