Fog Creek Software
Discussion Board




Nice Guy-can't program a damn, PT 2

Alright, so Nice Guy has a review coming up, and I'm one of his reviewers.

A week or so after my first post regarding this guy, I've had to play firefighter and fix "his" application twice right before (2-4 hours before) demo/meetings with the client. 

The boss(es) want to know "the reality of the situation."  (This guy gets paid $60k/yr, and in this area, that's a mint for developers - I make $45k - we won't get into the $$ issue today)

So I could slam the guy because hey, he really sucks and hasn't shown he's any good.  Part of me wants to do that, and another part of me says, well all he needs is a better learning environment (working with a lead, etc.)

So, from a career standpoint - how much does my review/feedback play into my future at this place (relatively small (and extremely profitable) consulting firm)?  I'm all of 26.  If it were up to me, I would give this guy a choice of salary reduction (+inhouse training) or the door.  He's really that sloppy/bad and that's no good for a consulting shop that prides itself in being more than just a body shop...

...
Tuesday, March 23, 2004

Good Bye

apw
Tuesday, March 23, 2004

Don't slam him. Give the facts and only the facts.
Good management will get the clue. If they don't, then
nothing else really matters.

son of parnas
Tuesday, March 23, 2004

I think you need to say what you just told us.

He's nice, so you would like to see him stay. But he is not performing at the his salary level, so please train the guy and track his performance. If he doesn't step-up, we (your company) need a better performer.



michael sica (michaelsica.com)
Tuesday, March 23, 2004

Have you given a thought to the idea that maybe the problem is that you are underpaid? (As opposed to him being overpaid.)

Do you really care what he is making? You said the company is very profitable.

What is going to happen if they fired him and got another guy for $40k that happened to be better developer than you?

think about it
Tuesday, March 23, 2004

"think about it" has a good point. You could create a good position for yourself here. Make a point of being real helpful to the Nice Guy in fixing his work, and make sure your managers know about.

Then ask for a raise, with a damn good reason. (Not this issue.) How could they refuse. Tell them you're getting married, buying a house, starting a fund for your children, need more money.

You're set. And when Nice Guy becomes Project Manager, you will be his right hand man.

Must be a Manager
Tuesday, March 23, 2004

I read a good quote from Gerald Weinberg.  Something along the lines of: "Most people are doing their best, given their skill level and their understanding of the situation in which they are working [i.e. requirements etc]".

If I was you, when giving feedback to your management, I'd put the emphasis on "this guy would benefit from some training", rather than "you are paying this guy too much".

I was in a slightly similar situation a few years ago, and I put the emphasis on salary.  I think that was a mistake.  I think its better to aim to bring the person's skills up, rather than take their salary down.

I agree with you that you should help management to gain a clearer understanding of the situation, but be positive and remember Gerald Weinberg's advice.

John Rusk
Tuesday, March 23, 2004

Just to clear things up, after reading a few replies so far, it seems that the emphasis is on this guy's salary.  I'm not concerned that this guy makes more than I do (I'd rather be me and make 45k than him at 60k, because I'll make more than him in the longrun.)  I'm more concerned with him not helping the customer (and also screwing/slowing-down my work in the process.)  Sure, more money would be great, but it isn't everything...

...
Tuesday, March 23, 2004

"Most people are doing their best, given their skill level and their understanding of the situation in which they are working [i.e. requirements etc]"

To me, that sounds like this guy should be fired. If his best is crap and wastes the time of his coworkers, then he has no business being a coder. He should find a job more suited to his abilities.

If that sounds too harsh, then at least you need to make it very clear to management how bad his code is and how much of your time is spent fixing the problems that he causes. Phrase it in terms of things that you could have done if you didn't have to spend time fixing bugs in this guys code.

The other thing you could do is have a sick day just before a demo. Then when it all fails, management will suddenly be very interested in code quality and be more receptive to your concerns.

I'm in a similar situation and am thinking of asking for a position as "gatekeeper" of the codebase. If someone tries to check in some code that is crap, then I send a description of the problems to a manager and he makes the call to whether the code is let in or sent back to the original coder. I have enough to do without spending all my time as a support coder for useless coworkers.

RB
Tuesday, March 23, 2004

"Sure, more money would be great, but it isn't everything..."

You don't know where to shop!

On a more serious note. Take the advice John Rusk gave you. Tell the management that in your opinion he will benefit from some training.

think about it
Tuesday, March 23, 2004

>If his best is crap and wastes the time of his coworkers, then he has no business being a coder. He should find a job more suited to his abilities.

Personally, I'd reword that to say "If his best is crap, even after appropriate training and mentoring, then ....".  I agree that having someone who wastes the time of co-workers is a bad thing, but should the next step always be firing the person?  Probably not, if there is a chance that some training and mentoring may allow them to make a productive contribution to the organistation. 

John Rusk
Tuesday, March 23, 2004

I reccomend a pay cut.  Not anything drastic, you don't want him to have to sell his home, or get a second job.  Just cut it enough to get his attention.  It will light a fire under his ass.

Make it perfectly clear to him WHY he's getting it cut, and tell him that if he gets training (which you'll offer), and he shows improvement, his salary will be increased.

We had an employee who wasn't making the cut.  We cut his pay.  It really motivated him.  Within a few months, he became very productive.  Since then (this was about a year and a half ago), his salary has gone back up, and he's on top of things.

Myron A. Semack
Tuesday, March 23, 2004

"Make it perfectly clear to him WHY he's getting it cut, and tell him that if he gets training (which you'll offer), and he shows improvement, his salary will be increased."

The guy made it perfectly clear that he is not the manager.

think about it
Tuesday, March 23, 2004

This guy can't find his ass with both hands and he makes 15K per year more than you?  That's not chickenfeed.  You need to nip this in the bud.  Most likely, this will get worse before it gets better.  It's always darkest before the dawn.  However, it sounds like this guy's bark is worse than his bite.  It's sometimes better to be lucky than good.  On the other hand, it's usually pays to keep your mouth shut and let people think you a fool rather than open it and remove all doubt.  Finally, making a bad decision is better than making no decision at all.

touche
Tuesday, March 23, 2004

From the position of the manager, if I have a problem employee, I want to know about it yesterday.  Wouldn't you?

All too often I haven't gotten the feedback I needed from an employee's peers because they didn't want to rock the boat...in fact if I had heard things sooner it would have crystallized the decision making process much faster.

Richard Kuo
Tuesday, March 23, 2004

>Finally, making a bad decision is better than making no decision at all.

You're joking, right?

K
Tuesday, March 23, 2004

Here is another of my "must be ignored at all costs because it's the truth and BB said it and who the f*ck cares" posts...

A VERY simple leading question: which managers like this "nice overpaid" guy, and what are the overall politics of this company?

IE: does this company seem to be a true meritocracy, or do they have a back slapping, good natured tolerance of boneheadedness because they're currently swimming in too much money to really care about reality?

An aside: some boneheadedness and personal failures *must* be expected at all real companies. Otherwise the environment is one of continually driving a hot poker up everyone's ass to be perfect - only inhuman perfection accepted. Been there, too.

Years ago I started with a small and supposedly L33t consulting company that was ineptly trying to branch into software.  This employer of mine of the time was doing some contract work on site for IBM. The two other software guys in my group who were "consulting" to IBM were weak, addled, incoherent, informally working, self educated turds with not one clue as to how to develop clean code of the sort that IBM's project required.

What made it worse was that I was coming in from a DOD background that had hardened me to doing really intense embedded stuff, and these d*cks constantly ignorantly put down my background as "huh huh uhuh huh $500 toilet seats huh huh huh $200 hammers huh huh huh".

Toward the end of my tenure with this shithole, I had to work with a client of my employer who was attempting to use the exact code that my "peers" (dumb shits) had developed for IBM. I wound up verifying what the client's engineer on site already had observed - that my "friend's" source code was unworkable garbage.

At an after-the-fact recap meeting involving my weasel manager, the two turds, and me, I described the experience of trying to use these guys' source code, which was a "simple" interrupt driven character gathering driver for DOS that spent most of its time looping uselessly waiting for character traffic. 

I made the clear and emphatic point that I HAD to DUMP "YOUR CODE", YES your PRIDE AND JOY, because the client was well experienced, and he read the source code and was APALLED, and stated with no prompting from me that it WAS CRAP. I had a list of problems and issues, all the way from functional (would lock up when data streamed continuously) to stylistic.

Our manager treated the meeting like he was sorry I even spoke, and was obviously embarrased that I had "wildcatted". Even though my client was happy and satisfied and walked away with working code.

I consulted. I didn't cover anyone's ass. I made the client happy.

A couple of weeks later, I was "laid off". The turds/wastes of flesh remained.

So, don't rationalize *anything* about this consultancy being a paragon of rationality. The absolutely stupidest things can motivate company managements and owners.

Bored Bystander
Tuesday, March 23, 2004

DO NOT in any way, shape, manner or form mention his salary, your salary, or the relationship of the two even as an aside, during your review to management.  Tell them the truth about the guy.  Be frank, but supportive (e.g. "His problems are x, y and z.  I've had to do a, b and c to compensate.  But if we give him i, j and k I think he'll work out fine in the long run!). 

Then schedule yourself a weeks vacation, and on the day you return ask for a BIG raise and an additional 5 days of vacation.  When asked why, just say that you've done some research and you know that's your market worth.  If you're as good as you are implying in your emails (which is to say above-average) then its true.  Get your $60K/year in one fell swoop.

Ken Klose
Tuesday, March 23, 2004

> The other thing you could do is have a sick day just before a demo. Then when it all fails, management will suddenly be very interested in code quality and be more receptive to your concerns.

No, they will just remember that you stuffed up the demo for the Nice Guy.

Must be a Manager
Tuesday, March 23, 2004

Bored Bystander, i like your style. Though it may not
be so effective at keeping a job!

son of parnas
Tuesday, March 23, 2004

Parnas: it was a LONG time ago.

And I learned a valuable lesson: if someone else is incompetent yet the powers-that-be simply do not care, then you're screwed/toast/done-for if you attempt to bring the problem to anyone's attention.

Bored Bystander
Tuesday, March 23, 2004

Update!

While shooting the breeze with my boss (& part owner) on the phone tonight, I made small mention of my concerns and it turns out this guy has been a known problem at the small B.I. company he worked for which was bought by our comypany early last year.  He's going on some type of 'get your sh*t together' plan...but my boss doesn't think he'll make the cut in the long run.  That's a relief.  I also mentioned that I recently proposed to my girlfriend and he made mention that he & his wife & my fiancee & I should go out to dinner sometime soon.  So...things should pan out...

...
Tuesday, March 23, 2004

Good to hear, ellipsis.  Now, again, let me repeat what (most) everyone else has been saying.  _Leave salary out of this!_  Both his and yours. Honestly, his compensation is not really your concern.  You can (carefully!  tactfully!) bring up any perceived instances of someone not pulling their weight--even then you might run into trouble, as has been mentioned.  You don't have to and shouldn't start throwing out solutions unless you're the manager, which you appear to not be. :)

As for your salary, maybe it's too low, fine.  Remedy that, but stay far, far away from this issue.  Wait as long as you can stand.  Your compensation is not based on someone else's performance (nor impending financial problems, despite wat another poster said).  Just your work.  At least, that's how it's *supposed* to be... ;)

But, you come off as a pretty reasonable guy, so you probably already knew most of this.

Rich
Wednesday, March 24, 2004

Luckily for you, management already seems to be aware of "the problems" with Mr. Nice Guy.

In order to prevent this type of situation from happening to you again sometime in the future, you might want to suggest to your manager that any future development projects that involve more than one employee of the company should have time set aside for code/status reviews. Imo, a senior techie or someone from management should be present during some of those meetings.

One Programmer's Opinion
Wednesday, March 24, 2004

>  someone from management should be present during some of those (code review) meetings.

Well, that's _one_ way to ruin a code review.

Must be a Manager
Wednesday, March 24, 2004

I'd really want to work out why his code is failing. Maybe it is in a particularly difficult part of the s/ware, maybe he has expectations of the code surrounding it (for whatever reason) that have not been fulfilled, maybe it is difficult to automatically unit test. Whatever it is, find out and fix it.


Wednesday, March 24, 2004

Bored Bystander.. Amen

Been there, seen that, experienced it first hand.

deja vu
Wednesday, March 24, 2004

*  Recent Topics

*  Fog Creek Home