I'm a release manager of a well-known software development company. In the project we work in, we have 1 developer.

Every worker in the project including me (around 20 people, mostly managers) has 2 days of home office per week which they can use whenever without notice.

Our top developer, who gets praise from everyone and is scheduled to have a raise on December 1st after he did an outstanding job, keeps on taking more home office than allowed. Sometimes he doesn't come in to the office for 2 entire weeks.

This is obviously against policy, and although what he is doing doesn't require any interaction with anyone in the office, it's still wrong.

However, since he is doing more than a great job, I feel like I have no real options.

I've talked to him before, and he agreed to follow the rules, but it had no effect on him.

How can we make him follow the home office policy?

  • 4
    Comments are not for extended discussion; this conversation has been moved to chat. – Jane S Sep 27 at 21:25
  • 262
    Waitaminnit! You have 20 managers on this project and and one worker? WTF?!?!? – Bob Jarvis Sep 30 at 17:20
  • 67
    Is this a case of the worker focused on his work and the manager focused on ..ahem..things other than work? – user3526 Oct 1 at 9:02
  • 23
    You say you have only one developer and then you describe the person as your "top" developer. So...is this person the only developer? What makes them the "top" developer? – David Rice Oct 1 at 17:31
  • 5
    I think what the OP meant was that they have "this one developer that I am going to talk about" not "we have only a single developer on the team" – Luke Oct 3 at 3:35

23 Answers 23

up vote 692 down vote accepted

it's still wrong

Why? Because some handbook written by an HR busybody says so?

That's a deliberately inflammatory statement and I don't necessarily completely agree with it, but at its core is a very important point: why does it matter if the developer is in the office or not? You say yourself they're a very good worker and don't need to be in the office to interact with anybody else, so if there's nothing to be gained by them being in the office, don't enforce it for the sake of it. Concentrate on whether they get the job done or not.

  • 14
  • 176
    Shorter version: It's the policy that's wrong, not the developer. – aroth Sep 30 at 23:42
  • 12
    it doesn't matter that this developer is in the office, but it matters that a lot of the other developers don't start asking why this person gets to bend the rules while they don't. Maybe home office days should be tied to performance. – Alan B Oct 2 at 7:28
  • 11
    What puzzles me is, why do you want your top developer to be absent and absolutely zero benefit to their project team (except if they're cobbling on an exotic technology without overlap to the others)?? This is the kind of person you want others to learn from their approach; to help their co-workers out of a bind with a throwaway remark. This is how a good professor often steers a good PhD or colleague at a workshop with minimal effort --- they see a parallel with something obscure, sketch a path out, and the actual work is left to be done. And if this guy leaves the team collapses. – user3445853 Oct 2 at 14:24
  • 14
    @user3445853 I'm a little puzzled why he needs to be in the office to communicate effectively. They have enough managers to be a large company so they should have effective chat/email programs not to mention calling. So why would this developer be Zero benefit just because he's working from out of the office? – SCFi Oct 2 at 16:51

If you have one developer and twenty(!) managers on this project, your developer is more than likely unable to get any actual work done while in-office. He's been putting in hours at work and then going home to code, got sick of it, and decided to just not donate his free time to the company.

I suspect that the real problem here is that other employees are starting to complain about his "special status", and it's made its way to you.

  • 139
    Yeah i have had projects where the only time i actually got anything done was when the rest of the team was on vacation – joojaa Sep 27 at 5:18
  • 113
    I missed that in the OP. The manager-to-developper ratio is insane, and probably far more toxic than the already questionable homework rule. – gazzz0x2z Sep 27 at 12:39
  • 26
    The question talks about 20 people, of which most are managers (so, say, 12 managers), not 20 managers and 1 developer. However, you have a point, such a lopsided distribution will not help with the office climate. I think anyone could see the appeal of fleeing the office in such a case. And yes, the special status definitely is the problem, when there is such a rule. – Chieron Sep 27 at 14:17
  • 47
    @Chieron even if 11 out of 20 (lowest possible "most") are managers, then proportions looks hellishly toxic. If 11 managers try to full-time manage 9 people, some of this 9 people would need overtime just to be managed, not to mention any productive work. – Mołot Sep 27 at 18:14
  • 15
    @Chieron Literally the second sentence in the question "In the project we work in, we have 1 developer". – TheJavaGuy-Ivan Milosavljević Sep 28 at 14:39

This is obviously against policy, and although what he is doing doesn't require to do any interaction with anyone in the office it's still wrong

Change the policy slightly

I think you should change the work from home policy for your team to be at your manager's discretion, meaning at your discretion. This way you can say they are following the rules, and this person is working from home more because they are such a good contributor.

Don't make the mistake of attempting to force the developer to come in just for the sake of it. If they are productive leave them alone, punishing them may tick them off and they may leave. Are your prepared for that possibility?

Note: Based on what I could glean from your post, I assumed you are this person's manager. If you are not, then report the behavior to his manager and see how they want to proceed. I still think in this case I would leave the developer alone.

  • 2
    Comments are not for extended discussion; this conversation has been moved to chat. – enderland Sep 27 at 16:55
  • 16
    Only report the behavior to his manager if you think that's a battle worth fighting... otherwise, save your energy and influence for more important issues. – dbkk Sep 29 at 16:40

Sometimes he doesn't come for 2 entire weeks.

he is doing more than a great job,

I suggest you not notice his absence. You have better things to do than babysit top-performing devs, don't you?

  • 196
    "You have better things to do than babysit top-performing devs, don't you?" -- With so many managers around he probably doesn't. – Daniel Sep 27 at 14:41
  • 6
    @mathreadler cause of OP's post, which you should read.... – RandomUs1r Sep 27 at 22:34
  • @RandomUs1r It doesnt say. It just says we have mostly managers. – mathreadler Sep 28 at 2:02
  • 6
    @mathreadler More managers than things to manage necessarily means that their interests overlap -- a lot. – Matthew Read Sep 28 at 14:31
  • 24
    Just an anecdote from my workplace to support this answer: One of our top developers is in the office unless we are really busy, in which case she sets up shop at home. Why? Because she has so many things to attend to when we're that busy that she can't have people stopping by her office asking for x and y. They can send an email, and she'll prioritize them herself, and that's the only way she'll ever get everything important done in a reasonable timeframe. (Yes, she could be in the office and just close the door, but why spend the hour driving to work to just have the door closed all day?) – Davy M Sep 28 at 22:53

The first question that I would ask is, why is this developer working at home?

As many of the other answers have suggested, People over Process. However, it may be that this developer feels extremely guilty or nervous about breaking the rules. However, they may feel like it's the only way they can get any work done.

My suggestion would be that it's one of the following reasons:

  • They don't feel they can work in the office
  • They have a personal reason to work at home
  • They may be working more than their contracted hours (credit to computercarguy for his comment)

In both of these cases, a good employer will work to support their employee. Understand the reason, and then worry about the policy!

  • 9
    I like this answer better than "do nothing". If the developer is more productive working at home, then letting them know that they are supported in this may lead to them being more comfortable and more productive still. – trichoplax Sep 27 at 12:51
  • 10
    I'd add that the dev may be working more than 40 hours/week on this project. They may be doing so because they find the project fun, or because they "have nothing better to do". Either way, they may not want management to know about this, for various reasons. I don't agree with this practice myself, since people should get paid for their time, but evidently this dev feels differently. – computercarguy Sep 27 at 18:32
  • 2
    @Benubird Why care? He is the top developer, so he is obviously doing all the work that is planned for him and more? – Totumus Maximus Sep 28 at 14:30
  • 18
    The most likely reason they are working at home isn't to work fewer hours, it's difficult to be a top developer without putting full effort in. In my 30 years in software development & management the #1 reason developers work at home is an unproductive office environment. Software development requires concentration and focus to excel at. If your office is noisy, busy, crowded, etc (ie an open floor plan), it materially diminishes developer productivity. Without exception the highest output software dev organizations I've known offer devs private offices or unlimited work at home privileges. – Randy Hill Sep 29 at 1:20
  • 2
    This is the right answer--as a manager, it is your job to understand the reasons behind your employees' behavior, help them overcome obstacles, and assist them in performing at their peak. If this behavior is a problem for you or your company, you need to sit down with them first to understand why they're working from home so much. Only then can you start to build a plan to help them adhere to the work-from-home policy guidelines. It's not always obstinance--I've had employees with medical embarrassed to admit to medical conditions that impede their ability to travel. – Motoma Oct 1 at 12:40

Where I come from, if he's productive, ignore the fact that he's breaking the rules (Dilbert). Just leave him be. If, on the other hand, someone else is just barely scraping by, not getting much done and/or making errors (Wally), call him in for a disciplinary hearing "with all the trimmings".

Fair? no. Effective? yes. Remember what the goal here is -- to get the work done, not to cross every t and dot every i. Let your star player play, and if he doesn't show up for a month, enjoy the fact that the job is getting done.

If someone is disciplined for not showing up, who points out the fact that so-and-so isn't showing up and is not getting disciplined, just point out that so-and-so is getting a lot done and don't be apologetic.

  • Ignoring it is a viable option too. – Mister Positive Sep 27 at 11:25
  • 9
    Effective but breaking the rules seems like more of an Alice thing to me than Dilbert. – Dan Neely Sep 27 at 14:21
  • 19
    This is fine in theory. In practice it basically gives managers a ridiculous amount of discretionary power which they can choose to abuse (or even be perceived to be abusing while actually doing nothing wrong). That's exactly the kind of situation policy is designed to prevent, and it's why policy should apply as equally as possible (there will always be exceptions but those exceptions should be part of the policy, not people allowed to arbitrarily ignore the policy). – delinear Sep 27 at 14:58
  • 4
    I've been the less-effective person in this story, this sort of unfair comparison leads to burnout and even less effectiveness, + multiple hours at home to catch up. Especially if those work at home hours are being used to work uninterrupted. Juniors will always be less productive then your senior staff, and the only juniors that will hang around will be ones that are happy not progressing in skill, that barely make the bar. – Ryan The Leach Sep 28 at 5:38

CHANGE THE POLICY!

Really, what are your options? Your developer is, from your statement, obviously doing an excellent job. (Perhaps because he DOESN'T come into the office much?) Enforce the policy somehow, and either he will grudgingly comply and be less productive, or he will seek employment elsewhere. Either way your company loses.

Now if you can't change the policy because people higher up the chain insist on it, your solution is just to go on as you have been, tacitly ignoring the fact that he hasn't been in for a week or two.

  • This looks like a duplicate of my answer to an extent. – Mister Positive Sep 27 at 11:23
  • 4
    @Mister Positive: Well, great minds do tend to think alike :-) But I wanted to very strongly emphasize that the only actual problem here is the policy. – jamesqf Sep 27 at 17:01

How can we make him follow the home office policy?

Seems that you already talked to this person, whom agreed to stick to the policy, but is now not following it again. Most likely in your company there exists some sort of penalization for not following company policies; such penalizations could be applied in these cases...

HOWEVER... as you seem to be in a position to talk and manage him, I suggest you approach him and ask for his reasons for taking those 2 weeks from home, before applying any consequences.

This will help you discard any misunderstanding that could have happened, like the developer having accumulated several unused Home Office days and wanting to use them all in a row. Or perhaps some personal issue that has this person worried and made him take all those days from home.

After this, you can work out what to do. If there was no valid reason then I suggest giving the person an ultimatum...

...But have in mind that this person being your sole developer puts a great weight on their shoulders, and most likely is under a whole lot more stress and tasks than you or any other manger, so try to give this person some leeway.

  • 4
    @MisterPositive I also wonder why they have just 1 developer... but 20 managers and others!... instead of pushing this person perhaps it would be best to hire another dev to help this one – DarkCygnus Sep 26 at 17:46
  • 1
    That is a possibility. Its also possible this developer is handling the load fine and just is able to handle it better without driving into the office. – Mister Positive Sep 26 at 17:47
  • 1
    Good answer. It’s very possible this is a communication problem and not a rogue employee problem. – Kent A. Sep 27 at 12:48
  • 2
    Definitely a good idea to find out the circumstances. I've been in the position before where I was ill for a time and initially worked from home full-time and it did not affect the quality of my work, however my employer then insisted I be in the office, even though that meant adding an hour to my working day (in terms of commuting) and I had to use painkillers to manage the pain, which affected my cognitive ability. As a result my work definitely suffered, but for whatever reason they decided it was better for me to be visible and less effective. – delinear Sep 27 at 15:03
  • +1 for 3 first paragraphs and the last one. Still, ultimatum will mean you've most probably lost the only guy doing actual job in this project (I'm over-exaggerating but just a bit). I don't think there is space for that. – Ister Oct 9 at 8:02

You have two basic options: try to enforce the policy or keep the project going full steam. You can't have both.

Your developer is doing a stellar job for you because (a) he works for you, and (b) he's personally committed to the project and has good morale. Either of those can change at any time, and you don't want them to change. A top developer can always get another job fast.

Telling the developer that he must be in the office three days a week says that you value compliance more than getting the job done. If you, the release manager, make it clear that compliance with policy is more important than him getting his work done, you're telling him that his work is secondary, and that's going to affect his morale and productivity. Any hint at discipline is going to give him the feeling that he's likely to be punished for doing his best job. So much for incredible productivity, and I wouldn't bet highly on him continuing to work for you.

I don't understand why anyone would put together a 20-person software project with at least eleven managers and only one developer. That means that, if something happens to the developer, the project is screwed. The "bus factor" is one. With about a dozen managers, you will almost certainly have one or two of them who think that interrupting developers for minor things makes no difference. The odds are that the developer can get things done in an outstanding manner only because he works from home.

It sounds like you haven't tried to find out why the developer wants to work from home all the time. If you're thinking of taking any sort of action, you need to understand that first. I don't think it's a good sign that you don't mention having tried to find out the reason, or that you don't seem to be trying to understand it from his point of view. This suggests that you need to proceed with caution when dealing with him.

So, if you want the project to succeed, you should be thankful that your developer is only violating company policy in a minor way, and you should try to shield him from policy. You can advocate changing the policy. Somebody's probably got formal authority to bend the rules. You can probably continue to let it ride, letting him concentrate on getting his work done. Figure out something on that basis.

Alternately, you can let the project fail or at least take a lot longer than it could. Choose wisely.

Which would you prefer as a manager?

A co-worker who does an excellent job at his/her work, while breaking the HR policy (maximum 2 day work from home).

Or

A co-worker who does an excellent or somewhat decent or even a poor job, while following the HR policy (maximum 2 day work from home).

Why risk hindering an employee's performance because of an HR policy?

Let your employee work however works best for them as long as it is best for the company.

Depending on your role in the company, you can't make him follow company policy.

If it is a problem, his manager should handle it.
So if this is a problem for you, you should escalate to his direct manager, and get his input.

Remember, not everything out of the ordinary is a problem that needs fixing.
And even then, it's never productive to go outside of your general scope specifically to find problems that need fixing.

Personally, I take more homeworking days than generally allowed, with the approval of my manager.
He's only had one person complain about it in the last 4 years.
As such, don't be surprised if his manager simply replies that he is aware.

The only ways I can think of to enforce the rules would be to:

  • Fire him

  • Pay him less

    You could treat days he's not allowed to work from home as him taking paid (and eventually unpaid) leave. Although I might recommend consulting with Legal before doing this, as forcing him to take leave when he's in fact working could cause some legal troubles (but, then again, he's ignoring explicit instructions about when and how to work).

    You could also note his absence during performance reviews, which should already make it clear that this is going to affect future raises and bonuses. Of course, if he stops doing this, you can choose to ignore that note.

  • Remove the work-from-home benefit

    You could say he's not allowed to work from home at all (until further notice). Removing benefits people abuse is also a more typical punishment (and it might not be considered a punishment at all, since it just makes logical sense to remove something which causes more problems than it solves, but don't try to convince him of that).

  • Remove other benefits

    This will depend on whether you have any benefits which he uses and you can easily remove on a per-employee basis.

For all of the above, give him adequate warning about the consequences he may face.

As with any punishment, you can expect that he won't be particularly happy with it, and may decide it's better to find another company to work for or loses motivation to perform well.

If anything, I'd suggest going with noting it in a performance review - this is the only option that has no immediate negative consequences for him, makes it clear that it's serious (which warnings of what might happen doesn't do so well), gives a clear path of escalation (that doesn't result in his termination) and allows you to back out (even if he keeps doing it) without really making it seem like an empty threat.

None of these might seem particularly appealing, but these are the available options.

If you're not willing to do any of this, you'll have to accept that he will continue breaking the rule.

Have a conversation about why he's working from home so often, as suggested in another answer, if you haven't done so already, before doing anything drastic.

You could also try explaining to him why the rule exists (for him specifically) - if you're unable to do this, that, in itself, says something.

  • Brilliant as you're directly answering the question (even though the question is probably put wrong in first place as rather than "how to enforce" it should be something more general like "how to improve things") – Ister Oct 9 at 8:07

TL/DR: There is no problem at all, just your mindset to be adjusted.

Explanation:

The only fact you're "well-known software development company" doesn't automatically mean all things your company does is done 100% right way. In my very humble opinion, the red flags here are:

  • there 20 teammates and most of them are managers (they manage... whom? or what? do they add a real value?)
  • policies require something that does not improve the team productivity (or even make it worse)
  • a person that makes a great job is regularly harassed by management

For instance: I'm working in a company (well-known enough, he-he) with many offices around the world and I constantly do projects with geographically distributed teams (sometimes as a dev, sometimes as a manager). I've never seen a lot of my teammates in person (and would never have a chance to do that for many of them) so I never can be sure is my particular colleague is in his office, or traveling in our another office, or sitting in his homeplace, or etc. However, it doesn't affect our interaction, nobody is complaining about policies, and projects happen to run.

If people are doing their job it should not matter where they are working from. It's not worth losing a valuable employee over a policy like this.

  • 6
    I edited your answer to follow our Be Nice policy, feel free to role back if you feel this edit changes what you intended to convey, but be aware that short and abrasive answers are generally negatively received. – GOATNine Sep 27 at 12:36

Think of the entire company.

  • If a developer has almost zero interaction with the rest of the team, is he really doing a good job? If he is technically proficient, he should be teaching his peers and his juniors. And if there are other devs in the company who are better, he should learn from them. Lines of code or user stories are not the only performance metric -- what is the bus factor of your team?
  • Developers in other teams might feel resentful if another developer gets away with breaking rules and they do not. You say that this developer is good, but is he good enough to justify this prima donna status?
  • Depending on where you are, letting one employee violate rules but not others might open you (and your company) to charges of discrimination as soon as the company tries to enforce the rules on others.

Look for a solution which benefits all.

You wrote that there are two days per week without notice. Check if the following procedure would be compatible with your rules:

  1. The developer can select two days per week for home office. This would be on short notice, not without notice, but those two days are his right.
  2. You look at the remaining days to determine if there are any meetings where you (or "the team") think he should attend in person. If there are none, you inform him that he is free to work from home. Those days are not his right, they apply only if the fit into the project schedule.

If both sides are reasonable, this should lead to an equitable outcome, and the letter and the spirit of the rule could be applied to all teams in the company without detriment -- if another team needs face-to-face communication right now, they cannot point to the precedent.

  • 4
    The dev in question is the ONLY dev on the project. No peers to teach or learn from, just 10+ annoying managers that each want a daily update, spaced 10 minutes apart.... – ivanivan Sep 28 at 2:34
  • @ivanivan, but surely not the only dev in the company. This kind of cooperation I mentioned should be company-wide. SCRUM calls it "communities of practice." Re the daily updates, that is a problem you must solve. Invite them all to come at the same time to a meeting/teleconference, with a strict rule that each participant reports for one minute only -- because they're all important and 15 minutes must be enough for a daily status meeting. – o.m. Sep 28 at 4:29
  • 3
    This seems like a dogmatic "process trumps common sense" answer – javadba Sep 28 at 23:16
  • 1
    which "many" developers. – javadba Sep 29 at 5:57
  • 2
    "surely" .. I retain the position that this answer is dogmatic: punch a button get a prebuilt solution. it is nice to consider the circumstances instead of applying a rote answer to a problem. – javadba Sep 29 at 19:23

I've talked to him before, and he agreed to follow the rules, but it had no effect on him.

Is there a reason why these rules are in place? Is it so that there are team meetings where everyone is in person; is it because the company is worried productivity will drop; or is it just because "2 days seems reasonable, let's go with that".

If you can't explain why he has to be in the office the other 3 days, then he doesn't need to be. If you can explain it, then explain it to him; and then upper management and what your next steps will be.

Bear in mind that everyone is expendable in a company - so if your actions result in them leaving then you'll just have to find a way to replace them, which will have a cost associated with it.
Bear in mind that everyone is expendable in a company - including yourself if he's valued that much.

For the sake of completeness, let HR know that this is perfectly fine and you need them to enable communication with the developper in the most efficient manner. That is, asking them to invest in a set of tools aimed at remote collaboration (project planning, task tracker, digital meeting). It needs to be efficient and assume that people don't need to be physically at the same location to work efficiently together.

I do not mean that they should never meet, there are many reasons why this would be a stupid idea. But work gets done when tools and processes are clear. Having a developper in the office makes him/her accessible to anyone. A conversation can spark tons of work and added responsibilities.

Core workers need to be given the necessary alone time to get things done, let them choose when it is time for them to come to the office and leave HR and Excel spreadsheets out of this.

  • 2
    Agreed, providing an explanation why he needs to be physically present in the office is a good approach, if the available tools are not effective for some tasks. – Armfoot Oct 3 at 17:56

How can we make him follow the home office policy?

It sounds to me like you simply can't. I'll set aside the question of whether you should or not, since that's been covered heavily in the other answers.

Analyzing your situation, I'm struck by a couple things.

  1. You have a single developer on the project
  2. That single developer gets praise from "everyone" and has a pending pay raise for doing an "outstanding" job

In this situation, the person with all the leverage and all the power is the single developer with a documented record of excellence that "everyone" praises. Attempting to impose anything on him runs a significant risk of project failure, and based on his behavior, it seems to me like he knows it. He can do what he wants to do, you can't do anything about it (because you can't risk project failure as a result of him quitting), and he knows it.

If you're hellbent on imposing this ...dubious... policy, your only real option is to remove his leverage. Assign other developers to the project so that he's no longer the sole, indispensable resource on this project, and he will be less able to defy the policy. Even at that, he still has some leverage, and may choose non-compliance... I imagine it wouldn't reflect well on you if such a well regarded and productive developer were to quit as a result of working under you/on your project.

As the adage goes, chose your battles wisely. This doesn't seem like a battle where you can win a victory worth having, so the wise decision here is not to fight this battle.

How can we make him follow the home office policy?

Sometimes it is better not to.

This question already has a wide variety of perspectives but I wanted to add a couple of thoughts from the point of view of a senior software developer who works almost entirely from home.

The software development process benefits from focused interaction between developers and team leaders. In my opinion it does not benefit much from the unfocused social distractions of the cube farm. Personalities differ of course. In my case I really enjoy social interaction so I tend to easily create and respond to unfocused distractions when in the office environment. I enjoy this but get less deliverable work done. What I observe when visiting the office are structures designed to focus interaction, e.g. standup meetings. I believe one of the benefits of these meetings is a shared expectation that we will be "left alone to get things done" in between them, but in an office environment that is less likely.

I also observe that my interaction with other developers is facilitated most by written communication regardless of our physical proximity. For example: I am often called on to provide help with sql queries. In all cases there is little value in someone telling me - verbally - about the problem. It is far more effective to just send me the query (via email or chat) so I can make changes, add comments and send it back. I chat and email with other developers throughout the day, sometimes having several conversations at once, while still maintaining control over the focus of my attention. The results of having conversations in a written form is also more beneficial to developers who are not part of the original conversation. I learn and share most tribal knowledge by way of chat history and email threads that I was not a part of.

I believe that for software developers at least, policies based on physical proximity are outdated. A better metric is the quality of and availability for (mostly written) interaction. This is harder to measure than attendance but also more likely to make sense to your developers.

If he is not really required to interact verbally with others, why do you need him in the office?

  • Others need to know that despite excellent performances, everyone complies with the rules.

    Possible solutions to present and discuss with him:

    1. His absence triggered a set of similar responses from other employees that are required to provide assistance in the office, but now they also want to stay longer at home.
    2. You attempted to extend the period of 2 days at home per week, especially due to his outperforming situation, but this company's policy was not possible to be changed at the moment (i.e. it shows you care about his situation and you are not directly enforcing anything).
    3. If you manage to change this period, how long he (the developer) would be willing to compromise in order for outperforming workers like him to comply with the rules?
  • You suspect he also uses his contract time for other purposes (personal work or other entities work).

    Possible solutions to present and discuss with him (carrot rather than the stick):

    1. Since the issue here is not the company policy itself, is there a way he is able confirm he is working on work related tasks? A version control system can be used for this, where he would perform hourly pushes/commits to the repository and management would be able to check his progress daily. A more visual alternative, only to be considered if it is deemed legal in the respective country and within the employee's contract legal frame, is using a screenshot-timed-snapper, used widely by many outsource workers nowadays.
    2. Using a strict task management platform with deadlines set by management according to his performance for all his home work. These deadlines would not be so strict or non-existent when working at the office.
    3. A more relaxed approach: have him write a log of his hourly work activities which is delivered at the end of each day to management and point these developments to commits he made to the version control system with a short justification of the development time taken to complete specific tasks. Again, working in the office would not require this to be done.

If there are other more compelling reasons that justify his office presence, please comment and I will consider adding them here.

  • 7
    " E.g. using a screenshot timed snapper that can be sent to management and analyzed at the end of each day." -> this could be borderline to straight illegal depending on the country; I'd be careful with that. – Liquid Sep 27 at 12:57
  • 6
    It's not just a matter of legality, it's a question of developer morale. With very few exceptions, no developer does a stellar job without identifying with the project and being enthusiastic about it. Interfering with his ability to get work done will have morale consequences, as well as implying that he isn't trusted. – David Thornley Sep 27 at 15:20
  • 3
    This answer is hilarious because the OP makes it clear that this developer is highly productive. There is no question that they are slacking off so why the intrusive monitoring? Pro tip, a manager that has time to review screenshots is a manager your company doesn’t have enough work for. – Gaius Sep 29 at 7:41
  • 5
    Writing an hourly log is microcontrolling stupidity. You know that saying, people leave managers, not jobs? – Rui F Ribeiro Sep 29 at 7:44
  • 2
    @RuiFRibeiro In a company where the staff is composed mostly by managers, micromanagement is unavoidable. – CPHPython Sep 30 at 8:38

You say:

Every worker in the project including me (around 20 people, mostly managers) has 2 days of home office per week which they can use whenever without notice.

You state that each person gets 2 days to use at their leisure but you do not state that 2 home office days is an absolute max.

So if the developer is going 2 weeks without notice then reprimand them for unauthorized home office time.

You need to talk with this person and say something like:

You are doing an excellent job here but we must talk about your home office time usage. You must start getting pre-approval for extended home office time per day after your two discretionary days. If you do not then we must mark you as a no-call no-show and you will not be paid for unauthorized days.

Get HR to write up an official form which the developer MUST fill out per day beyond the freebies.

sample form:

Name:

Date:

Summary of tasks to be worked on:

Summary of tasks progressed/completed:

Supervisor signature:

So now when the developer requests pre-approval then you have the power to allow it or tell them that you need them in the office that day.

  • 17
    -1 Implementing this answer would be harmful to the project and company. – Jim Clay Sep 27 at 14:26
  • 11
    For starters, it might tick off the the only developer in the project, and trigger them to apply for a new job, just to vent their frustration... and if they are any good, once they apply somewhere where their skills are in demand, they are likely to get an offer they won't refuse. – hyde Sep 27 at 14:59
  • 4
    @MonkeyZeus What hyde said. Also, the flexible working from home policy is a major benefit for the employees. Introducing forms for getting approval ahead of time is going to be a negative cultural shift, and will harm morale. – Jim Clay Sep 27 at 17:47
  • 1
    @MonkeyZeus I agree that that is a danger to take into consideration. – Jim Clay Sep 27 at 18:16
  • 9
    "Pre-approval" sounds like the bureaucratic bovine excrement which is what lowers the morale (in different ways depending on if bureaucrstic rules are followed or not) in creative lines of work, and makes the best people look for other opportunities. Seen it happen enough times to know it is a real risk, and a hard sell. "You can keep doing what you have been doing, but please jump through these extra hoops to make it ok" require concrete motivation (like real risk of espionage), not just "rules must be followed" type circular reasoning. – hyde Sep 27 at 18:29

I've talked to him before, and he agreed to follow the rules, but it had no effect on him.

The developer agreed to the supervisor on an important agenda but failed to take any action. This is a bad sign and is certainly a challenge to your authority.

Unfortunately, you will have to issue a formal warning letter. Strong performance is not an excuse for breaking the employment terms and conditions. It's like being rich doesn't go above the laws. People who have contributed significantly to the community can still be prosecuted for committing an offence.

Please thanks the developer for the wonderful achievements, but note there is no need to come back ever if he insists. If you don't see any improvement, make two offers:

  • Resign himself and give him perfect reference checking for his good works
  • Termination with poor reference checking record

There is no developer who can't be replaced. Strong developers are actively seeking opportunities in the job market.

EDITED: In response to comments by our confused users. Apple is famous for not allowing any programmer working from home. The best Google programmers would still work in the office. I'm sure Apple would ruthlessly terminate any programmer not coming to office for works without permission. While I understand it's hard to take my answer, it's indeed the only practical solution. Issuing a formal warning letter is already quite nice; it should have been a direct termination if not for the good works. Please note the incident continued after an agreement.

No "well known" software company should adjust their rules for just a singe programmer. Does the programmer thinks he's like the CEO? No matter how strong the programmer is, programming is always a relatively cheap skills set and is always replaceable.

  • 4
    (1) There's no comparison between an employee leaking news about a new product, and an employee working from home more than officially allowed. (2) That article doesn't show that Apple would terminate an employee for working at home too much, and finally (3) Even if Apple would, that doesn't make it a great idea. Apple's popularity does not sanctify its actions. – Wayne Conrad Sep 27 at 3:19
  • 3
    I disagree although many would not. An employee challenging the rules because they are counter productive and in the end hurt the company objectives is very healthy, organisations that are too rigid to accept (and learn from) this kind of harmless outliers are bound to fail. Managers unable to understand that are way more expandable than them. – Aki Sep 30 at 5:35
  • 9
    Strong developers are actively seeking opportunities, but they'll skip companies that act like this, so you still won't be able to replace the developer. Rememer: this was a strong developer, and you made him leave. Why would other strong developers be interested in taking his place? – Erik Sep 30 at 7:37
  • 3
    @SmallChess Google has lots of benefits that most companies do not. They have a reputation that draws strong developers that most companies do not. In other words, Google can get away with stuff and still have loyal, strong developers that other companies could not get away with. – Jim Clay Oct 1 at 17:29
  • 3
    @SmallChess what you say makes sense, if good developers weren't a scarce resource. You seem to believe that programmers are cheap, but most companies have troubles filling in their positions, let alone filling them with good employees. When you're handling a scarce resource they do have power and leverage, whether they're part of the management chain does not matter. – KillianDS Oct 2 at 15:05

I've talked to him before, and he agreed to follow the rules, but it had no effect on him.

This means you have an option if you're above him in the chain of command, this is grounds for discipline and should be stored away in case there is ever a need for it in the future. In terms of the project I don't see a need to do anything except document and keep track of the transgressions. There may come a time when you need to pop his bubble.

If you're only working with him for the duration of the project and/or have no real power in the matter, then dismiss it as unimportant, your focus should just be on the project completing successfully.

  • 42
    'Banking' employee indiscretions in order to escalate responses to later (potentially unrelated) behaviour isn't really a sign of good management, imho. I wouldn't advise this course of action – mcalex Sep 27 at 6:23
  • 3
    In countries which have "at-will" employment, there's no reason to "bank" transgressions. You can fire people without justification. In countries where you can fire people over transgressions, it's typically a case of "use it or lose it". The only way you can "bank" it is by issuing a written warning. – MSalters Sep 27 at 13:02
  • 3
    When did I say fire? Could fire him right now if they wanted. Discipline doesn't automatically mean termination. – Kilisi Sep 27 at 13:04
  • 7
    Failure to raise issues at the time, is in itself, a disciplinary offence for most managers. Trying to "bank" this as mcalex says, isn't just bad practice, but will backfire in the most spectacular way if you try to use it. – UKMonkey Sep 28 at 13:06
  • 5
    A good manager once told me, "Nothing on a performance review should be a surprise, or I have not done my job." – Andy Oct 1 at 21:02

protected by Snow Sep 27 at 11:58

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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