How to Motivate Programmers

@Max

“And people, stop acting like prima donnas - chances are you aren’t the best, and constructive criticism and competition are here to help you. Shut down your egoes for a second, use your brains.”

I’m all in favor of constructive criticism, but I don’t think that’s what Jeff is arguing here. Rewriting someone’s code “because it sucks” is not constructive, and encouraging developers to “show off how good they are to their peers” is not asking them to shut down their egos.

@MyKey_

“I don’t know whether this ever happened with orange, but I had to do an extra reload after posting my comment because I didn’t show up the first time.”

I don’t think that’s anything to do with the improved captcha - I used to have to do that with the old orange method.

Personally, I’d like to congratulate Jeff on finally fixing the captcha. Now if only he could fix the other problems with comments, such as adding threading, or at least numbering comments.

@Steve W

Agreed! Numbering comments would be an improvement.

@Steve-O
"but the person rewriting it is not smart enough to understand it or even work with it."

That’s pretty much my definition of “this code sucks”.

Internal competition has to walk a fine line between in-fighting/insecurity and promoting an enjoyable/learning atmosphere at work. Anything that destroys cooperation within your software team is going to be detrimental at some point.

Heh, I thought this was going to be a variation on your other post: how to demotivate programmers (http://www.codinghorror.com/blog/archives/001205.html): by rewriting everything they produce, “to make it more clear”. I can testify first hand that that is devastating, I’ve had it happen to me.

Where I work the notion of code “ownership” is an officially sanctioned, strictly enforced policy ("thou shall not touch my code or you shall be piunished). I cannot convince the management that it is a counterproductive practice so I learn to live with it.
And here I get something unexpected. Based on the comments above, I conclude that officially-sanctioned “code ownership” is not such a limited practice as I thought. In fact, most commentors seem to accept it as quite natural.
I am very (unpleasantly) surprised. Was I wrong in my beliefs?

Jeff I don’t think you have any basis for this argument I know best you don’t get out

Hey, great post, and I’m glad to see a popular site using “reCaptcha”. It’s a great example of killing two birds with one stone.

Fight, slaves, fight!
Fight, slaves, fight!
Fight, slaves, fight!
Gooooooooo SLAVES!

I just wanted to say Jeff, this was a very timely post. Keep up the good work!

And somehow developers rise to say designers are prima donnas, vain people who can’t stand criticism…
I’m licensed to say that, since I’m of both sides of this. : )

But an interesting thing to notice, nonetheless.

The irony is that this really is true, even when we know our code is not the fastest written…How DARE they improve my algorithm?

Go reCAPTCHA!

If you refresh enough you are likely to still see “orange.” :smiley:

(And you might win the lottery too)

Bad analogy. ‘Racehorses’ are herd animals:

http://en.wikipedia.org/wiki/Horse#Behavior

so… you absolutely can ‘herd racehorses.’ In fact, you herd these horses any time you let them wander the pasture, or lead them into a stable.

If you race a horse 100% of the time, you’ll only wind up with a dead racehorse.

Cooperation and teamwork both are well and good, but when bonuses and promotions often are geared to individual performance, they can be thrown by the wayside. If someone has family responsibilities, going home to the wife and saying, “I didn’t get the raise, but I sure did work well with everyone” isn’t going to cut it.

It’s a competetive world, boys and girls. If someone isn’t up to snuff when it comes to being able to do the work, it is doing a company absolutely no good to waste time getting them to a serviceable level. It’s best to cut your losses and move on. Having someone who needs to have his code reviewed and rewritten constantly is worse than having no one at all. No one is perfect, but you probably can think of someone you’ve worked with who clearly wasn’t good enough.

Ideals are great, but let’s live in the real world. It’s survival of the fittest.

Great post! Programmers need to ‘race’ in order to stay competitive. You need a few people in your organization who can make others ‘race’ and keep them not only on the edge of their seats but also on the edge of technology. I currently fulfill a role something akin to that in my workplace :slight_smile: Programming is challenging and that’s why we like it. Moreover, programming has a lot of challenge left because it is still largely an art. Every program can be made better from one perspective or another, and every time you ‘race’ yourself you become a better programmer.

Depends if you are self-centered and competitive. Some of the worst code I wrote in the .NET framework is being rewritten from scratch right now, and I couldn’t be happier about that…

Microsoft does this and has got hit a lot more than it would admit.
Google, on the other hand, takes Grand Challenge type problems and asks their guys to cooperate, not compete. They dont fight each other, or peer-pressur-ize the office, they fight tough problems and do concept mashups to make new solutions to big problems. ( I’m not going into negative aspects of known Microsoft management strategies. )
The end of “The Era of Orange” :wink: seems like the end of Agent Orange! :smiley: :smiley:
But Rays of hope from The Mountains are still very tricky, as always…
ReCAPTCHA-ing the web isn’t all that appealing for a workhorse, race horses may rightfully disagree.

Haha, CodingHorror readers are sitting in front of the their PCs pressing the refresh button on reCaptcha trying to get it to display the word “Orange”…

-Agent Orange

I like the idea of using this on doctors. They are hard people to get to listen to you.