Hey Fady! Thanks! These are good questions.
Here's what I try to do to stay productive:
Try not to overestimate the things you can get done in a day. I usually have a list of goals I really want to complete. If I do any more than that, I consider it a bonus. Evernote has been very useful for planning out the things I need to get done.
Breaks are essential. I rely on short breaks heavily, especially when context-switching between projects. This isn’t always possible if you have a day of back-to-back meetings, but where you can take a break, it does wonders to clear the mind.
Never put too many large tasks on your plate. Break these down as much as you can so it’s clear where you’re making progress.
Try to get tasks requiring deep-thought or creativity out of the way early in the day when your mind is still fresh. I find it much harder to make progress late in the afternoons as my attention is already starting to wind down. I try to save the afternoons for email.
Sometimes it helps to get the things you don’t want to do out of the way first (referring more to non-coding/creative tasks here). This can be a nice forcing function because it encourages you to do it faster so you can get onto things you enjoy doing more next.
Wear headphones when you need some quiet/focused time and aren’t able to get a dedicated space to work in. It lets folks around you know you’re concentrated on something and they’re more likely to drop you an email if they need something instead.
Work/life balance is incredibly important and is one I'm still working on.
I used to have a really poor work/life balance and it was my own fault. There were many years where I would work from 8AM-7 or 8PM and rarely got to spend time with the wife and kids by the time I got back. From the outside, it looked like I was very productive, but it had a cost. It wasn’t healthy. I’d do open-source at the weekends or right before work and I wish I’d balanced that time better looking back.
These days, I aim to leave work a few hours earlier than that and try to detach as much as I can when I’m not at the office. Be present and be there when you’re spending time with the family is my advice.I try to fit in open-source before my meetings kick off, while the wife is working on her own projects or try to set aside time on Fridays when work is less crazy to do what I can.
It's manageable - you might not get everything done quickly, but you'll get it done in a more balanced way. I'm content with that now :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.