From Athlete to Engineer: Lessons I Carry Into Coding

Wed, 11 June 2025 - 5 min read
Radosvet Petrov receiving a reward for being the best player at a national tournament

I was an ice hockey goalie, and on some days I’d spend seven hours training. At 14, I left home to live in a different country, chasing my dreams, trying to figure out how to become a better player. Every mistake was mine to learn from, and every improvement came from stubborn persistence, desire to become better and relentless practice.

That same mindset carried into my software career. I started with no prior knowledge of coding, just a desire to succeed. I made mistakes, learned from them, and kept going. I was stubborn and proactive, sometimes to the extreme. In the early months of trying to break into tech, I slept far too little (something I wouldn’t recommend) just to carve out time for learning.

Looking back, the parallels are clear. The discipline, resilience, and hunger I developed as an athlete became the foundation for how I approach engineering today.

TL;DR

I spent over 15 years as a professional hockey player before becoming a software engineer. The lessons I learned on the ice - discipline, teamwork, performing under pressure, recovering from failure, mastering fundamentals, and playing the long game - have shaped how I write code, work with teams, and grow my career.

My simple advice is to treat your career like training, show up consistently, practise the basics, and embrace feedback.

Discipline and Consistency

As a goalie, I trained for hours every day. Much of it wasn’t glamorous, repetitive drills, conditioning, endless footwork. But showing up consistently, even on days when I didn’t feel like it, was non-negotiable. That discipline made me a reliable player.

In software, the same principle applies. Doing refactoring, maintaining documentation, writing tests, none of it is flashy, but it’s what makes projects sustainable. A codebase doesn’t stay clean because of bursts of motivation. It stays clean because of consistency.

The Power of Teamwork

When I moved abroad at 14 to pursue hockey, I was suddenly alone. No family nearby, no safety net. I had to rely on teammates and coaches, learn to build trust quickly, and adapt to new cultures. Those relationships taught me that no one succeeds alone.

Engineering is no different. The strongest teams are not made of so-called “10x developers” chasing personal glory. They are built on trust, communication, and collaboration. Whether it’s sharing knowledge in a code review or supporting a teammate through a tricky bug, success in software, like in hockey, comes from playing as a team.

Performance Under Pressure

Being a goalie meant living under constant pressure. One mistake, and the game could be lost. I learned to stay calm, trust my preparation, and focus on the fundamentals when the stakes were highest.

That mindset has carried me through production outages, tight deadlines, and even tough interviews. In those moments, panicking never helps. What helps is keeping calm, breaking the problem into pieces, and executing step by step. Pressure doesn’t create new skills, it reveals the ones you have practised.

Recovering From Failure

In hockey, failure was unavoidable. I got scored on. I lost games. I faced injuries. As a goalie, the worst thing you can do is dwell on a mistake, because the next shot is already coming. I learned to reset instantly, move on, and focus on the next save.

In software, I’ve pushed broken code, misjudged estimates, and received tough feedback in reviews. The lesson is the same, failure isn’t final, it’s feedback. The faster you reset and learn from it, the stronger you become. A mistake is a chance to learn!

Mastering the Fundamentals

Goalie training involved endless drills, positioning, footwork, tracking the puck. It wasn’t exciting, but it was essential. The best players weren’t the ones doing the fanciest saves. They were the ones who mastered the basics so thoroughly that they became second nature.

In coding, fundamentals matter just as much. Clean code, algorithms, problem-solving, accessibility, testing, these aren’t glamorous, but they separate good engineers from great ones. Frameworks come and go, but fundamentals last.

The Long Game

From early in my hockey career, I knew it had a finite timeline. That reality forced me to think about the long game. When I eventually transitioned to tech, I carried the same mindset, plan ahead, keep learning, never get complacent.

In my early days of breaking into software, that meant months of little sleep and working long hours to practise and build projects. It wasn’t healthy, but it showed how determined I was to make the transition. Now, I see the long game differently. It’s not about exhausting yourself, it’s about sustaining growth through balance, curiosity, and continuous learning. Please don’t make my mistake, sleep is very important and now I understand why.

Practical Advice

  • For junior devs: adopt the athlete’s mindset. Show up every day, even when it’s boring. Practise fundamentals. Embrace feedback. Treat your career as training, not as a one-off performance.
  • For senior devs: don’t underestimate people with non-traditional backgrounds. The same qualities that make someone excel in sport, art, or any other field, resilience, discipline, teamwork, translate directly into engineering. Technical skills can be learned, but mindset is harder to teach.

Conclusion

On the surface, hockey and software engineering look like different worlds. But I didn’t stop being an athlete when I left the rink. I just found a new arena. The lessons I carried over shaped me into the engineer I am today.

Whatever your background, your story matters. The skills you’ve built, the resilience you’ve earned, and the lessons you’ve lived through can make you a stronger developer. All you need to do is carry them forward.

You might also like

Join my newsletter

Subscribe to get updates on new blog posts, useful frontend tips and ideas you can apply in your own work.