I think the reason for this is that it pushes all the buttons your programmer brain wants pushed: designing building and debugging systems with a strong focus on optimisation. However it doesn't contain meetings, sprints, language oddities, politics or any of the stuff that makes normal programming less fun.