Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

How would you manage if you are allocated a team of 5 with, say, 4 incompetent programmers and you are asked to lead? Obviously you can't code for the 4 guys (you can, but that is not a good idea. At least I burned out doing that). Have you come across these kind of situations?

Edit: I think I sounded rude by choosing a wrong word (incompetent) to address my problem. To rephrase the question, how do you deal with people who do not complete assigned tasks (for whatever reasons [ranging from incompetence to 'I don't care' stuff])?

share|improve this question
Incompetent, how? can you elaborate? In many cases it may be lack of experience in a certain area and that can be fixed. –  Martin Wickman Feb 22 '11 at 18:03
are they willfully incompetent (they just don't care), or are they just confused about details/implementation (your project is written in whitespace language)? –  davidhaskins Feb 22 '11 at 18:09
That's probably not incompetence. That's usually basic laziness and apathy. You've probably got a morale problem. Maybe your team is sick of being called incompetent? –  Crazy Eddie Feb 22 '11 at 18:14
I would probably start by not calling them incompetent –  Woot4Moo Feb 22 '11 at 18:22
If you don't respect the people who are under your lead, then you are doomed to failing as a leader. Good leadership is not getting people to do what you want them to do, but in leading them to want to do the best job they can. Failures of teams often start at the top, not the bottom. –  Bill Feb 22 '11 at 19:49
show 4 more comments

6 Answers

up vote 39 down vote accepted

Mentor them.

I've come across this same situation when consulting and having been put on teams with less than optimal team members (nobody needs a consultant if everything is going great :-/). My manager one time became so frustrated with the other developers, he resorted to getting frustrated and just telling them all the time how they were doing things wrong. Eventually, they shut down completely and gave up trying.

Another project was different. I had a manager who was patient and worked with them. Yes, they were sub-par, but they were partly so because they did bad on one project and got chewed out over it, then they lost confidence in themselves and did worse, bringing more chewing out. These were smart guys, they just didn't know how to focus it to be productive. It sounds like you have a relatively high percentage of incompetent team members, which worries me. There are sometimes a couple, but 80% is pretty high. This sounds like they haven't had a good leader to help mentor them and give them opportunities to learn without feeling the hammer all the time (of course, you give no background to them, so I'm assuming that's the problem). It doesn't really matter what the specific problem is, this sounds like a team-wide problem, and you as their new leader have the authority, resources, and power to give them a better learning and work environment than they have been used to.

I would suggest listening to them and find out as a team what the problem is and if there is something you can pull out that could explain the situation. Many times, just listening to your team will work magic as that is sometimes rare to find leaders that actually listen. Then, mentor them and create an environment of learning. It may not be that they are incompetent so much as they've not had a good leader that you're now having to clean up after.

share|improve this answer
I got a lesson about this my first job out of college as a chemist. The factory where I worked was unprofitable and demoralized, so they hired a new plant manager. I thought he'd decimate the management ranks. Instead, he only fired one guy, changed a few procedures, and encouraged initiative and problem-solving, and above all... listened. It was astonishing how the managers and supervisors I thought were unpleasant and incompetent turned became happy, friendly, and really great at their jobs. Oh, and the factory became very, very profitable. –  Bob Murphy Feb 22 '11 at 21:28
I think Ryan has hit it on the head here pretty much. There is some reason why they are not digging their job and are either burned out, don't care or whatever. Either they have been working under a horrible previous manager or they feel that they company doesn't value them. Work with them, listen to them, and try to help them along the way. Your job as team leader also involves keeping your team motivated. They can't be motivated if they feel that you don't care enough about them to help them along the way. –  Steven Ellliott Jr Feb 22 '11 at 21:38
add comment

Response to topic change:

If the problem is simply that people aren't trying hard enough you need to come up with a way to get them interested. This could range from being more open to ideas, even if they suck, to promising a bottle of Scotch if the project makes it in on time.

Don't buy it off the bottom shelf!

Response to "incompetence":

Yeah, I've run into that situation. Total incompetence is not something I have to deal with but more than a few times I've been surprised at someone I thought had figured it out doing something I see as rather...questionable.

First thing you have to do is try really hard to suppress that feeling. I'm sure you've done stupid shit too. I know I have.

Next thing you have to do is make sure you explain why something they've done was wrong. Let them argue with you and/or ask questions...hopefully they do. Make them do it right; hopefully you get support from management because that's always been one of my major problems (they have to support you when you say, "Go do it right," and the other guy starts freaking out)

You have to do this as politically correct as you possibly can. Even if you want to scream at them, "WTF where you thinking you MORON!!!" That doesn't fly and won't help at all. So don't try talking to them at first if you feel that way. Sometimes email works better so you can edit yourself.

The object here is to help them improve. It's frustrating as hell trying to get something accomplished with people who, from your perspective, can't code their way out of a paper sack....but sometimes you have to.

That's how you help THEM improve. Now to you...

You have to learn how to let it go. Code doesn't have to be perfect...it just has to work. You might have to lower your standards a bit.

To accomplish this and not let the product's code tree turn into a terrible mess you have to focus on the big issues. So long as the sandbox is limited to a specific area that can be redone later, when there's time or they've learned more, it can be the worse, nastiest spaghetti code you've ever seen and so long as it works...ok. So look for ways to make that possible. If your architecture is uncoupled you can let incompetent people work on it without too much damage.

Of course, this means that whenever you have to fix something they've done, or add a feature to something they wrote, you're going to get a headache. That's life. Live with it. If you can, you can force them to add the feature or fix the bug...which actually can go a long way toward teaching better practices and coding skills (the more you have to clean up your own crap, the less you tend to crap on the carpet).

share|improve this answer
+1 for "the more you have to clean up your own crap, the less you tend to crap on the carpet". –  Joshua Smith May 2 '11 at 15:17
add comment

I think Ryan is absolutely right. When you think they are incompetent they might just surprise you in the end. I've had that happen to me in the past, I lead a team of 5 programmers (including myself) and noticed early on that most of them lacked in what I considered basic programming. After leading them through these basic steps (took patience) the pace doubled then quadrupled and essentially they were up to speed if not beyond the abilities that I expected.

Have a little faith.

share|improve this answer
add comment

Is this possibly like the situation in Office Space:

Eight, Bob. So that means that when I make a mistake, I have eight different people coming by to tell me about it. That's my only real motivation is not to be hassled, that and the fear of losing my job. But you know, Bob, that will only make someone work just hard enough not to get fired.

Source: Office Space quotes. A few other questions to ponder:

  • Are the deadlines too aggressive?
  • Is there sufficient support to help get the tasks done in time?
  • What kind of follow-up is being done on assigned tasks, too much or too little?

Those are just a few of the questions I'd consider in trying to find what is the root cause of the problem as you seem to describe more of an attitude problem than a competence problem. Have you researched any behavior modification therapy? Motivation techniques? Just a couple of other topics to research that may be of interest. "RSA Animate - Drive: The surprising truth about what motivates us" may be useful as a starting point to some extent here.

share|improve this answer
add comment

Can you fire these people?

How complex is the code base? Sometimes it takes a while to spin people up.....

Can you just give them the low hanging fruit and easier stuff to do while you do the other stuff? Focus on architecture/framework/overall design and give them really simple to follow instructions.

share|improve this answer
I cant say the code base is complex or they are new to project –  Vinoth Kumar Feb 22 '11 at 18:05
-1 for "Can you fire these people?" –  Hila Feb 22 '11 at 18:22
Why the -1. If you have a team of members that bring negative value they are only hurting the project. Fire them...in this economy it's easy to find good developers –  PSU_Kardi Feb 22 '11 at 18:41
With 80% of the team being "bad developers" it seems to me like even if you fire the bad ones and hire four more that the current environment of calling team members "incompetent" would slowly degrade the new hires' morale down to the old level...assuming they stay that long. –  Ryan Hayes Feb 22 '11 at 19:33
There are 3 side to every story. In this case, the leader's side, the team's side, and the truth. –  Bill Feb 22 '11 at 21:25
add comment

Lead by example. There are no bad teams, only bad leaders.

You can create good team. Maybe some of them will became better, maybe you will find someone better then current programmers. But on the end of the day good leaders have good teams.

share|improve this answer
I get the gist, and even agree mostly, but the quote is just a bit too flippant. There are also no absolutes. :) –  Bernard Dy Feb 23 '11 at 0:11
I agree, there are no absolutes. I want to show another perspective... –  Branimir Feb 23 '11 at 9:48
There are almost no absolutes ;) –  I.devries Feb 24 '12 at 13:29
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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