Don't blame programmers, blame the insane annual review system at IT corporations.
Introduce the same system at train engineering companies and you'll get the same result.
Introduce the same system at train engineering companies and you'll get the same result.