Why chess takes up so much space
Chess shares something with software architecture: you spend your time evaluating trade-offs under uncertainty, with limited resources (time on the clock, the complexity you can afford in a system). In both cases, the best decision is almost never the most ambitious one: it's the one that accounts for what you can actually maintain, calculate, or defend to the end.
A training ground for rigor
What I like about the game isn't really the competition, it's the discipline it forces on you. You can't bluff a position: either the plan holds up under analysis, or it collapses at the first refutation. Applied to code, that's a useful reminder of what it actually means to have "tested" an idea before committing to it.
Several roles around the game
My relationship with the game goes beyond playing: I'm also an accompanying parent at Club Échecs Bois-Colombes, I help organize tournaments, and I'm a member of the Hauts-de-Seine chess league. That closeness to the real logistics of a tournament (pairings, Elo tracking, publishing results) is what made me want to build EloChessPlanner: a tool I wish I'd had on hand instead of doing everything by hand.
It's no coincidence that several of my personal projects revolve around the game: EloChessPlanner to organize tournaments, OpeningBook to explore opening repertoires as a family, kotlin-chess-tournament to turn the ranking logic into a reusable library. They're all an excuse to build in a domain I understand intuitively, without needing a client brief to know whether the result is any good.
What it still teaches me
The game keeps reminding me of something useful as a tech lead: the quality of a decision is judged by the clarity of the reasoning behind it, not by the immediate outcome. You can play an excellent move and still lose the game; you can ship a sound architecture and still get caught out by an unexpected business change. In both cases, what remains is the rigor of the reasoning you can replay and explain afterward.