views:

2748

answers:

48

I am in a tech lead role and my developers get stuff right most of the time. How do I communicate to them thier value to me? (I.e. they have value because I do not have to go through and point out mistakes which means I do not have to watch them like a hawk which frees me to do more useful things).

In summary

For doing the mundane well on a day to day basis, it is good to recognise the developers effort verbally to them. An honest thankyou that mentions the specific behaviour and its positive repercussions to you personally will be well received, adjust the language to suite each individual. (Note that other developers within earshot may also respond to this by increasing their efforts in this specific activity.)

Other things that should be done regularly are:

  1. Team drinks
    In many cultures this is an entirely worthy way of giving the team some time to socialise and relax. Be sure that you do not exclude people who do not drink or are not keen on pub culture. Shared meals are another option.

  2. Formal written (email) acknowledgment and praise to senior managers of the teams efforts and successes. (Note that acknowledging individuals alone may damage team spirit)

  3. Work the hours you expect your team to do. If they absolutely must work late for a deadline, be there in support Go to bat for the team. Refuse to let them be forced to work long periods of overtime without compensation.

  4. Protect them from level politics and stress.

  5. Give your team the best equipment you can afford. Good tools show respect and improve productivity.

  6. Small or large team rewards where appropriate can consist of many interesting activities/ items. If it allows the team to get together in a fun and even lightly competitive manner it will work (foosball table, go-karting, darts board, video game console etc). Don’t forget to listen to what the team wants, each team will have different ideas.

  7. Ensure they are getting a fair deal financially from the company. While different people may have different expectations of their pay, someone being paid unfairly will rot morale for the entire team

+2  A: 

Lunch.

Simple, cheap, motivating (for me anyway...)

Josh Wright
+12  A: 

Lunch, doughnuts, the occasional low-cost gadget.

"Thanks for making my job easier" is a really nice thing to hear as well.

Lincoln Johnson
"Thanks for making my job easier". What a wonderful way to thank someone! I will adopt this for sure!
vmarquez
+16  A: 

Go out for a beer after work and spring for a round...

japollock
The company allready pays for beers every Friday, so this seems a little... alcoholic?
Nat
Sorry, where do I apply? :-p
kronoz
What if the developer is t-total?
digiguru
Agreeing with the above - you have a problem if the employees do not like bars or alcohol and a bigger problem if you have a recovering alcoholic on staff.
Schnapple
I guess you'd have to be sensitive to that; though at least here in the UK it'd be seen in a *very* positive light given the importance of the pub to British social existence!
kronoz
Prefer the coffee much more than alcohol... makes me work faster, and Faster and FASTER!
Scott Saad
+2  A: 

I'm also on a tech lead role. What I do is tell then that they have done a great job, and some times, I pay them some beers. Works really good, and keeps everyone in the team happy, including me.

Oton
+2  A: 

A manager saying "good job" is pretty nice to hear (or read by email).

Tyler
A: 

buy them like some songs off amazon mp3. developers love music.

Darren Kopp
+20  A: 
Patrick
I want some Bacon now!
Teifion
Not just bacon, chunky bacon! http://poignantguide.net/ruby/i/the.foxes-4g.png
Aeon
Is there vege-bacon available? You know... some good ole fashion "faken-bacon". :)
Scott Saad
rofl, nice one. I'm bookmarking for an appropriate moment.
Ed Guiness
You know, I really love bacon, but I have to have it just so. I don't think I'd enjoy it at a meeting like that. I'd be willing to try, though.
MrBoJangles
Bacon! Yeah, another picky bacon-eater here. I never order it in restaurants unless I know they can do it to order (medium, please).
Adam Jaskiewicz
does this appreciate or make fun of developers?
TheVillageIdiot
+1  A: 

Try telling them, they did a good job. Thank them. People like acknowledgment. But be very careful, that it sounds true or you will have the opposite effect. And after telling them, they did a great job, do all the other stuff mentioned here

(Free Beer and lunch! And after a big project consider a Wii or a RockBand setup ;-) )

Mo
and not 1 wii for the whole team either, one each so they can take it home and play with their kids.
Christopher Mahan
+1  A: 

Bring in some nice coffee in the morning. Make sure you know what everyone takes before hand.

Dave
No caffeine here. No doughnuts either. Please.
Christopher Mahan
+1  A: 

I agree with a lot of other posters above. Cheap things such as Lunch, a Beer, or even a small gadet can be nice.

But don't forget that even a 'pat on the back' can go a long way as well.

Niloc
Better a pat on the back than a kick up the arse at any rate.
Ed Guiness
The politically correct version of a pat on the back must start with the following phrase "Do I have permission to touch your body?" :)
Nat
+56  A: 

How about telling them? "You did a really good job on that project!" is usually very motivating and cheaper than lunch ;-) No really, most of the time a developer just want to hear his work is appreciated.

EricSchaefer
Totally agree. Simple communication can go so much further bagels or soda.
Scott Saad
But, please, don't lie or try to fake it. Your developers are smart enough to perceive that you are lying/faking it.
marcospereira
Don't say it too much or too often though. It's like "I love you" - if you tell it to everyone all around you all the time, it just loses it's value.
Paulius Maruška
+1: I recommend following this up with a note to the supervisor. "Did you hear about the great job that X did on Y? Boy, that was great work!" Little notes like that are wonderful ammunition for the supervisor when they go looking for who they should give the raise / bonus money to around performance review time.
Bob Cross
+19  A: 
  • The cheapest and perhaps most important action - as Lincoln said, simply thanking people for a job well done, perhaps publicly counts for more than you might imagine.
  • The obvious - pay increase/bonus :-)
  • Better equipment, i.e. 38" widescreen monitors, super-fast computers, etc. - I know that sounds expensive but in the long run taking into account the overall cost of a developer it's not that much really and goes a huge way to improving developer morale. Think Google - they have to retain some of the smartest devs on the planet. Crazy freebies, a free drinks machines, free trips to places, etc. All this stuff counts for more than it costs.
  • More freedom to show your respect to your developers - flexitime, etc.
  • A nice meal, perhaps out of the blue, etc.

I guess a lot of the stuff is really nice stuff you might do for any well-performing workplace, adapted for geeks :-)

kronoz
+25  A: 

Always mention your team and their achievements in the reports to your superiors (and don't forget to cc: the team).

Stay with them when they burn the midnight oil (and order the pizza and coke :)

akr
Corollary: if your developers are going home on time, try to go home on time, too. If you're staying late every night and they're not, then they might think you don't believe they are working hard enough.
Schnapple
Absolutely right!
akr
I try really hard to make sure they do not do excessive hours and if they do, I will try to make sure they get paid for the time as much as possible. The view being that if the developer has to work late, it is most likely nothing to do with them. (i.e. my fault)
Nat
That is very good.Sometimes, if one is in the mood, a couple of hours really help to get things done.But if people regularly do very much overtime they are exhausted and are not as productive as they could be. It is also important to give them some time to get the head clear of private obligations.
akr
Pizza is great so long as it doesn't get confused for a cheap form of overtime payment
David Sykes
No, that's not the intention. The real compensation must come from the company. Pizza is only a placeholder to show your appreciation and to give your colleagues an opportunity to chat while standing :)
akr
Staying with them while they burn the midnight oil is pointless unless you have real work to do. As far as food is considered, I would rather go home and eat with my family. Make sure the project doesn't get to state like this.
Marc
+4  A: 

Hire more people who are able to do a good job.

Fire the ones who don't

The one thing that programmers love is working with peers in their level or above, people they can learn from.

shoosh
ya, and keep firing until morale improves.
Ed Guiness
+2  A: 

If you don't want to do code reviews with them, then let them code review each other, and do partner programming. Also advise them to signup to stackoverflow.com. This will improve their abilities.

In terms of positive rewards, I believe in a giving financial rewards out of the blue, sending people home on a friday early, and mentoring them through the hard times (personal or professional) is a much better use of your managerial position.

I don't believe in targets

  • Asking a developer to close 32 bugs in a week will just make them cherry pick the easy ones.
  • Asking a developer to write 400 lines of code a week will just make them write 300 lines of rubbish.
  • Asking a developer to stay late 3 nights a week will make them spend 2 nights a week looking for another contract.
digiguru
+8  A: 

Cash. Really. Gift certificates are good, too.

As far as the after-work stuff, I just don't want to hang out with co-workers after work. I just want to go home and be with the family. But if that works for your people, go for it.

I guess you could just ask them how they'd like to be rewarded.

MrBoJangles
What a genius idea! Ask them! Glad someone pointed out the obvious. :-)
Troy DeMonbreun
A: 

Personally, I like cookies. A lot of times my supervisor will offer one to me as a reward.

Looking quickly on google there are plenty of ideas available.

For me extra perks and rewards are nice, but they don't compare to being told directly that you are appreciated and an asset to the team.

Arc the daft
A: 

An honest compliment.

Some number of your developers are introverts that are constantly scared of losing their job, even if such a fear is unrealistic. Honest, unprovoked compliments (i.e., "good job on that presentation") will go a long way.

I'd say something like Starbucks cards but you can never be sure who likes what (I don't do coffee, for example)

Schnapple
+1  A: 

A good word and smile is the most important, I think.

A cold beer after work or putting your programmers favourite snacks in the office will be probably also appreciated. Do not ask about work progress every hour or make a conferences about the problems when everybody is trying to solve them.

rawicki
A: 

The previous company I was working for would throw a huge party if our project was a success, which was always a lot of fun.

As for other incentives, they let us pick and choose our own machines/monitor set up, and every year gave us a budget to buy equipment on. So we could personalise our own work space, and the way we worked. They also gave us time between projects to just hang out and relax, work on our own projects, and or use the huge media room they had set up to watch movies and play games.

X-Istence
A: 

I work as a 'keyboard monkey' developer where I tend to do 20 ish very small jobs a day.

To be honest I can't remember the last time I got posative feedback from my team lead. (It's not just me, all the programmers say it, and we all usually get posative feedback direct from clients, so we must be doing a good job)

Personally, I would love nothing more than a simple, "good job" from time to time or "Thanks for completing that task a day early".

If you find yourself with more time due to the sterling work from your team, show to them that you are re-investing it back into the team. Something as simple as completing a report for someone certainly wouldn't go unnoticed.

Failing that... Two words... "Donut Fridays!"

Spike
+8  A: 

Don't give them incentive pay. It communicates to them (incorrectly) that they are dogs who only perform their work for a treat.

Also, unless you reward everyone the same way you will produce animosity and jealousy within your ranks. You'll wind up rewarding the worst person on your staff because he had a good day and anger the other employees who are consistently solid.

Schnapple
The decision whether or not to provide incentive pay is actually *super* hard in my opinion. Personally I think if you do provide it and it's different for different people, keep it *private*. But still, seriously tough problem.
kronoz
to much of the law of unintended consequences. Lets not forget that the Enron people were on incentive pay.
Nat
...not always incorrectly
ima
Good link; Joel's article is the definitive answer I think.
Cody Hatch
+1  A: 

Gift certificates for:

  • Amazon.com
  • Fry's electronics (or the equivalent)
  • best buy

As well as a "Thank you" in a card (paper card), so they can show their significant other. It makes a big difference.

A $15 gift certificate to Amazon.com and a paper card with "Thanks you for a great job on project X" would go a long, long way to show appreciation.

And it's cheaper than a lunch. Why? because I can eat, but I'm supposed to lose weight.

Christopher Mahan
was I wrong or offtopic that I got -1'ed?
Christopher Mahan
I have still to figure out this social networking stuff. I don't even want to go near that whole "subjective" and "polls" pariah tags.
Nat
The reason you got voted down was that your answer came across as been a cheap tightwad. Your actions would piss off a lot of developers that I know.
hectorsosajr
Also I wonder what your stake is in Amazon. Never heard of Fry's, but then, I'm in Europe.
chryss
@chryss: I have no stake in amazon or Fry's. @hectorsosajr: At my company, trust me, people would appreciate it. (cube-slaves as we are).
Christopher Mahan
I really can't see how a response to this question could be ever downvoted unless blatantly offensive, which is not the case. +1ed to restore Universe's balance.
Sorin Comanescu
+4  A: 

Just point out that you like what they did. 'You're doing a great job' may be goofy, but saying, 'Feature X has worked out really well' is more meaningful and to the point. They know why you are telling them you appreciate them and its not aimed directly at them but instead at the work they have done which is what the company cares about most.

Arthur Thomas
Hell yeah! "You are doing a great job" sounds like the person saying doesn't even have a clue what the heck you are doing!
Paulius Maruška
A: 

Nothing beats a free lunch....but make it a gift card so I don't have to have lunch with the boss

EvilEddie
A: 

When we do well, our group receives sweets or chocolates! :) If food is not an option, Thinkgeek always has interesting gift ideas.

Coffee on Mars
+1  A: 

wow. i'd be worried by the language you're using.

"little things"?

Don't you see their contributions in the light of the overall project?

Hmmmm. "Lttle things" huh? Bet that motivates them! (VBG) (-:

Rob Wells
Imagine that they are rewarded for the large releases that go well. I am thinking more about the day to day stuff.
Nat
+3  A: 

I worked for a startup a few years ago, and they used to take us to the go-cart race track a few miles from the office after getting through a busy phase. Granted, we were a pretty small company, but it really made us feel special, and it was a great way to relax on a Friday afternoon.

Lucas Oman
+9  A: 

Walk 1000 lines of code in their shoes.

Be a decent, respectful human being.

Recognize work well done (good ideas already mentioned).

Encourage a team culture where apathy, not failure, is the worst that can happen.

micahwittman
+1  A: 

Be aware of their successes, communicate them, and make sure that you cultivate a positive atmosphere. Just the fact that you're willing to ask this kind of question goes a long way to proving that you're doing that. Couple of caveats:

  • Incentive based work leads to gaming the system. If you reward for specific things, do it on a very temporary basis to focus them on a particular issue (e.g. removing all major bugs from a system within 2 weeks, reward/bug found and fixed)
  • Make sure they're proud of the product. If it looks like they're doing something not totally relevant, but seem to be enjoying it, give them some leeway. Being able to put a personal stamp on the project is worth a lot of beer. Also, instead of a co-worker with a hangover, you get a feature.
  • Rather than generic gifts, try making sure you recognise their individual needs. One guy might benefit from an extra hour off on Fridays, while another might like doughnuts with sprinkles in the canteen. Personally, I think generic gifts send a certain message of "I feel I should reward you, but I have no idea who you are." That's acceptable, just about, in a big project for a large company, but not within a small team. As the comment below suggests, try and tailor any gift to the individuals involved.
deworde
> Personally, I think generic gifts send a certain message of "I feel I should reward you, but I have no idea who you are."- Well, then find out what they do and find out what they like.
Christopher Mahan
+1  A: 

I believe you hit the nail on the head when you said, "they have value because I do not have to go through and point out mistakes which means I do not have to watch them like a hawk which frees me to do more useful things."

At Minnebar I heard a fellow giving a presentation on communication for engineers. One of the things he said was don't "compliment" people. They aren't really seen as all that sincere, like it's something you say because it's expected, or worse that you say to be flattering when you're trying to get someone to do something.

He said the best thing to do is keep your compliments selfishly oriented. I appreciate when you do 'x' because it affects me 'y'. Exactly like you had in your example. Like, "I love when a task lands on your plate so I don't have to worry about how it will be done." "Good job answering that group's questions, you made our team look really smart." Etc.

loudej
+2  A: 

Give them more responsibility (if it's warranted), like a more sophisticated project.

Chris
+4  A: 

One thing to realize about rewarding people, they only appreciate being rewarded for things they are proud of. The best thing you can do is figure out with each person how to recognize when they are proud of something, then reward them for that in some way (doesn't really matter how).

The counter example is also true. Once at a company meeting I saw a project manager give kudos to his team for all their hard work, when he had forced them to cancel holiday vacations. They wanted to lynch him.

jwanagel
so true! hard work is often just a synonym for long hours :(
Iain
+2  A: 

It's been said here several times as I scan... communicate with them. Make sure that you mention it in front of others and whatever you do, make sure that you include them in your successes. Nothing takes the wind out of a developer's sails like hearing his manager take credit for what he did. It also sounds like you are gaining man-hours by not having to correct your developers. Sounds like it's time to buy them a pizza lunch and maybe let them verbalize ideas they might have for making things even better.

kooshmoose
+3  A: 

Ask them how you can help them do their job even better with the additional free time you have because they do such a great job right now.

There are always some things that you can shield them from. For example office politics or bureaucracy.

This also includes standing up for them when a conflict arises between members in the team and 'outsiders'. Or when you get a project with a hard-to-do schedule, let alone an impossible one.

Patrick Huizinga
+3  A: 

Give them some slack to learn and play. To stay on top of their game, a developer must constantly be learning new details and features.

Google, for example, allows their developers to spend a fraction of their time on a project of their choice. Obviously this could get out of hand, but I think the real key is giving developers a sense of ownership in their products, teams, and companies.

ee
+18  A: 

I've always admired the leaders that:

  • when things go wrong, they accept personal responsibility and
  • when things go right, they direct any accolades to the team
b3
Leaders who do that recognize that tasks can be delegated but not the responsability.
vmarquez
I wish I could give you 10 up votes for this one!
Marc
Couldn't agree more.
Brandon
+2  A: 

Tell them they're doing a great job. Expect great stuff from them. Tell others how great your developers are. Give them the power to create the working conditions they want.

Paying more will only motivate them for a couple of weeks. The above will make them work for you for free. Sort of. ;-)

Christian Davén
+5  A: 

One thing I don't see mentioned here is "going to bat for them". I like to protect my dev team from the suits up above. Generally developers and suits don't see eye-to-eye on anything, so it's best to keep the developers out of that business side, because if they didn't hate it they'd be bucking for more managerial duties anyway. Also it helps to translate from developer to suit, because suits like to reward in crazy ways...

Kearns
I wish more managers did this. I can hold my own with the suits (now that I'm older) but most geeks do not do well with suits.
hectorsosajr
+1  A: 

Reward them with fun and important things to do, alongside the praise and recognition. "That was really clever. Here are some other brain-bangers I have on my plate. Let me know if you come up with something clever for one of them."

I'm very motivated by the opportunity to try to come up with something unusual, something other people have scratched their heads over for a while. Best of all, a fresh perspective can often turn up something obvious that everyone else missed. Which makes me feel good, which makes me do a better job.

Give them a chunk of time to work on their own work-related projects, while in the office. An hour or two a week. You'll wind up with some very helpful code, and some well-developed well-rounded employees.

JBB
A: 

I've tried praise - it worked some of the time. Eventually, the person may not consider it very important. So now I reserve actual praise for an extraordinary acheivement. For small stuff done well, I buy them an expensive chocolate. Seems to work well.

Vivek Kodira
+1  A: 

Let them know that their work is appreciated through verbal queues, take a successful team out for a dinner every now and then or after a big product release as a thank you and to even inspire team building.

Really though, most of the times I just enjoy being told "Thanks" it makes me feel like all the time I was working wasn't just for my paycheck, but it made a difference.

Money is good too, but I agree with some people above where it ends up like you're training a dog and the programmer will realize it.

Rob
+2  A: 

Say "Thank you", and give them something more challenging (and important) next time out. Make sure they know that they are being given greater responsibility as a result of their success. For problem solvers, that feels good.

Find out what motivates the individuals on your team. There's no one size fits all solution. Some people like to be appreciated daily, others prefer it only when they do something they (as others noted) are proud of.

christopher_f
+1  A: 

A good way to give feedback (positive or corrective)

SBIC

Situation / Behaviour / Impact / Consequences

e.g. "Yesterday morning, when you sat with that person until they understood how to get around their problem, you really made them happy. If you keep up this good work, you'll go far."

"This morning you arrived late to the stand-up. When you arrive late the team lose respect for you. If this continues then you may find that you are no longer included in the interesting projects."

Carl
A: 

Little things are occasional and may be not even done in a right direction. Good work is good only if it helps somebody in a team. Because for good personal results (no bugs, in schedule etc) people getting salary.

So if it looks like you need to apprise something done well and if it is not clear who may benefit from this then to support motivation manager should help and tell his opinion. If he knows who will benefit from this good work he tells who it is to the team. If it is unclear then appraisal should be personal. May be like having beer after work together.

Din
A: 

If you DO appreciate their work, you don't need a list. Otherwise, faking appreciation or care is worse than saying nothing.

Sorin Comanescu
+1  A: 

Avoid anything even remotely monetary (I'm looking at you, gift certificates)

At a previous job at a large company, I was rewarded with a $50 gift certificate to amazon after completion of some major project where I worked long hours. Quickly do the math... because that's what the employee is doing. If your rewards make them think their extra hours are getting paid below minimum wage that's not really going to help very much.

Acknowledgement is really the best thing you can do.

You should already be taking your employees out for beer... team happy hours or meals. Go-cart racing. They should already have the biggest monitors and everything they need to do their job because you want them to be productive. They should already have more vacation time than they know what to do with also. None of these things are appropriate for a reward.

rhettg
+1  A: 

Just saw this...

CIO.com: "Managing and Motivating Developers: Tips for Management Cluefulness"

Encouraging productivity from your programming staff--at least in the developers' estimation--requires a few special techniques.

jalabi