Discomfort, Excellence and Agency: Tessa Virtue and The Recipe for Success
January 22, 2026
This article launches Third Factor’s Story Behind the Story series, in which we unpack the stories behind both iconic and under-the-radar Olympic and Paralympic moments. For our first feature, Third Factor CEO Dane Jensen sat down with Tessa Virtue – two-time Olympic champion and, with her partner Scott Moir, the most decorated Olympic figure skaters of all time.
—
From the outside, the story of Tessa Virtue and Scott Moir’s career is simple: show up every four years and win. Gold in Vancouver, silver in Sochi, then, after retiring and un-retiring in spectacular fashion, gold in PyeongChang via one of the Winter Olympics’ all-time iconic performances.
But the story behind gold in 2018 is strikingly different than gold in 2010.
The lead-up to 2010 in Vancouver was marked by overcoming both injury and conflict: “I had surgery to combat an overuse injury in my legs, and throughout the recovery process Scott and I stopped speaking. We just lost trust.” At the Olympics, Tessa was “counting the number of steps it would take to get to the cafeteria because I knew if I walked those 300 paces, I wouldn’t be able to practise or compete. And so, it felt like the ultimate Hail Mary just worrying about making it to the end of a program.”
In the end, talent and hard work – on both recovery and the relationship – aligned to produce one shining moment. Tessa and Scott were crowned the youngest ice dance champions in Olympic history.
It was an incredible performance – and one that felt like it would be hard to repeat. “Stepping off the podium in 2010 … I’m not sure I really felt like a winner, if I’m honest,” she says. “There were a lot of factors that had to come together for us to win, and I’m not really sure if I knew stepping off the podium in 2010 that I could replicate that.”
At PyeongChang in 2018, on the other hand, “before our music even started, I felt different. I felt like a high performer, and I didn’t feel like I needed the judges’ results to prove that for me.” And contrary to the feeling after the 2010 Games, after 2018, “there was real joy and satisfaction that came from the hard work, from the pressure, from all of the things that I would’ve found totally depleting two, four, eight or 12 years earlier.”
So what changed? In our conversation with Tessa, three evolutions stood out: embracing discomfort rather than focusing on the number of hours spent in training; a deliberate shift in mindset from chasing perfection to pursuing excellence; and – above all else – a reclamation of personal power.
01. Creating discomfort vs. over-training
After the over-use injuries and surgeries that characterized 2010, the comeback in 2018 was built on less training time – three hours a day instead of 12 – more recovery time, and using the limited training hours to deliberately create imperfect conditions to sharpen their resilience. Whether it was leaving the ice unflooded and chipped, pumping in crowd noise, or falling on command to practise recovery, each practice built confidence that, as Tessa says, “we can BE the best, even when we’re not AT our best.”
02. Pursuing excellence vs. chasing perfection
In Tessa’s words, “We needed to stop chasing perfection and instead pursue excellence … and once we took perfect off the table, we thought excellence was possible.” Their daily goal became showing up at an “8 out of 10”; not in effort, but in execution. Reframing their approach unhooked them from the impossible standard of perfection and freed them to connect with the joy and challenge of consistent excellence.
03. Becoming drivers vs. passengers
At the heart of Tessa and Scott’s story behind the story is reclaiming a sense of agency and self-efficacy. After years of being “good little soldiers,” for their 2018 comeback, they stepped into the driver’s seat: assembling their own team, setting their own standards, and “operating as if we were the CEOs of our own business,” she says. “We had agency and autonomy, we really were steering the ship.” That changed their experience leading up to the Games and, she believes, made the ultimate win more fulfilling.
Of course, the effectiveness of these shifts is not limited to sports. We can all benefit from:
Increasing short-burst intensity and building time for recovery instead of focusing on hours worked or busyness as a proxy for effectiveness.
‘Roughing up the ice’ to build resilience into our projections, targets, pilots, and project plans instead of making plans that rely on perfect conditions.
Embracing ‘8 out of 10’ efforts that will produce more from consistency over the long haul instead of aiming for the impossibility of perfection.
Seeing ourselves as the author of our stories instead of allowing ourselves to fall into the mindset of being characters.
When Tessa and Scott made these shifts, the impact was transformative. In Tessa’s words, “I felt like I had the recipe for what it meant to be excellent.” Given the results, it’s a recipe that’s worth testing out for yourself.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
Launching of Little Joe 6 (LJ-6) took place at Wallops Island, Virginia. This was the first attempt to launch an instrumented capsule with a Little Joe booster. Only the LJ-1A and the LJ-6 used the space metal chevron plates as heat reflector shields, as they kept shattering.
This mission "flew to an apogee of 60 kilometres (37 mi) and a range of 127 kilometres (79 mi). The mission lasted 5 minutes 10 seconds. Maximum speed was 1,375 metres per second (3,075 mph) and acceleration was 5.9 g (58 m/s²). Payload 1,134 kilograms (2,500 lb)."
Photograph published in Winds of Change, 75th Anniversary NASA publication, page 77, by James Schultz
Like all software metrics, "lines of code" shouldn't be applied blindly.
Today my software WIP's LoC metric is rapidly declining because I've created C++ macros to generate boilerplate code. I'm talking code I used to copy and paste every time I needed it.
This is the kind of refactoring I love, because it means less code to maintain in the future. Fewer chances for coding errors. Less scrolling through source code to find the interesting parts.
And in this case, I believe it also uncovered (and solved) a bug. So a big win all around.
But from a strict "lines of code" perspective, this would be considered a step backward.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality✓ Free Actions
Free to watch • No registration required • HD streaming
...But if it looks too good to be true it probably isn’t – and it didn’t take long to get to the bottom of this particular mystery.
In around 2000 a US multimedia artist named Paul Guinan created 'Boilerplate' as an online 'pitch' to publishers who might consider the robot as a possible concept for a graphic novel.
The back story created for the entirely fictional automaton was that he was a little known Victorian robot developed in the 1880s by an inventor named Archibald Campion and unveiled to the world at the 1893 World’s Columbian Exposition...
When he saw #BOILERPLATE had an original sketch & signed by 👨🎤 artists #paulguinan Paul Guinan and #aninabennett Anina Bennett - he said he would buy it anyway😈 (at Night Flight Comics)
Start a Phaser.js project using Webpack and ECMAScript 2016 syntax.
I just found and improved a PhaserJS boilerplate that uses ES2016/ES2015 (ES7/ES6) with Webpack to create a nice JavaScript game development codebase! Webpack takes all code and assets for your game (including images under 25kb!) and shoves it all into a single “game.bundle.js” file that gets loaded! It’s pretty awesome.
You can fork/download and use my boilerplate for your own games if you’d like! If you don’t know anything about ES2015 (ES6) or ES2016 (ES7), check out this little guide I like: ES6 for Humans
PS: If you’ve ever worked with Phaser and Webpack before, you know that it’s crazy hard to figure out how to get it working at all. If you want to hook it up yourself, check out how I did it in my boilerplate here. Doing it this way allows you to set it and forget it, not needing to require or import any Phaser files into your code! Much nicer than what I had to do before.
PPS: If enough people ask for help getting started, I’ll try to whip up a crash course in NodeJS and command line control so you can understand what you need to do with this boilerplate!