overcoming software developer fatigue