My manager popped into my cube and asked this seemingly harmless question. I must be honest and say that I was not doing my job. Im sure many developers have been asked questions during the work day like What are you up to? or What are you working on? and at that very moment were not focused on their assignment.
Maybe the correct question should be Are you goofing off?
I was doing just that, chatting with a coworker about our fantasy football teams. But is it realistic to expect that chit chat wont happen during the day? And why is it that managers have a sixth sense about dropping by when chit chat is in full progress?
Of course, today, chatting has taken on a life of its own with instant messaging. Back in the day (yes Im a dinosaur) we had to actually go to the water cooler to make conversation. Now at a touch of a button, you can have chit chat explosion. Not to mention the World Wide Web is at your fingertips in most places of work, so distractions are just a click away.
I found one developer I managed that had over 30 chat windows open when I popped into his cube. Thirty! And most of them were flashing so Im assuming active conversations were taking place during the work day.
You might be thinking: what does it matter if work is getting done?
I understand the reasoning of managing by results, but there are important questions to be considered. What if the results could be better? What if a project could be completed faster? What if quality could be improved?
And heres a big one: If overtime was required to finish a project, was it really necessary?
I didnt always think this way. My management philosophy was to let my teams be professionals and manage their time. Id ask for project estimates and generally not question the time projected to complete coding.
And for the most part, the teams have performed well and received very good performance reviews. Overall, if you would have asked me at any given time in the past if I was satisfied with any of my past teams performance, my answer would have been a resounding yes.
Here is what changed my perspective. Recently I was talking to one of my former developers (well call him Trevor) who was working on a startup while doing his day job. I asked, So how is your nighttime startup work impacting your full time job?
Channeling John McCain he quipped, My friend, I get most of my startup work done during the day. I asked Trevor, Are they happy with your work? thinking that he must be getting some grief from his current manager. No, no, no they LOVE me there. They think I walk on water.
I always thought this guy was a very productive coder. This got me thinking and my mind wandered back a few years when Trevor worked for me.
I asked, When you were working for me way back when, you werent doing any of this dilly dallying, right? He smiled. Yeah, right. Seriously, you didnt know I was doing other stuff during the day back then? Man I thought you knew and just let it slide.
Ok, so Im a chump.
Here was one of the best developers who ever worked for me telling me they goofed off during the work day. Yet, this same developer received outstanding reviews and great praise from his peers, other managers and even customers.
He was now telling me he worked about five hours a day on average. Certainly there were the late nights and weekends during various crunch periods, but for the most part he was skating by.
I think the serious question to ask here is So what?
In five hours per day he was delivering more quality code than a lot of developers would have delivered in a fully committed workday. But I have to now ask, how much more could we have accomplished?
Could we have hired fewer resources if he had been more focused? After all, Trevors salary wasnt based on five-hour work days.
If you are a manager, could this be happening on your team? According to this thread Being really competent" or just "looking busy" I wouldnt hold my breath. Here is a sampling from this thread:
I've been doing this successfully for the last two years and finally got sick of it. I'd rather be unemployed than keep on pretending to be busy. My recipe for success? The Internet. Just look busy while you read JoelOnSoftware, CodingHorror, Reddit, you name it.
Should a manager care? You betcha!
I believe it is critical to question project estimates and that a development team should be encouraged to excel while delivering their full potential to the company that is paying their salary.
And dont forget: if you work on outside work with company equipment on company time, your employer may lay claim to any intellectual property you develop.
Does this mean you have to play big brother and monitor every key stroke? Should a developer receive an electric shock every time they open up more than one chat window?
Of course not although someone suggested the shock therapy to me recently! Before the Society for the Prevention of Cruelty To Developers comes after me, I will state emphatically that it is unrealistic to expect developers to crank out code every minute of the day. This is part of the reason why the rule of thumb for a man-day is six hours and not eight.
Use common sense and gauge the work ethic of each team member. Some need more babysitting than others.
But Ill bet that in most cases if a manager increases their expectations, the team will fill the goofing off gap and rise to the challenge.
I must admit, looking back on it, my manager was right to give me a hard time. I may have won my fantasy football league that year, but Im sure my employer did not win in the end when it came to my productivity.
If you are a developer that is skating by, be careful how you are managing your time or you may find that you are skating on thin ice.
Eric Spiegel is CEO and co-founder of XTS, which provides software for planning, managing and auditing Citrix and other virtualization platforms.