Cognitive Ergonomics for Programmers