I have straight development tasks, non-development/business tasks, and some tasks that kind of sit in the middle to do most days, and I was wondering what would be the most efficient way to structure my days to be the most productive.

Obviously everyone is different but have people on here in a similar situation found out what works for them. Do you put the headphones on and do three hours of development first thing in the morning, for example? Or do you just do bits and pieces of tasks, whether development or non-development as and when it suits you? Do you follow the same routine everyday or break up, for example, and concentrate on development at the beginning of the week?

4 Answers
4

As the development usually requires a "peaceful mind", I leave it to the end of the day.

As the first thing every day, I try to finish as many routine-tasks as possible: I check emails, check logs, make coffee, respond to mails, make coffee, talk, make phone calls (if necessary), make coffee, remind friends about sending me graphics, and so on.

After all that mess, I can start developing, and even putting my headphones on is not necessary.

I have set my working hours to end after the usual "end-of-office-activity" at 15:00, so in the last few hours the possibility of disturbing phone ring is pretty low.

I do not differentiate the days of the week. Every day is the same: non-development tasks, then development tasks.

The most important plus of this working schedule is that if you manage to get "into the zone", there is nothing waiting to be done, so you can stay in the zone as long as you want.

(Just do not work too long, because the next day your productivity may be lower, and after a few years of working in overtime you may suffer a depression. It's better to leave your work for a few hours, as you may got a better idea in the meantime.)

The other upside of doing things the same way every day is that it gives your coworkers predictability about you. My day it set up similarly, with meetings/email/admin stuff before lunch and coding/study after lunch. The coding/study is marked of on my calendar, just like a meeting, and after just a couple of weeks I'm already noticing a difference in meeting invite patterns and task turnaround expectations.
–
BelisamaMar 19 '12 at 11:44

This was closed on Programmers but not before a couple of people posted answers:

"Like you said, everyone is different. I personally however have often mixed it up depending on the mood I'm in. Sometimes I just don't feel like programming. Other times I really feel in "the zone" so during these times I focus on just programming.

However, whatever I'm doing, and especially during programming periods, I try to make sure I allocate a decent amount of time to the task involved and avoid distractions such as checking emails constantly or flicking between work tasks. This helps ensure I focus on the one task.

I try to get into work first which allows me a bit of down time to trawl through emails and then plan what I feel like doing that day. This is often based on the work scheduled for the week, and that scheduled for in the month. Also, it might depend on what happens, during or after our daily SCRUM meeting, or perhaps any urgent work that has just come in over night.

Then when everyone comes in I feel prepared and can chit chat and catch up socially as I know what I've got planned for the day so don't feel pressured with the unknown. Of course if I'm going to have alot on then I won't chat for too long etc

I'm a routine guy, but only so far as I like to have routine things happen through-out the day such as my afternoon tea about 1 hour before I plan to go home. My day review for 5 mins and and any notes for tommorrow I make just before I head home each day. Other than that, I try to stay flexible because at the end of it all, you never know what each day might bring. Well, that's the kind of job I like to be in anyway."

This varies from person to person, or even through different corporate cultures/job enjoyment. I know a lot of people who get in a rut on Mondays or after lunch (or any other break). I get more relaxed after Mondays/lunch. But get in a rut on Sundays, sometimes on Tuesday, because I'd burn myself out on Monday.

Here's what works for me:

Allocate 30 minutes on the start of every morning to planning out your day. Write your to do list for the day (don't borrow one from the previous day), sort out the tools you're going to use, clean up your table, make some coffee. The main purpose of this is mentally preparing yourself. Allocating a 'hard' 30 minutes to prepare puts you in a state of mind similar to crouching on the starting line.

Put the difficult tasks that need focus first (usually development) early in the morning, when you're fresher. If your office has a lot of interruptions in the morning, then move it to the evening, or whenever you won't be interrupted.

List down all the softer tasks that don't need as much focus. Put them in the time of day where there are more distractions.

Don't force yourself to do too much a day or week. Everyone has different levels of mental stamina, you'd need a good balance of easy and difficult tasks. If you have to force yourself through hard development (to chase a deadline and such), shorten your work day accordingly to your mental stamina.

Currently I'm in a role where I have managerial responsibilities as well as technical responsibilities (PHP, RPG, manage the Linux servers, etc.) and I've found that what works best for me is to try and schedule all of my meetings and non-technical tasks on Mondays and Tuesdays, leaving Wednesday – Friday for heads-down development time.

This lets me stay in the same mindset all day long (whatever day it is) which lets me be more productive.

Regardless of whether I'm in manager mode or technical mode my days start out the same – I spend the first 15 – 30 minutes of the day dealing with e-mails and voice mails. If I need to talk to somebody in person I try to get with them before lunch time while they (and me) are still mentally fresh.

This process works well for me since it takes time/energy to switch between developer/non-developer roles. When I'm doing development I try to stick to just one programming language throughout a day if possible since the mindset of a PHP programmer is so different from an RPG programmer.