
How To Keep Your Best Programmers - Illotus
http://www.daedtech.com/how-to-keep-your-best-programmers
======
einhverfr
One of the basic ideas of distributism is that of subsidiarity, which I think
is applicable in the workplace as well. The basic rule is this: Whoever does
the work owns it and gets to make as many decisions regarding how to do the
work as possible. This is how I run my open source projects.

The big issue is that of the less talented taking ownership of tasks. Give
workers freedom to do their jobs right and expect good things from them.

~~~
yummyfajitas
This doesn't work in all organizations. There is a big risk that some workers
_won 't_ do their jobs right given the freedom to do so.

In a nicely compartmentalized organization/application this isn't a huge issue
- worst case, one compartment performs poorly, the people running it are
replaced, and a complete rewrite of _one component_ is performed.

This can be really bad in a more monolithic organization/application. Bad work
in one component (e.g., a poorly designed database schema) will leak out into
the rest of the system. Because others are building things on top of it, it
will be extremely difficult to rip out and replace.

~~~
einhverfr
> There is a big risk that some workers won't do their jobs right given the
> freedom to do so.

Find new workers then. The principle is you do the work, you own your work or
job, it is yours with a share of the risk and reward that comes with it.

> Bad work in one component (e.g., a poorly designed database schema) will
> leak out into the rest of the system.

The solution there is two-fold:

1\. Encouraging (though not forcing) getting second opinions, discussions etc
ahead of time.

2\. Post-review once the component is nearing usefulness by respected peers.
"Can we use this? What is the quality?"

Is there expense when you have to say "this needs more work" or even "this
must be done again?" Sure. However does putting less technically apt managers
in charge of the technical decisions cause fewer problems or more ones?

You can't just have management and review go away. But management is the
midwifery of production, and review of technical peers beats review of
managers any day.

------
JoeAltmaier
The 'programmer laffer curve' may exist, but not for the reasons stated. A
good programmer doesn't every 'offer all their experience' and runout. They
got that experience somehow; this job is giving them more. They learn and
grow, and don't stop having something to offer.

I'm leaning toward the 'bored and want an excuse to leave' school of thought
on this one.

~~~
6d0debc071
I think the theme of the article was less that they have nothing more to offer
but that the things they offer are rarely followed up on. They become
disillusioned with the ability to get things done. That it's relatively
difficult to get promoted into a position of power as much as it is to go to
another company and try to get things done there - at the very least you get
another throw of the dice with people who might be more inclined to listen to
reason.

------
jwdunne
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.

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.

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.

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.

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.

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.

[1]:
[http://upload.wikimedia.org/wikipedia/commons/thumb/f/f6/Cha...](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f6/Challenge_vs_skill.svg/300px-
Challenge_vs_skill.svg.png) taken from
[http://en.wikipedia.org/wiki/Flow_(psychology)](http://en.wikipedia.org/wiki/Flow_\(psychology\))

------
yekko
Pay them far above market.

~~~
hkarthik
That's the easy way out, and in my experience, far more likely to produce "the
residue" type of employees mentioned in the article who sticks around due to
"golden handcuffs."

~~~
yekko
Way better than having none left. Then it's game over of C player hiring D
players.

------
skyraider
>>> it is okay if the talented developer narrative doesn’t necessarily involve
the company in five or ten years. That’s fine.

I always get queasy reading lines like this. In the US, most employers can
fire at will. The corollary should be that any employee can leave at will.
There should be no cultural stigma against the latter.

>>> humans are not motivated economically toward self-actualization

The RSA video that supposedly supports this claim cites research that is only
tangentially related to full-time employment. I'm not sure it's as applicable
as the video host thinks: I can't help but note that ownership of tasks
doesn't come with ownership of the company relative to the value of the tasks.
It's all about who started it, or who got big equity.

Am I the only programmer who doesn't like being economically exploited (in the
formal microeconomic sense)? For me, it's demotivating to know I'm putting
forth effort for which someone else is reaping huge value.

Asking me to stick around for salary only (and perhaps a few worthless
options) doesn't overpower my understanding of economics and make me excited
to drive someone else's value creation process.

~~~
mc-lovin
>Am I the only programmer who doesn't like being economically exploited (in
the formal microeconomic sense)? For me, it's demotivating to know I'm putting
forth effort for which someone else is reaping huge value.

There is no formal micro-economic sense of exploitation, except perhaps not
getting the competitive wage, which is not what you are describing.

~~~
skyraider
Not getting a wage equal to your productivity at the margin may be considered
exploitation in several schools of microeconomics. If an employee provides
value X and receives wages X-10, the amount of exploitation is 10.

However, depending on who you talk to, workers are not 'exploited' in a loose
sense because they can move to another organization that pays the prevailing
wage. But the fact remains that the prevailing wage may be below the worker's
contribution to organizational productivity at the margin. Thus, my econ
professor still taught that exploitation, in a formal sense, occurs whenever
wage(worker) < marginal_productivity(worker).

~~~
nostrademons
So if an employee produces 0 or negative (as happens in several organizations)
but receives wage X, are they exploiting their employer?

Microeconomic models that assume the marginal productivity of a worker can be
calculated in advance are drastically at odds with the reality I see, where
employers are terrified of a bad hire and even if they get a good hire, they
may still end up with zero to show for it because of bad management or simply
market conditions.

You could argue that the reason we have corporations at all is to spread the
risk of unknowables across many people, so that it becomes bearable and not
everyone is exposed to ruin if luck doesn't turn their way.

~~~
mc-lovin
>Microeconomic models that assume the marginal productivity of a worker can be
calculated in advance are drastically at odds with the reality I see

Micro theory is very general, and almost tautological. For example, you can
re-interpret "marginal value" to mean "marginal expected value conditional on
what the employer knows about you" and then everything you said fits neatly
into the usual framework again.

Hence my comment below about the market deciding what a worker's marginal
value is. Micro theory makes no claims that the "true economic" (and
unobservable) marginal value of a worker is equal to their marginal value
measured by some accounting system. Hence why micro theory is to a large
extent irrefutable and makes few predictions about the world: if people eat
big macs, we assume that increases their utility more than eating kale, and if
the market doesn't pay a worker well, we assume that person contributes little
marginal value.

Corporations do certainly help spread risk, that just happens to fall slightly
outside of the usual micro framework.

