60

I'm a software developer, but I'm not the "manager of my time" because I have a boss who gives me tasks and deadlines. Sometimes I happen to be inactive for hours, sometimes even days. During these periods I always look at the code and study or stuff like that, so I don't need to know what to do to let the time pass by.

What is the correct amount of time after being inactive to notify it to my boss?

To clarify: if I finish my work before deadlines I always give a notice to my boss, but for various reasons(my boss himself is buried with legal papers, I must wait for other developers to finish their work and so on...), sometimes it just happens to wait.

  • 48
    In retail they say "if you can lean, you can clean". There's always unit test or documentation to do (or refactoring, but that might need approvals). Always have a backup work when talking to your boss "I'm done all of my task, let me know when there will be others. In the mean time, I will do X.". – the_lotus May 30 '17 at 12:21
  • 19
    On a side note ... be inactive for hours, sometimes even days shows a lack of being able to work on your own. If you can't work out you should be doing something at work after a few hours never mind a few days something is seriously wrong. You should be letting whoever assigns your tasks know as soon as they are done. For all you know they are waiting for you to finish so they can assign something else, in the meantime thinking "Damn Anon sure does take a long time to finish their tasks..." Which is obviously a bad mark against yourself. – TheLethalCompany May 30 '17 at 12:36
  • 3
    On a related side note, consider suggesting the usage of an issues tracking system, if one isn't already in place. This allows you to communicate task completion with minimal disruption. It also gives you a place to document small issues/features that you can resolve in the time between major changes. – Dan Bryant May 30 '17 at 13:18
  • 2
    "What is the correct amount of time after being inactive to notify it to my boss?" - You have got this backwards. The "correct" time to tell your boss is when you can confidently say "I should have this assignment finished by the end of today/tomorrow/this week. What's next on my to-do list?". My word to describe somebody who reports to me and is content to be "inactive for hours, sometimes even days" would be "bone idle with zero motivation" - and I would be looking to get rid of them as soon as possible! – alephzero May 30 '17 at 15:47
  • 20
    If a manager wants a lot of control, I usually tell them I'm about to run out of tasks once I'm fairly sure I can finish the current one in the remaining estimated time. I try to anticipate running out of tasks ahead of time so that managers are aware before the slump hits, to give them time to come up with something before I end up idling. – Mark Rogers May 30 '17 at 15:55
99

Reviewing old code and studying are both important for your personal development and (directly or indirectly) beneficial to the company. So I wouldn't call it 'inactive', which would imply you're just staring out of the window.

That said, you should inform your boss immediately after finishing a task, so that he/she can decide if there are more pressing matters than code reviewing or studying.

  • 93
    Inform them by saying "I've completed my current assignment and will be reading and learning the codebase until new work is assigned" or any other suitable activity... – HorusKol May 30 '17 at 8:50
  • 3
    @HorusKol that's probably a good way to phrase it. – Glorfindel May 30 '17 at 8:51
  • 1
    I have this same issue. I generally tell the PM that I have 'bandwidth' and can work on something as I have completed my tasks. It's usually met with "we'll find something for you to work on" to which I am assigned a 10 minute task 5 hours later. Ultimately an office that is so disorganized they cannot keep their employees gainfully employed is one which doesn't deserve your time. – leigero May 30 '17 at 17:33
  • I also wouldn't limit study to just your current codebase. You might consider adding/updating comments/documentation of existing code ... proves you actually looked at it (and understood it?). Also, learning about new libraries and tools that could aid yourself and your team later on (unit testing, jq, regex, IDE plugins ... etc). You could also actively contribute to one of the open-source libs your company is most likely using ... find its github page, pick an issue and start hacking. – CaffeineAddiction May 30 '17 at 22:11
  • 2
    I think you should actually mention well ahead of finishing your tasks that you'll have capacity for more work. It's part of the reason of having daily meetings in software development. I'd be very annoyed finding out someone in my team had no work, knew they'd have no work and didn't say anything to me (although admittedly I usually know well ahead of time what work there is and let the team members know what's available as they finish their tasks). – Sandy Chapman May 31 '17 at 0:40
22

The correct time to ask for more work depends on how long it takes for your boss to get you more work.

  • if your boss keeps a "backlog" of tasks, and can tell you "do item 2345" in a matter of seconds, and your boss is always around when you want to ask, then you can ask at the moment you run out of work
  • if your boss might not be reachable for a few hours, or needs a few hours to work out what to give you next, then the correct time is double or triple that. So if you get in to work Tuesday morning and realize "I will finish this today, and then I can take a look at that [new thing] tutorial but I need something new for tomorrow" then before you start anything else, you email/slack/skype/visit your boss and deliver precisely that message: "I will finish X today, and then I can take a look at that Y tutorial but I need a task for tomorrow." If you get the task before you start the tutorial, the tutorial can wait
  • if you boss might not be reachable for days at a time, you need to look out ahead days at a time and build your own backlog of things you can move to as you finish each task. Of course, you must be open to having the priorities of these tasks moved around, and having new items added before all the old ones are done.

Being blocked is not a good thing. While I appreciate the initiative of someone who wants to learn, to improve old code, to add tests and documentation, I generally expect these to be used to backfill small unavoidable delays, the sort that occur when a 3-day task turns out to only need 2 hours, or the client suddenly says "never mind we don't want that", or you have to wait for an expert opinion before you can code something. They shouldn't be happening all the time. That they are suggests that someone is mismanaging your time. Whoever that is, you can correct the situation yourself by making sure you ask soon enough for your next task.

  • i would rephrase "can correct" by "might be able to", because there are times where it is not the case. Ideally people are supposed to know 1 month ahead on what they'll be working but sometimes you don't know even know what would be your next task tomorrow or if you'll have the information to do so. – Walfrat May 30 '17 at 13:37
  • 5
    I haven't known a month in advance for decades, not counting hard-scheduled things like delivering a conference talk. But that's not what's required to manage your time well. What's required to manage your time well is working on the most valuable thing all the time, instead of working on less-valuable stuff just because you're blocked and didn't tell anyone yesterday that you would be blocked today. – Kate Gregory May 30 '17 at 13:39
  • I agree, it's just that the "most valuable" things was moved from the developer to the project manager. I am currently blocked while I alerted days before (customers not giving elements), so now I'm stuck between documentation and improvments. – Walfrat May 30 '17 at 13:56
  • If it always takes days to get you a replacement task, then you need to manage your time to deal with that reality. If it occasionally takes days then you are not mismanaging your time when that happens. Such occurrences are when you get the documentation up to date or watch the recordings from that conference that was held recently, or the like. Also, telling someone once you are blocked and then doing low-value things for days at a time suggests to others you don't mind being blocked. Be sure to remind people you need tasks. – Kate Gregory May 30 '17 at 13:59
  • 1
    ASAP is the answer. The thing is when does "possible" occur. Something like as soon as you see the issue coming could be. – mgarciaisaia May 30 '17 at 18:26
20

It's not that much about "the correct time" that the correct way. The real trouble here is that you have nothing to do at your work, no assignments at all for hours or days.

Even though your boss gives you "tasks and deadlines", a way to solve your problem would be to take the initiative and do tasks that are needed on your own, such as documentation of your code or unit tests.

That way it will be easier to come to your boss and say :

As I finished this task early, I started doing unit tests

Rather than "I have nothing to do at all" which could come as criticism or lack of initiative.

And about the correct time, you could say that at the end of the day, like a briefing so that your boss can know what you do and you can ask the famous :

What should I do next?

You'll never be blocked more than a day and even then you still worked on secondary tasks you should have done at some point anyway.

10

When possible, you should try to tell him before you have finished. You can try something like "I think this task will be done in two hours, do you know what task I could start after that?".

It will give him some time to reflect on what you could do and will avoid you being inactive.

  • I was going to say that, but with days instead of hours. – PStag May 30 '17 at 20:04
  • @PStag I agree, it depends on the length of the current task. – Louhike May 31 '17 at 7:42
6

You should tell him right away including what you are doing in the mean time. In fact if they are long tasks, I would tell him before your task is complete.

I think that I will have finished task (x) by (date) and am planning to spend my time researching (y) while I wait for a new task.

This:

  • Lets him know when the task will be complete with enough time to plan the next stage.

  • Allows him to give you input on the study time while also giving him a suggestion if he is too busy to make a plan.

  • Tells him your view of how you think your skills need to be improved.

  • Perhaps it's ok in the software industry, but in the army, the saying goes: "Never tell your commanding officer you have no work to do". – Nav May 31 '17 at 6:29
  • @Nav Military answers aren't really applicable to most workplaces though. – TheLethalCompany May 31 '17 at 8:24
  • @TheLethalCoder or in the 21st century for that matter. Military is a moneypit, any advice, especially on time use is bound to be utter nonsense. I read "never be open and honest with your senior". That is totally toxic – Gusdor May 31 '17 at 11:37

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.