Take the 2-minute tour ×

Hypothetically speaking imagine that there exists a coworker that has a very shallow understanding of computing. To avoid stereotyping lets give this coworker the gender neutral name Chris.

Now Chris' diagnostic ability is low and can't figure out the correct IP addresses to set his/her virtual machines to. Chris also fails to merge code properly and overwrites a commit I made fixing something, thereby re-introducing a bug. I let this slide, refix the bug and do not make a sound about it to management.

Given a task Chris either 1) complains that there isn't sufficient information resulting in 2) you provide Chris with inordinately detailed instructions to satisfy 1). The more detail you provide in a list of steps to carry out, the more chance of an error being present in your instructions. Chris gets these instructions, tries to execute them, fails and it becomes your fault because your instructions aren't good enough. How do you deal with this?

share|improve this question
With adequate voltage and a tape vault. In all seriousness, does "Chris" have the same problem with other people, or are you two just not compatible? –  Tim Post Nov 29 '10 at 10:51
@Tim: Other people as well. Poor interpersonal skills. For example management eventually told Chris to say hello to people in the office. –  sashang Nov 29 '10 at 11:27
@sashang: Fascinating! This guy/gal seems to be a real social butterfly. –  terminus Nov 29 '10 at 11:36
When Chris reintroduced the bug, that caused a test (the one you added when you identified the bug) to fail, right? (Granted, not all bugs make this easy, but it can be easy if you have testing already.) It's much more influential to point out how Chris can themself notice when they are doing something wrong, such as their commit failing regression tests. Don't just complain about/to Chris, get Chris to improve. –  Fred Nurk Nov 29 '10 at 12:52
When did Chris become a gender neutral name? –  Malfist Nov 29 '10 at 14:26

6 Answers 6

up vote 17 down vote accepted


Having been in both your position and Chris's, I might be able to explain things a bit. I hear you saying that you're giving Chris tasks, but you don't mention involving him in coming up with those instructions. You're probably trying to help him do the right thing, but that's probably not how he sees it. When you're in Chris's place, it's difficult not to think of what you're trying to do as saying "OK, here's your work. Now do your job, drone."

In other words, the solution isn't to give Chris more instructions. In fact, you should give him no instructions. Instead, you should help him come up with a course of action. Once Chris sees his role in the process, he might very well turn into a different person altogether.

share|improve this answer
+1: Really like your last paragraph. It's not really applicable in this situation but I agree that if the opportunity presents, it's a good strategy to adopt. –  sashang Nov 29 '10 at 11:29
To elaborate on the "No Instructions" comment from Jason, may I suggest that you actually define the boundries in which this person has complete freedom to perform, and as they progress the boundries expand outwards. So initially, they may be able to write any code, but the alorythm has to be agreed beforehand, and then you review the code with them to ensure they have actually implemented the design - and not something simular. –  Ptolemy Nov 29 '10 at 11:43
you may be a programmer, and I'm sure you're good, but after reading a couple of your blog posts, maybe you ought to be a psychologist or counselor instead :) –  NickC Nov 29 '10 at 18:19
@Renesis - I like psychology, but I don't really want to make a career out of it. It's just something I started learning about to help make getting along with teammates easier. Besides that, the human brain is really the most fascinating computer ever built. –  Jason Baker Nov 29 '10 at 19:14

Review: "Works well when cornered like a rat in a trap under constant supervision"

(Someone please let me know a citation for the above)

Micro-managing an entirely unmotivated employee is not going to work. The more you spoon-feed them the more dependent on you they become. You need to find a way to motivate Chris so that s/he wants to work. So, here are some tactics (trimmed from this article) some of which I've highlighted as being particularly relevant here.

  11. Constructive criticism – Often people don’t realize what they’re doing wrong. Let them know. Most people want to improve and will make an effort once they know how to do it.

All in all, you could look at the Chris situation as being a personal challenge. You need to think creatively in order to find the solution (asking on this forum counts as creative BTW) so perhaps apply some of these motivational techniques to yourself in light of the resistance you can expect from Chris.

share|improve this answer
Excellent management advice, shame more managers favour the "yell at the work force, blame them for anything that goes wrong and ensure rewards all go to the management" approach. –  Orbling Nov 29 '10 at 18:34

I think the point is not to program a robot colleague.

Provide sufficient but brief pointers. Ask him, what's missing if he complains. Either his complain is fair, then you can give him more information or it is unfair and then you can document his incompetence (if you exchange the details via email).

share|improve this answer
+1 for asking him what he needs. Far too often that step is forgotten in these situations. I notice the same with my students: I can give them literally thousands of pages of information, but none of them useful if I didn't get the problem correct. And it sometimes requires a bit of asking and pruning to figure out what they really need. I guess coworkers aren't too different. –  Joris Meys Nov 29 '10 at 14:34

either you are enabling dependent behavior, or you are micromanaging; it's hard to say which from the description

so let's find out!

talk to your manager about the situation, and then take a vacation; ask your manager to make sure that Chris has a new assignment while you're gone, and that no one is 'available' to help him/her.

Then see if Chris gets anything done without you.

if he/she does, then you don't need to help any more - problem solved

if not, then your company doesn't need Chris (at least at his/her current level of training/ability) - and your manager will not be able to ignore that fact

share|improve this answer

Don't ever try to spoon feed anyone, in the long run it always backfires (no exceptions).

Keep communication formal at all times, and use email. Copy seniors in the team on the mail exchanges.

Provide enough information for the person to dig in, but no more. This is a job remember, not a tuition service for bickering types.

share|improve this answer

I know, its hard working with people who are not as good as you! but I'm sorry thats life, and as you get better you will find this happens more and more often ;)

However, the best strategy is to identify the areas of technical weakness. e.g. lack of knowledge of TCP/IP, cannot translate a task request into a suitable algorythm, etc.. and then ask the questions, does this person have sufficent skills for the tasks at hand? Does the time taken in supporting and developing this person cost more than their personal output produces? are they learning and improving?

If the net effect on the team over the long term looks negative and there is no evidence that it will improve significantly then you can be sure that your managers will want to know. However, it is quite possible that this person has the potential, but that you are not the person to do the training and support.

I would guess that this co worker is slightly out of their depth, and is not getting the support they need to start being productive. Likewise, you are struggling with this person not being a total geek, and find it dificult to provide support at the right level.

share|improve this answer

Your Answer


