How to Motivate Programmers

There is no such thing as friendly competition. Judging each other and ourselves is useless. Stop promoting it Jeff

I wouldn’t know. Nobody has ever rewritten my code while I was still there. (Except me. And I hate that.) :slight_smile:

Rules are fine, so long as you understand and agree with the reasoning behind them. Few things are as useless and discouraging as are rules seen as arbitrary - “use the new coversheet for your TPS reports”…

Friendly competition is fine, so long as it stays friendly; let it get out of hand, and watch cooperation disappear, as each team or each team member begins to view sharing information as a liability.

Orange is no longer the CAPTCHA, eh? Well i for one welcome our youngest dormice…

It cuts into your sovereignty as a programmer.

How is this a paradox?

Best post here in a long while. I was beginning to despair.

Anyway… looks like “orange” is no longer good enough.

I agree, and I would say more, if it wasn’t for the more pressing matter - are you going to write another version of the orange article now?

Now you’ve pointed this out no self-respecting programmer is going to obey rules because that would make them a sheep.

I’m definitely a racehorse. :slight_smile:

Shouldn’t you try to motivate them before they write the code, not after?

Competition does motivate me, but telling me my code sucks is simply stating a fact I already know. At the end of a software project I’ll know far more about the problem domain than I did at the beginning, so any solution I programmed in the past sucks compared what I could do in the present.

Sorry, but what a load of rubbish.

If your programmers need those kinds of shallow tactics to produce code, your methods are wrong; your management sucks; and you most definitely have the wrong programmers. They should be proud of every line they collaboratively produce, not constantly looking behind their backs.

It works on me, that’s for sure. I don’t really get offended by it though (although, depending on WHO is going to change it, sometimes I worry that they will just BREAK it).

Haha… I’m still in college, but I’m in the second (competitive) group - it always throws my friends off when I let that side show…

“Best post here in a long while.” Agreed. I laughed, I felt enlightened. Awesome.

I recently gave in with a co-worker producing ridiculously amateur code, and have given up the “lets see what we can do to improve your coding” game and switched to the “rewriting from scratch the last week of code in 2 hours” plan. While there may be merit to threatening to rewrite someones code, actually having to do it is horrible and I would not recommend it unless their code jeopardizes your project. Its akin to having people on the team slapping each other in the face, and its not a pleasure for either party.

My verification CATPTCHA is “waste of”: thats somehow fitting.

this post reminds me of the games we used to play at school. those of you who remember turbo C know that it was/is extremely unforgiving. instead of competing against each other we would see who could sit down and type a program form start to finish, compile it and have it run with out a single bug.

of course some malicious moron (Mr malice) on the team would type a letter, symbol or the number zero into your program just to break it which also taught us to “idiotproof” our programs.

then that lecturer at university with his day one motivational talk. “hello all, I’ll be taking you in C. not all of you will be here at the end of the year. it is not your fault. they call me Mr malice, but that is okay…” most people hated him, some quit his class and a select few of us remember him with fondness now because they can write code. working code. the motivation, cajoling and competitions shaped me.

“they call me mr mallice, but it’s okay…”

Rules are always needed at some level. Race can be harmful at some level even if it was meant to be friendly.

you have UML Specification of your project

If you have that, you have bigger problems than just motivation of programmers. You probably program in Java, you (mis)use Agile and TDD, and your software is overengineered to hell. Your developers regret they were ever born, but come to the office for the paycheck, and pretend they’re working by coming up with more UML, unit tests (that don’t test any failure cases), and Spring configuration XML files. It’s kinda hard to motivate people in this environment.

This is definately true.

At a pevious job I was the sole developer on a project. It was good but I was managing everything so sometimes I would be more motivated to check mail and only do the bare minimum work in a day.

Until one day I was off sick and another developer had decided to change large, random parts of my code!

I was quite annoyed and just had to jump up and fix everything.

Nice post! I think it’s very true. Your post inspired me a dream up a Code Fight competition (http://tejasjoshi.wordpress.com/2009/05/24/code-fight-competition/) in my dream organization.