How can we teach other programmers more effectively?