116

I have a strange situation at work, where a colleague of mine often asks me and other co-workers for working code.

I would like to help him, but this constant request of trivial snippets interrupts my thoughts and sometimes makes it hard to concentrate.

Plus, I have the impression (...) that this requests are generated by lack of competence, more than by laziness. In fact, he often asks things pretending to know the answer, since when I solve the problem he usually says things like "Sure", "Yes, that's what I thought", giving me the impression that my answer isn't worth it.

How can I solve this embarrassing situation?
Should I show more explicitly in front of other colleagues his lack of knowledge (by saying things like: "do it yourself if you can, please") or continue giving him what he wants?

I think that he should aggregate all his questions in one, so that I can give him a portion of my time and he can work all by himself on his things.

There is no hierarchy in the team, I must say we both have a similar seniority of five years, more or less. For the same reason I believe I cannot report to management, since trivial questions are often ignored.

I discussed with other two members and they agree with me: in fact he often ask things cycling through colleagues.

5
  • 11
    Once you have the solution let us know over at SO so we can use it as one of the close reasons for all of the "gimme teh codez" questions we have.
    – casperOne
    Jan 16, 2012 at 5:45
  • 2
    Strangely somehow they get more close to management as well, so in most cases you wouldn't get a stance even if you report ;) Jan 16, 2012 at 11:52
  • 3
    @PrashantBhate: birds of a feather. If you have real talent, you don't need to take credit for others' work, which happens to be a "skill" very important in management.
    – outis
    Apr 12, 2012 at 22:07
  • 6
    send him a few Let Me Google That For You links - most people soon get the message...
    – Matt
    Jun 12, 2012 at 18:22
  • 4
    I had a similar situation but the asker would do a round-robin of other devs "I've got this far, can you help with the next bit"... After sitting him down and having a frank discussion, he admitted he only wanted enough time in the job on his CV to go for a ministerial position in S. Africa... He even asked me for a LinkedIn recommendation when he left the company!
    – Basic
    May 15, 2014 at 19:48

16 Answers 16

191

My response would be to say "I'm a little busy right now, can you email me and I'll deal with it later". Chances are some of his questions are legitimate, by forcing him to email you it doesn't interrupt your flow and he is unlikely to bother detailing the problem in an email if its trivial. You then also have a record to show to management if his questions still stay at an unreasonable level.

6
  • 12
    This is also my preferred method. It avoids confrontation (and the possibility you will be on the losing side) and if you say it consistently they will give up after a week.
    – jqa
    Jan 13, 2012 at 14:37
  • 15
    IMO, it's the best option. It leaves a paper trail, as well as forcing him to actually think and write before just blurting out things.
    – Nicholas
    Jan 13, 2012 at 18:22
  • 22
    Moreover, when he pens down his problem, he would generally be able to solve it himself. According to me defining the problem itself is half the solution. Jan 15, 2012 at 2:13
  • 1
    I love this, but I'd ask him to email your boss and CC you, asking your boss to assign a priority...
    – gWaldo
    Jan 15, 2012 at 3:15
  • 4
    This answer again proves that often, the best option is telling the truth in a polite way. The asker actually mentioned being interrupted by his colleague, and this (very good, don't get me wrong!) answer basically just tells him: Go ahead and tell your colleague that the interruptions are bothering you. Sometimes, the obvious needs to be pointed out before we can see it.
    – fzwo
    Jan 16, 2012 at 16:35
44

First thing to do is have a frank discussion with the guy in question. Do it one to one instead of in a group or he might feel ganged up on (possibly deservedly so). Ask him why he keeps asking these questions, explain how disruptive this is to your work - see what he has to say.

Depending on what you glean from this conversation, try to see if he can learn by himself. Help him help himself instead of giving him answers. See if pointing him to the right direction would be enough.


If none of the above helps:

You and your colleagues should stop answering his trivial questions.

Answers like:

  • Sorry, can't help now. I have a deadline.
  • Why are you asking?
  • That looks trivial for someone like you.

Basically, if all the team agrees to play along with this, he will have to figure things out by himself.


You say this is being uncooperative - yes, it is. That's the whole point.

You have a team member that is not pulling his weight - he is in fact causing you and your colleagues to be less productive. If he is in a level that these questions are not questions that he should be asking, decline to answer them.

If you feel that this is not a good strategy, you can start an interruptions log. Record every time he asks you a trivial question and how long it took you to get back to your work (that is, into the mindframe you were in before the interruption).

This log will give you an idea of how much time he is costing you. If all of your colleagues do this, you will have a solid idea of how bad the problem is.

What you do with this data is up to you - discuss it with him, explain the issue and try to resolve it or escalate to management.

9
  • 6
    You would rather have him keep you from being productive? I believe he is being the problem. You are simply now not being the solution any more. You need to read a bit about negative productivity - members of a team that produce it should be cut.
    – Oded
    Jan 13, 2012 at 12:32
  • 4
    Unfortunately I lost my job following the uncooperative route so I wouldn't recommend it. Then again, I did get a better job someplace else (so it was totally worth it).
    – Spoike
    Jan 13, 2012 at 13:53
  • 15
    -1 this is a bit too passive-agressive for my tastes. Jan 13, 2012 at 14:07
  • 4
    There are plenty of competent programmers out there looking for work. If a guy can't cut it, cut him loose and hire somebody competent. Jan 13, 2012 at 14:38
  • 8
    "He often asked me for help, so I started keeping this elaborate administration about how much time I am losing. Here are the written reports, the questions, the answers, spreadsheets and graphs about how much time the company paid me to do other things than my work". Might give the wrong impression though.
    – Konerak
    Jan 13, 2012 at 14:48
42

A constructive way of approaching this (because you say it feels like this is because of lack of competence), could be as follows:

  • Try coaching him into the direction of the answer, but try to make him come up with the final answer. This way, he will learn how to come up with trivial things himself, and also he will become more confident about his own competence of coming up with solutions (it might be that he is insecure and needs confirmation of you and/or your colleagues?).

  • If he asks a similar question multiple times, make it clear that you already explained this, and that he should know this (because in that exact case, you actually KNOW what his knowledge on the matter should be).

0
31

As someone who has employed these kinds of people before, let me tell you that becoming aware of this problem is a really good deed. What I wanted my people to do in these circumstances was:

  • Start saying no. This is difficult because these people are very good at what they do, which is getting other people to help them. Very good. [see note 1]
  • If you are up for it, have a grownup conversation where you identify the behaviour and say you aren't going to participate any more. This is optional. You don't need to tell a coworker he can't take $20 bills from your wallet at will.
  • Tell your boss. Lord, I wish people had told me earlier.

You know what will happen if this coworker is fired? This is the shocking thing. NOTHING BAD. If the team was producing x units of work a week before, they will continue to produce x units of work a week afterwards. The time this person is consuming, and the disruption they are causing in your work flow, can really only be noticed afterwards. You will get more done when this behaviour stops. You will be happier, too. And your company will have more money.

note 1: Once I had an employee who was having a bad day in a bad week. A, I said, I need a list of all your outstanding stuff and where it stands before you go home today. I will look it over tonight and we will make a plan tomorrow morning. There was an hour left in the day. After I left A's office (to drive home, we did not work the same hours), in swanned B and bullied A into "helping" with B's project (which was not even important to the company, it was a training project to make B better at a particular tech by adding something to our website) for - you guessed it - one hour. Then A went home. I don't object to that, a hard stop is a hard stop. But wowee was I mad at B the next day. The skill level it takes to get smart people to drop everything for you is not something to underestimate. You can resolve to say no, you can tell your personal B to stop doing this to you, but in my experience, it won't work.

I wish I could tell you how to make the person stop doing it. In my experience you cannot. But you can make them stop doing it to you. Sometimes these people, after being let go from a place they were doing this, end up working somewhere there is no-one to leech from and not liking it there, or working at a job they actually know how to do. But while they have a job they don't know how to do, and the ability to make other people do it for them, that is the strategy they will use.

6
  • +1 for "Start saying no" Other than that I feel you may have suffered badly from a compulsive incompetent leech. Most reasonably competetent people just show this behaviour because they do not grasp the effect their questions have on you and will relent went told (perhaps repeatedly) and/or forced to come back later, batch their questions (once a day 10 minute session) or put stuff in mails as it then becomes harder to ask than to sort it out themselves. Jan 13, 2012 at 15:51
  • 2
    @MarjanVenema the thing is, if the OP is dealing with that kind of person, it wouldn't have got this far. By the time the OP is chatting amongst coworkers and realizing "hey, this happens to all of us" you can be sure someone has tried simple stuff already, if not the OP then one of the coworkers. Jan 13, 2012 at 16:00
  • Yes it would because it seems so far they haven't done anything to stop it, they have played straight into his habit by answering all his questions. Jan 13, 2012 at 16:00
  • 2
    "Tell your boss. Lord, I wish people had told me earlier" Kate I don't know if you know but you likely can have your cake and eat it, too "...You’ll hear about tension between two employees and moderate a discussion before it becomes a yelling match in a meeting. Your reward for a culture of healthy 1:1s is a distinct lack of drama..."
    – gnat
    Jan 13, 2012 at 17:01
  • 3
    @gnat thanks, I am big fan of the one on one and was having them. I did hear "I get interrupted a lot" or "I think I spending too much time helping X" but it took a long time to have people actually tell me that X was over the line. The OP here doesn't want to tell the boss either. People are nice, they want to help, they want to be a supportive team player. I get that. Jan 13, 2012 at 22:06
19

Send him the link to Stack Overflow.

If it really is laziness then it shouldn't be your responsibility to backfill his willingness to complete work. If it is a lack of ability then let him cargo cult on his own dime and not yours. You have a professional responsibility to your employer to do your best work and you can't allow others to compromise you. Working cooperatively and helping colleagues is professional and expected behaviour. Letting deadweight keep you from doing your job (without contributing something back) is something you need to avoid and it's what your manager gets the big bucks to fix.

2
  • 2
    +1 for SO. I used to get rid of help vampires by sending them 'let me google that for you' links. Which I can't link to here because it's filtered, apparently. Jan 13, 2012 at 18:22
  • And also the link to google.com would be a very proper answer :) Jan 20, 2012 at 7:05
12

That's bizarre - he's just asking you to do his job for him. Unless he has some very clever/subtle way of asking, I think I'd be tempted to just say "no, I don't have time".

9
  • 4
    Why even be polite? I have been polite with morons, coat-tail riders, and scam artists for almost 10 years. It is far easier to just confront the person directly, tell them exactly how you feel about this. They might hate you, but so what, you don't want to be seen with people like that anyway. Don't even be nice about it. That is the only way that these people ever learn and they eventually do or they just start exploiting others, not your problem anymore.
    – maple_shaft
    Jan 13, 2012 at 12:32
  • 13
    "Why even be polite" Because you might very well end up being reported to management yourself.
    – otto
    Jan 13, 2012 at 12:55
  • 2
    @maple_shaft: As harjou said, you have to do it the smart way. Jan 13, 2012 at 13:04
  • 4
    -1 this isn't a helpful answer, it's just a comment. Jan 13, 2012 at 13:56
  • 5
    @harjuo - You don't have to be polite, just not rude. As long as you are professional, I don't see a problem with it. Granted, the person you are confronting may take it poorly and whine about it, perhaps even to management. If you think that there is a possibility of management getting involved, then I would just try to have my ducks in a row and be prepared to give a calm and clear explanation of the situation to management. Management won't have first-hand knowledge to dispute the inaccuracies of this person's account. Jan 13, 2012 at 14:49
9

Have you considered having an adult conversation with this person? Let them know their constant questions are a productivity killer, and ask why he feels he has to constantly ask you seemingly simple questions. Maybe he is a bit incompetent. You can choose to let him fail, or you can choose to help him succeed.

Ideally, let him know you are wiling to help if he's truly stuck, but that you expect him to give you the respect you deserve and do a little independent research first. Continually giving him answers to simple questions helps no one. Encouraging him to learn and grow helps the whole team.

Yes, it will be an uncomfortable conversation, but it will be less uncomfortable than a few more months of silent resentment.

4
  • Great idea if it were to work. When someone has convinced themselves that they don't ask for much help, and only on little stuff, and it saves time overall since you already know and just need to tell me, well then you saying you're not going to help me won't fix much. Jan 13, 2012 at 15:22
  • @KateGregory: so your job would be to unconvince him. and that's exactly what the question and this answer are about. It may be difficult to unconvince him, but you have to start doing it or your own performance keeps suffering. Jan 13, 2012 at 15:46
  • @MarjanVenema there are things other than getting the person to stop asking, including saying no when asked, and going to management and asking to have it stopped. Jan 13, 2012 at 15:58
  • @KateGregory: see my comment to your answer. Jan 13, 2012 at 15:59
9

As a former manager I cannot begin to tell you how much time I spent on a weekly basis as a "grown up" baby sitter. All of the egos, conflicts, insults, and occasional work related issues. Never any problem with code reviews.

I only wish that real work places even began to resemble those in Joel's book(s).

Collectively, sit down in a conference room with all staff that are pestered by this individual. Let this person know that the interruptions are a distraction from your work, and interfere with your ability to work in "the zone".

Inform the manager, if possible.

Ask that all questions be addressed via email to eliminate the work interference and so you can begin to keep a log of both the frequency of interruption and low level of experience demonstrated.

Within a short period of time the group collectively should have either sent a message which put this person off from bothering everyone, or you'll have collected enough email trails to demonstrate to even an inexperienced manager the hiring mistake that was made.

A lesson I learned early as a manager was to hire the best employees I could find, try to see how each person worked within the team and how the team gelled.

Another early lesson was to get rid of bad employees promptly.

2
  • +1 for the last line, which we all come to eventually (and then wish we had come to sooner) Jan 13, 2012 at 22:00
  • I've heard it explained this way - "there is no such thing as good hiring, only good firing"
    – jqa
    Jan 16, 2012 at 14:14
6

Ask him to write his question down so you would be able to answer later when you will be free and speak with your manager to ensure you have quiet working conditions.

Your situation fails The Joel Test's point #8 Do programmers have quiet working conditions?

If a coworker asks you a question, causing a 1 minute interruption, but this knocks you out of the zone badly enough that it takes you half an hour to get productive again, your overall productivity is in serious trouble.

1
  • 1
    Any down-voters wish to comment?
    – bancer
    Jan 13, 2012 at 17:53
5

Ask him to post the question this site and see what response he gets, it's helped a lot of programmers ;) Put a copy of the CLR via C# on his desk and let him to check in there.

2
  • what makes you think the OP is complaining about C# questions? Is C# really that difficult?
    – gbjbaanb
    Mar 25, 2012 at 12:30
  • I don't. It's just an example of a good resource. That's my point, give him a good resource(s) and ask him to learn stuff for himself. Does matter whether .net, python or in your case C++ and no C# is easy, it his attitude that's wrong.
    – jolySoft
    Mar 26, 2012 at 10:07
4

I'd ask him to put all his questions into a big pile, and then sit down and do some pair programming with him during a longer stretch of time.

It does sound like he doesn't know how to program, but that may just be your frustration. Pair programming will teach him how to program (assuming he is teachable, not everyone has the knack of the programz).

2
  • 2
    the key to determining whether this is the case or not is whether you keep getting the same questions over and over. There are people out there who will ask you how to do something (the same thing) three times a week and never remember and just keep asking. Those kinds of people can't be helped with pair programming. Jan 13, 2012 at 15:20
  • 2
    Pair prog is a great in this scenario, because he gets help but not for free. By pairing up, it is easy to realize if he is willing to learn or just looking for someone doing his job Jan 21, 2012 at 9:08
3

I know exactly how you feel, i have been in this situation before. It's just role playing and manipulation. It usually happens for many reasons : - That person doesn't know the answer, is incompetent and doesn't want to come up as incompetent, hence the that's what i thought. - If that person is asking you dumb question in front of people, and answering them right after, he might try to put you in the incompetent place, or playing games on you (the work place is full of that type of people, trying to climb on top of you). - That person is lazy and wants you to do his job for him. - That person is the "by hear" type of guy which means he can reproduce a sample of code but cannot adapt it because he doesn't understand how it works, just where to use it.

The good approach IMO is just to tell that guy, sorry pal, you're on your own now, you're going to have to figure it out yourself this time, I've got things to do. If the problem persists, talk to your manager about it (i know stooling is not the best but hopefully you have a competent manager that has seen snowing before :) )

3

I would consider most of the answers, even having a conversation with them, an "Escalation" whereas my first response would be something along the lines of offering to pair with them. At this point you have offered help and if they refuse it you can escalate with a clear conscience. If they do pair with you then you can evaluate their actual competence level.

The thing is, if one person writes a library it's completely acceptable to ask them to write code that interfaces with it--at least as a test. There are other examples that are less obviously acceptable but still questionable--like where someone thinks you have already worked through a problem and still might have the resultant code handy.

If they are actually asking you to do their job, it's STILL reasonable to ask to pair, in fact it's a good suggestion if you are stumped and it's a great way to learn.

If they are not interested in pairing then I'd happily go on to any of the other solutions here--in fact depending on their reaction I might skip discussing it with them and go straight to the manager (with not only their request for your help but an indisputable assertion that you offered help and found that what they REALLY wanted was more than just help)

2

Get him to learn some computer science and help to evolve from brainless scripting; probably he's a kind of person who knows stuff (with proven skills) but has no background.

"You know, that you really can get into more of this stuff, but how about improving yourself over this - now..". Spend some money on amazon to get an good used book (Gang of four, Programming in Haskell,.. Just for fun?) thus add some bookmarks about his recent questions.

2
  • 6
    If he isn't willing to put in the effort to learn to solve problems by himself after 5 years (instead of asking for a handout from his coworkers), do you really think he's willing to put in the effort to "learn some computer science"?
    – gunit888
    Jan 13, 2012 at 13:59
  • @gunit888, it doesn't matter whenever he's willing or not; but it would be informative for you to know his true intentions.. and then, if he's not going to learn stuff, you'll gain the moral point enough to start a talk about him.
    – kagali-san
    Jan 14, 2012 at 17:37
2

I would get assistance from management, have a chat about this with them, and then arrange a time to sit down as a group with this developer to deal with the situation.

Alternatively, it is sometimes necessary to be somewhat politic about these things and show the person's behaviour up clearly in front of the rest of the team (and management, if possible), without being rude or confrontational, but by gently questioning why they are doing this. I had to deal with a similar situation, not long ago. In that case, I said to the developer in question, when asked once again for assistance, "If you know what you are doing, as you claim to, then why do you consistently ask questions? And when I answer them, why argue? If you'd like me to help you in future, then just let me do so." The same person was let go by the tech director, a couple of days later (he had been latently aware of problems already).

We were both contractors, FYI, so there was little internal loyalty to either of us, from the TD's point of view. Sometimes, things just need to be brought out into the open.

1

Since you're on the same team, be a good team player by showing him how to be one, too. Exposing him to management could draw ire from some of your colleagues, and it's karmically bad, in my opinion.
Chances are, management already knows about your colleague, so why step out of line by "showing" them that he was a bad hire? In the long run, helping this fellow out a little bit now could pay off for you in the long run in ways you might never even imagine.

Sorry you've found yourself in such a tough spot.

2
  • Management may know that "Joe seems to need more help than others" but not that "Joe is being carried by the rest of the team and we would get more total work done if he were to leave." Speaking as management, I never wanted to believe that. Over 20+ years I met three people of whom it was true. The worst of them was the sneakiest, who once made a coworker cry for telling me what was going on. That person was definitely hiding incompetence in order to keep a salary. And that was so hard for me to believe. Jan 13, 2012 at 22:03
  • I understand what you are saying, but it does seem like "Joe" is probably the exception to the rule.
    – blackappy
    Jan 13, 2012 at 23:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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