views:

993

answers:

17

COs, Managers, PMs, senior developers may i hear a few words on your experience in motivating and guiding new programmers.

A: 

As member of a team:

  • stimulate teamwork, ask team member for his / her opinion, compliment them
  • good infrastructure (source control, documentation, ...) so they can get involved 'quickly' into the project

... Agile

bob
pressed the 'post' button to early :s
bob
You can edit it, you know...
Greg
He knows. We wait...........
HollyStyles
No pressure Bob....
HollyStyles
before the edit, the vote was already there
bob
+31  A: 

Give them interesting work, and if possible, give them the opportunity to work with and learn from someone smart, or even better still, work as part of a smart team.

Give them the best equipment you can afford, and give them a quiet place to work, but where they don't feel isolated from the team.

Monitor their progress without micromanaging, and give them plenty of feedback.

Galwegian
Interesting work as part of a smart team is a good point. Bonus points for the best equipment you can afford, as long as the employee can choose what is the best for him.
OregonGhost
Trouble is he is a one man band, with me working during the day earning the bucks to pay him, and the rent and everything else! So he has the space, the work is most certainly interesting (biasm oozes) and im letting off the micro management, im also new at this management thing!
Setori
A: 

Well If you got new employees and they are not motivated how could you exactly turn them on?

If you hire new employees they should allready be motivated to work for you instead of you have to motivate them, if they are not motivated to work then they are on the wrong job!

MysticSlayer
Yes. Now, how to motivate old employees?
slim
+2  A: 

Check the question Perks for new programmers.

smink
+8  A: 

I have received a lot of negative feedback from this answer, but I believe it to be truth: There is nothing I can do to motivate you. I can give you incentives to do your job (pay you), and I can give you incentives to do your job well (monetary and non-monetary bonuses, etc.). However, I have always believed that motivation is an internal fire, a drive to excel and learn and try to grow as person/employee/developer/spouse/etc. Either you've got it or you don't.

As a manager, you are constantly challenged to find those with fire in their minds. Then, keep those people going with good projects and whatever incentives your work can offer (pay, recognition, etc.).

Jarrett Meyer
While there may be little that can be done to motivate a person with no interest, there is a lot that can be done to de-motivate an inspired person. Perhaps it is more a matter of what not to do, rather than what to do.
Remou
I believe everybody has something that will motivate them, it's just a matter of finding out what. I made an assumption in my answer that the employee had already demonstrated at interview stage an interest in programming, therefore he could be motivated.
Galwegian
Depends on the person. Some can be motivated, but the star performers need no motivation. They just need to not be de-motivated.
Brian Knoblauch
Actually I took this guy out to dinner for like six months getting to know him, quizzes on many topic lead me to believe that he is solid, and his logical ability is really neat, I believe due to my bad management (micro management) I was quashing him. mythical man month again huh?
Setori
MMM : management is not about coercing someone to work, it is about providing them with the environment and physical needs in order to do their jobs.
Setori
+5  A: 

Give them freedom :-) It worked for me.

Instead of telling them exactly what to do, how to do it and so on, let them make own decision. Make them feel responsible for the code they produce. If you dictate everything upon them, they will feel like this is actually your code and they have only written it. It's better if they feel that this is their code and you only inspired them to write it.

Just give them coarse specs how the app should look like and work like and then let them do their work. Tell them "Okay, now it's up to you, surprise me!". And you will be surprised. They will try their best to make you say "Wow, that looks awesome; better than I have expected". Of course you can later on make specs more fine grained, like "This is not bad, but how about we move this button here and make the search work instantly instead of having the user to first hit return to filter the list?" and so on. This is basically prototyping. You let the developer do a prototype, then you look at the prototype, make improvement suggestions and have the developer create another prototype with the improvements. The process repeats till you are happy with the result. We do it like than for years and it works very well.

Other than that, freedom, freedom, freedom. The programming language might be set, but other than that, let the developer decide how to do it, which tools to use, which libraries to use, etc. It will only work if the is competent of course, but if not, you shouldn't have hired him/her in the first place ;-)

Mecki
A: 

If you need to motivate a new hire.. then possibly you have hired the wrong guy as usually motivation levels go down with the work quality and work environment.

On the other side .. motivate ppl to maintain a good work life balance and you would be able to keep them motivated for long.

No the cause is me doing bad management, im a new manager and this project is funded out of my own pocket, After reading all this literature about how these software projects fail, I must say I have become ever so cautious, and it is showing through! But dont get me wrong im not obsessing over it!
Setori
+1  A: 

If you can manage to improve all these you are doing fine:

  • Company policy and administration
  • Supervision
  • Working conditions
  • Interpersonal relations(co-workers)
  • Company Policies
  • Salary
  • Status
  • Job security

http://en.wikipedia.org/wiki/Hygiene_factors

Petteri Hietavirta
+2  A: 

Personally, I would suggest having a good rig (aka Fast PC) for those slow compilation day with at least a 10K hard-drive for this hungry IDE. Offer them competitive salary so that they know they don't have to look elsewhere. They already have the best salary on the market. Make sure that they also have the best experience as a programmer and that they feel useful. Not "hero" or "the best". Just useful.

And last but not least, interesting projects with new technologies.

P.S.: Free coffee (not latte or mocha... just coffee) also help those programmers to wake up in the morning at close to no extra fee.

Maxim
A: 

The question is equally valid for any kind of new employee - not just programmers. If you have to motivate them from day one you've just hired the wrong guy.

If the old timers have lost motivation - quite possibly because things have changed in the company - new methods, systems etc - and they don't want to adapt - then have a "chat" with them.

Otherwise keep encouraging them, show them that you respect what that they do, and most of all make an effort to understand what it is that they are actually doing.

Jeremy Holt
+3  A: 

Ask them!

Find out what motivates your people. Why do they work here? What's in it for them? You might be surprised.

Jon B
+2  A: 

One simple thought: ensure that new employees know that real people use the software for real problems. If at all possible, arrange for them to see the users in their daily routine.

Michael Easter
A: 

Hi there,

I saw a great site dedicated to this topic called Tech Pro Motivation Project. It is at http://motivationproject.com. That may be of interest to you. Cheers, Dave

+1  A: 

I think the question should be: "How do I avoid killing the enthusiasm of the new programmer?" New programmers are already quite enthusiastic, they've already decided to work for your company! So while "There is nothing I can do to motivate you.", there is plenty you can do to kill it.

+1  A: 

If he is the only one on his position:

Be sure that he is very good. Then try giving him shares of what you earn each month (does not need to be much) and point out that it is partly his company, too. You need to be honest with the last point. If he is skillful and accepts this, you can work miracles this way.

Josef Sábl
A: 

Show them how cool and useful their job's result will be. Explain that their work really matters. I'm sure that hardcore guys who work on Google search engine used by millions people everyday have no motivation problems.

sharptooth
+1  A: 

This is an old question, but it's a good topic. I'm looking at it more broadly than just "new hires" - how do you motivate programmers in general? I manage a team of six programmers, so I give this topic a bit of thought. Here are my ideas -

Give them time to work - Interruptions kill productivity and motivation. Programmers like it best when they can get their heads down and get on with the work. You also need to give them time to do a job well - programmers hate rushing to get something finished by an arbitary deadline. I usually ask my programmers how long a task will take, and then respect their estimate. Part of my job as team leader is to manage that off with the business, and help them develop realistic expectations.

Give them good equipment - It is terrible having to program on slow computers, and most programmers hate using old development tools as well. Make sure your programmers have really good equipment - fast computers, latest tools, big screens, and also a very good chair. These things are not all that expensive in the grand scheme.

Give them respect - Programmers strongly desire respect for their technical skills. Honour the work that they have already done, and the work they are doing. Respect their opinions on technical matters. When you ask a technical question, take the answer at face value. If they have made a mistake, find a way to bring this up without them losing face. You can say things like, "I followed what you suggested, but I came across this issue. What do you think I should do?"

Give them permission to go home - Working long hours soon becomes counter-productive. When programmers know they can go home at 5pm, they are much more likely to come back the next day feeling motivated to work.

Give them responsibility - Programmers like making technical decisions, so give them the space to develop things the way they think best. If you have architectural or design standards, make sure these are understood up front. If problems come out during a design review, make sure these are communicated in a respectful and encouraging way.

Give them support - Make it easy for them to come and ask for help if they need it. Say, "if you've got any questions, don't hesitate to ask." Don't make them feel bad for not knowing some technology, instead say, "If you need a couple of hours to brush up on that tech, go ahead."

I'll add more to this later if I think of anything else. A really important topic...

CraigS