software developer productivity hacks