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.Wikipedia
The Python learning app Finxter.com 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.
While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com that has taught exponential skills to millions of coders worldwide. He’s the author of the best-selling programming books Python One-Liners (NoStarch 2020), The Art of Clean Code (NoStarch 2022), and The Book of Dash (NoStarch 2022). Chris also coauthored the Coffee Break Python series of self-published books. He’s a computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.