How to Differentiate Beginner from Professional Coder?

Rate this post

Every Python programmer has its own skill level with respect to

  • Knowledge of the programming language and syntax
  • Ability to solve problems
  • Speed of code understanding
  • Knowledge of algorithms and code complexity
  • Ability to select appropriate data structures.

Although it is challenging to aggregate these skills into a single number that quantifies the degree of professionality, people do exactly this in chess using the Elo rating system: Each chess player has her own Elo rating that reflects her skill level and makes chess players comparable. If two chess players play against each other, the winner earns Elo points — the more points the better the opponent.

As Wikipedia puts it:

The Elo rating system is a method for calculating the relative skill levels of players in competitor-versus-competitor games such as chess.


The Python learning app transfers this idea to Python to measure the skill level of coders: coders play against coding puzzles. If the coder solves the puzzle correctly, her Elo increases while the puzzle loses, else the puzzle’s Elo increases while the coder’s Elo decreases. The higher the difference between the Elo score, the more Elo points get exchanged.

Example puzzle: What is the output of this code?

print(map(lambda x: 9 + (1 if x==3 else 6),range(4)))

Experienced coders can solve these kind of puzzles very quickly. This system is very robust and relatively accurate to compare the skill level of Python programmers.

Master computer science, test your skills, and track your progress with Finxter.

Leave a Comment