I think it's fairly straight forward how to keep any great employee, whether they clean your floors or maintain your $1 million a year generating product. Treat them with respect. This may go as far as allowing them to leave, which seems counter to what we want, but still. "Treat them with respect" is very broad but no matter what angle you think from, it works.<p>For example, employees get bored because they are consistently doing work which is far below their skill level in a vocation which they haven't fully explored[1]. The respectful thing to do would be to either find work that is more challenging for this employee or allow them to move on to greener pastures, giving them great references and even assisting find their ideal role. If they do move on, whoever used to be our second best employee in that area becomes the best we have, who will be closer to what we need in terms of skills, whilst maintaining a great relationship with the previous employee.<p>Also, if I'm overseeing an absolute wizard at what they do and they are far better than me at it, they deserve respect by being listened to when they offer advice when it comes to their craft. They deserve recognition of skill and if something isn't feasible or if there's a better way, I damn well better make sure I do it their way for the sake of my product/service/building/whatever and for the sake of my employee's general wellbeing. Hell, if they're that good, perhaps I can entrust them with a little bit more. After all, we should be hiring people to both do the jobs we haven't got the time for anymore and, at the same time, do them better than us.<p>Telling an employee "do x by this time and you get a promotion" is not respectful either. This will create a bad culture, where cutting corners is rewarded where as doing your best work and offering sound advice is ignored or punished.<p>It's really interesting to talk about theories of motivation, value and what not, I've done this and applying tactics and strategies like this works but it's overcomplicating shit that can be kept simple: treat everyone with respect, treat everyone as you'd like to be treated. It's very motivating going to your manager and saying "look, I need work that's a bit more challenging" and them replying with "understood mate. give me a bit of time and we'll work something out" (and, for brevity, ignoring the conversation in between of what exactly 'more challenging' means). It's very motivating your manager calling on you to give advice on the best course of action, rather than dictating how things will be done. This is simply respect.<p>You should aim to give absolute respect to every person you work with, who works under you and works above you. Hell, you should do this for everyone in your life. Whether they return in kind is irrelevant, just keep at it. Sometimes those who haven't treated you right before will warm to you.<p>[1]: <a href="http://upload.wikimedia.org/wikipedia/commons/thumb/f/f6/Challenge_vs_skill.svg/300px-Challenge_vs_skill.svg.png" rel="nofollow">http://upload.wikimedia.org/wikipedia/commons/thumb/f/f6/Cha...</a>
taken from <a href="http://en.wikipedia.org/wiki/Flow_(psychology)" rel="nofollow">http://en.wikipedia.org/wiki/Flow_(psychology)</a>