Software Engineer | Ex-athlete

Hey, I'm Rado

As a senior software engineer, I've learned a lot through building, curiosity, and collaboration. I write here to share ideas and lessons that I hope others find useful!

Image of Radosvet Petrov

Latest Posts

all posts →
5 min read

Wed, 11 June 2025

Radosvet Petrov receiving a reward for being the best player at a national tournament

From Athlete to Engineer: Lessons I Carry Into Coding

I spent over 15 years as a professional hockey player before becoming a software engineer. The lessons I carried from the ice to the codebase continue to shape how I write code, work with teams, and grow my career.

6 min read

Sun, 10 August 2025

Illustration of interconnected nodes

React Hooks: A Practical Guide for Real-World Frontend Development

React hooks simplify state and side-effect management, but they're also easy to misuse. Here's a practical guide to mastering hooks in real-world projects, without falling into common traps.

8 min read

Mon, 4 August 2025

Illustration of old car left in the desert

When DRY Goes Wrong: The Case Against Early Abstractions

Premature abstractions can do more harm than good. Learn when repetition is better and how to know when to abstract safely.

3 min read

Mon, 23 June 2025

A person balancing on a thin rope.

Managing Time as a Senior Engineer: What Actually Works for Me

Senior engineers are constantly pulled in different directions. Here's how I manage my time to stay focused on high-impact work, support my team, and avoid drowning in distractions.

4 min read

Fri, 6 June 2025

A wooden door with a padlock.

Frontend Security: A Practical Guide

Frontend developers are often the first line of defence against cyberattacks. Here's a practical guide to the most common threats and how to prevent them

5 min read

Mon, 26 May 2025

A brick wall, symbolising the strong foundation with a tool like ESLint

The One Tool You Can't Afford to Skip

Forget frameworks and libraries. The most powerful tool for a junior developer is ESLint. It forces consistency, catches bugs, and makes you a better programmer.

Read more