IMO the toughest hurdle is problem specification. Here are two levels of toughness:
1. Advent of Code. Extremely well spec'd problems that require solid intelligence on many levels to solve.
2. Typical tasks on the job. These are spec'd abysmally compared to AoC.