1. First is background tasks. Foreground is the stuff that needs you to actively work on them. Background simply needs you to start them. Background usually involves approvals, designs, verifying whether a bug is on my code or another, code reviews.
The background stuff takes priority, because otherwise they DDoS my brain and make me freeze with the amount of things I have to get done today. The cost of not doing a background task increases in time too. Some say don't open emails first thing in the morning but mine is always at 0 mail before the daily stand up starts. Background stuff is usually easy and important.
2. Next is finishing. Things that are 90% done, just wipe them clean. Bugs that can be fixed in 5 mins, esp. typos.
3. Then mandatory stuff. Taking out the trash, securing food for the entire day, whatever I told my boss I'd do that day. Get that done first.
4. Then long term stuff. If you're busy putting out fires you may not get here, but this is what you do when you've gone this far.
Long term stuff needs a lot more explanation. I have a few 5 year plans. They're broken down further into 1 year, 1 month. I split scheduling into daily, weekly, and milestone based. The key here is that you prioritize things that make everything else easier. For me, spiritual plans are done daily, physical health weekly, other career stuff and money are milestone based.
Examples of milestone based is setting up DB for a side project, or write some template files. I put reading & summarizing a book as the same milestone, because it doesn't make sense to summarize that book a month after reading it.
Do the daily thing first. Schedule the weekly thing (e.g. get a fitness trainer or set up a notification). Only one milestone thing at a time, then figure out the next one you want to hit. A milestone thing can take several days. Don't pressure yourself to do it all in one day, but everything else is just a distraction until you get it done.
Comments
1. First is background tasks. Foreground is the stuff that needs you to actively work on them. Background simply needs you to start them. Background usually involves approvals, designs, verifying whether a bug is on my code or another, code reviews.
The background stuff takes priority, because otherwise they DDoS my brain and make me freeze with the amount of things I have to get done today. The cost of not doing a background task increases in time too. Some say don't open emails first thing in the morning but mine is always at 0 mail before the daily stand up starts. Background stuff is usually easy and important.
2. Next is finishing. Things that are 90% done, just wipe them clean. Bugs that can be fixed in 5 mins, esp. typos.
3. Then mandatory stuff. Taking out the trash, securing food for the entire day, whatever I told my boss I'd do that day. Get that done first.
4. Then long term stuff. If you're busy putting out fires you may not get here, but this is what you do when you've gone this far.
Long term stuff needs a lot more explanation. I have a few 5 year plans. They're broken down further into 1 year, 1 month. I split scheduling into daily, weekly, and milestone based. The key here is that you prioritize things that make everything else easier. For me, spiritual plans are done daily, physical health weekly, other career stuff and money are milestone based.
Examples of milestone based is setting up DB for a side project, or write some template files. I put reading & summarizing a book as the same milestone, because it doesn't make sense to summarize that book a month after reading it.
Do the daily thing first. Schedule the weekly thing (e.g. get a fitness trainer or set up a notification). Only one milestone thing at a time, then figure out the next one you want to hit. A milestone thing can take several days. Don't pressure yourself to do it all in one day, but everything else is just a distraction until you get it done.