Practical debugging, step by step

How an Elo-inspired rating works for debugging practice

DoesItHold borrows Elo's expected-score shape without pretending that a coding drill is a human opponent.

DoesItHold Editorial · · reviewed · progression-elo-001

Direct answer

Start at 1000, compare the solved result with the expected score for challenge difficulty, apply K 32/24/16 and a bounded speed bonus, then enforce a floor of 100.

At rating 1000, a difficulty 0.5 challenge maps to challenge rating 1500. The expected score is about 0.053. Solving in the expected 150 seconds adds no time bonus, so round(32 × (1 − 0.053)) = 30 and the new rating is 1030.

This is a practice signal, not a competitive title. It does not compare two people directly and it does not select adaptive difficulty; those systems deliberately remain separate.

Trace the failure
  1. 01
    Startrating 1000, K = 32
  2. 02
    Challengedifficulty 0.5 implies rating 1500
  3. 03
    Resultsolved in the expected 150 seconds
  4. 04
    Update1000 becomes 1030
The update compares the solved result with an expected score, then applies the K tier and a bounded time bonus.

Minimal example

Scrollable code region

Buggy
rating = 1000 + solvedCount * 32
Corrected
expected = 1 / (1 + 10 ** ((challenge - rating) / 400))
rating += round(K * (result - expected + timeBonus))

What changes: Harder solved challenges can move rating more, while the floor and lower K tiers keep later movement bounded.

Debugging method

Check the current K tier, normalize difficulty, calculate the expected score, add only the bounded solved-time bonus and round once at the final delta.

  1. Start a new profile at exactly 1000.
  2. Verify K changes at ratings 1200 and 1800.
  3. Compare a solved and unsolved result at the same difficulty.
  4. Confirm no sequence can push rating below 100.

Common wrong fix

Calling the number Elo without explaining the missing opponent suggests head-to-head competition. Using it to choose difficulty would also collapse two separate product signals.

Limits and edge cases

The number summarizes performance under this product's challenge and timing model. It does not measure employability, complete debugging ability or rank against a human opponent.

Sources