Developer Efficiency

As part of my research to help devs optimize their work/life, your input on the questions below is very important.
1.What patterns or practices help you to deliver code more efficiently?
2.What often impedes your flow? (e.g. specific tasks, meeting types, missing info)
3.What would you change in your work to improve your efficiency?