Fog Creek Software
g
Discussion Board




Nice Guy, but he can't program a damn...

I'm currently in the process of working with a so-called more experienced programmer on an asp.net project.  Small, custom app mind you - and he's a complete disaster.  He forgets to check-in his code and eventually winds up losing some of his code.  He also apparently has trouble following a simple req. spec that he helped author (all of 1 page.)  He's been trying to get his boss to put him on a .NET project, and obviously he's succeeded.  He's in general, incompetent and I want to tell the boss(es) to put him elsewhere (we're a consulting shop,) but I feel bad because he's a nice guy...*Sigh*  Unfortunately this also means, I'll be here later tonight than already planned.  Has anyone been in a similar situation? Suggestions?

...
Thursday, March 18, 2004

Are you managing this guy or just working with him? If you are managing him that I would cal him him, give a specific task to do in a specific time and make it clear that there would be consequences if he does not do it.

If you are just working with him then there is nothing much you can do except make sure that the Manager knows you are doing your job properly and on time leave the rest to the Manager to figure out. rather and whining about this guy as usually that is counter productive.  Arrange for daily status meetings so it becomes abundantly clear to everyone in the project that this guy is not pulling his weight.

There are no nice guys....just good or bad programmers :-)

Code Monkey
Thursday, March 18, 2004

"Has anyone been in a similar situation?"

You're asking a group of programmers (a group that is absolutely notorious for cannibalistic infighting) if they have anything bad to say about coworkers...

.
Thursday, March 18, 2004

I defer to the infinite wisdom of Joel on this topic:

http://www.joelonsoftware.com/articles/fog0000000332.html

(see the section titled "Neutralize the Bozos")

Never tried it myself, but if I found myself in such a situation, I think I'd be willing to give it a shot.

ken
Thursday, March 18, 2004

There's not enough code to send him on his way...they wanted to speed up this project's development by bringing him on.  Should buy them all a copy of The Mythical Man Month...  I don't manage him per se, but I know more about the project from a technical standpoint than anyone else.  Instead of helping speed things up, he's slowing things down...this creates a problem when release time comes (end of next week.)  He can't even create a simple SQL script to manipulate a database schema...how does he expect us to put this in production??!  Argh...

...
Thursday, March 18, 2004

> when release time comes (end of next week)

Too little time to train him, probably. Give him your auxilliary tasks: test cases, interfacing with QA, training the sales people, representing your project to your manager, anything like that.

http://www.cse.psu.edu/~lambert/420/big/node70.html

Christopher Wells
Thursday, March 18, 2004


He's probably a Nazi who likes salad cream and wants to outsource your job to India.

Oh
Thursday, March 18, 2004

If you let him do all the interfacing with other people, he may end up as your boss.  It's not really your work writing code that makes an impression on the people around you.  You could end up doing all of the good work, and he will get all the credit for doing to talking.

Keith Wright
Thursday, March 18, 2004

Hi ...,

Can you tell us more about the "nice guy's" previous software development experience?

Is the problem that this person can't "program worth a damn" in general or does this person simply lack experience with the tools and technologies that are being used on this particular small project?

If the problem is the latter, then maybe you need to look at your current situation from your employer's perspective. It seems to me that your employer is hoping this "nice guy" will quickly turn himself into another billable .NET developer.

One Programmer's Opinion
Thursday, March 18, 2004

Keith Wright and One Programmer's Opinion have nailed this one, I think.

The original poster is expected to train a guy the company has identified as a good employee. Who knows, he might even be intended to replace original poster.

Must be a Manager
Thursday, March 18, 2004

He can't program worth a damn in general.  A 9 to 5'er who doesn't care about becoming 'good' at what he does, he just wants to play with the cool toys.  I've been interfacing with the users/customers and delegating the tasks to him (which he's completed in a half-assed manner.)  Officially I'm not managing him, but for all intents & purposes I am...  He's not being trained to replace me, he was thrown into the mix to try to get this project done before the deadline.  If he were half-way competent, it would have been possible.  In the meantime he's managed to screw up his VS.NET/IIS/VSS install and wasting more time today...

...
Thursday, March 18, 2004

He sounds like definite management material to me.

Must be a Manager
Thursday, March 18, 2004


You could come up with some "revised specs" for him to work from. Create a new source repository for the release code ("your code"), and let him use the current one for his code.

Then it won't matter if he stuffs up check-ins / implementing spec's etc. there's no. It's then up to you then to incorporate his work into your branch if its suitable. You in the meantime can get on with the important stuff...

You might want to coordinate this with your boss as your way of helping you boss evaluate his potential for future similar work, without "increasing project risk" for the current work at hand.

(I agree that he sounds like management potential).

;
Friday, March 19, 2004

Swap him with another team for additional hardware.

I once swapped a co-worker for a larger monitor, and most everyone was happy. I mean, except for the co-worker and the other team.

Gustavo W.
Friday, March 19, 2004

*  Recent Topics

*  Fog Creek Home