Tips for Managing Technical People – Productive Time is Money
26 August 2014, by Zoe Cunningham
The following is an excerpt from my new book, “Galvanizing the Geeks – Tips for Managing Technical People”. You can buy the full book on my website, here.
Time management is important
Time is money. Sometimes people take a while to work this out – or completely fail to take it into account – when planning. In software teams it is not so often forgotten. If you work for a software services company, you can’t but notice the amount you could be charging to a client for your time – or, if it’s you that’s charging the time, then your client will certainly notice! This culture extends to other software departments too, although there teams are often managed more by deadlines – it’s less ‘time is money’ and more ‘there isn’t enough time in the day’.
In a senior role you don’t have the luxury of squandering your own time. There are countless things that you need to do, and you need to be ruthless in setting your priorities. When you’re working every hour you can find and fighting so hard to fit everything in, it becomes really tempting to try to squeeze more out of your developers. Why are they playing pool? They could be coding up that extra feature for you. Are they optimising their email-reading around their coding? Should they be working on this piece of code today, and that other tomorrow?
But you can’t manage others’ time for them
There’s a good reason why you aren’t best-placed to decide this. You are best placed to optimise your own personal time, because you know exactly what you’re trying to achieve and what the competing demands on your time are. If you try to advise a random developer in your organisation, you won’t have the same detailed knowledge of what they’re trying to do. Sure, someone needs to be worrying about optimising their time, but that someone is them, not you.
It might seem that this shouldn’t apply to playing pool, or fussball, or any of the million other games you make available for your developers (and if you haven’t made games available yourself, the internet will more than compensate). People who are playing pool when they should be working are just lazy, right? They should be told to get on with their work. The pool table should be taken out, the fussball chopped up and dumped on a skip. And, if you want to take this to its natural conclusion, you should white-list the internet sites available.
The problem is that by doing this you’re confusing hours spent at your desk with hours of productive output. The two are not equivalent. In fact, in long-hours cultures, the pressure is often off to work as efficiently as possible, because you can always make up time by working all evening. I never work as hard as when I have a mountain to stuff to do and I have to leave by 6pm because we have people coming round for dinner. In that situation I not only work hard, churning through the things with an imminent deadline, but I also work smart – re-planning and re-prioritising, working out quicker routes, and so on.
If you ban games and other diversions, you are taking some freedom away from the developers. Remember, your aim is to build a culture of empowered developers who are able to make good decisions, see the things that you don’t see, and optimise their own workloads. If you start taking away their freedom, saying (implicitly, but very clearly) that they can’t be trusted to make their own decisions, then your attempts to try and empower them will fail. Empowerment and trust are two sides of the same coin.
Good time management includes taking breaks
In any case, you won’t necessarily find that the developers who work through the whole day without stopping for a break are the most effective. The type of brain-work that your techies are doing simply can’t be kept up indefinitely. If you force people to work when they’re tired, they will make mistakes. Mistakes take a lot longer to rectify than the time it takes to play a frame of pool.
It’s true, of course, that too many breaks can lead to not enough work. But it’s your job to get the most from your team, and the most effective way to do this is by letting people work to their own time patterns and judging on results.