I don't know about greatest problem, but one thing I'm frequently frustrated by is waiting for builds, unit tests, deployments, database backups, etc. All those 2-20 min blocks are too long to wait and too short to switch tasks efficiently. Really takes me out of the flow, I think I lose more than just the waiting time.