
Focusing on Developer Happiness with Humane Development - GarethX
http://blog.fogcreek.com/focusing-on-developer-happiness-with-humane-development-interview-with-ernie-miller/
======
aantix
First off, I saw Ernie present at this years Railsconf and it was absolutely
fantastic. Definitely go watch his talk on this very subject.

Secondly, over the course of my 16 years of software development, I've found
that when a I get treated less of a human (e.g. boss is barking orders, denied
vacation, etc), that most of the time, these issues are rarely directly
confronted. These confrontations create mental roadblocks in my head; all of
the sudden I'm less productive/creative, lethargic, generally less excited
about my work.

When a boss cracks the whip for employees to "work harder, faster!", it
results in these subtle, mental withdrawals that are hard to pin down but are
definitely costing the company money. Internal resentment results in a
subconscious "fuck you" that most bosses may not even realize is occurring.

~~~
pgeorgi
There's a term in German organization psychology of "Innere Kündigung",
internal termination, that fits the phenomenon rather well. Unlike formal
terminating your job, you're still around, but from a psychological point of
view you might as well leave.

Wikipedia didn't link to an English term - I wonder if there is any
established term of similar effect.

~~~
oddevan
"One foot out the door"? "Mentally absent"? "Checked out"? Whatever it is, I'm
familiar.

~~~
Terr_
"Phoning it in", too.

------
pjungwir
This article touches on some ideas about developer psychology also present in
David Maister's book _Managing the Professional Service Firm_ : basically that
many professionals, whether in IT or
law/accounting/consulting/engineering/etc, share a desire for excellence,
recognition, and autonomy. There is a lot more in that book that applies very
well to programmers, in my opinion.

I also like the point about being skeptical of named development processes.
The ancient writer Galen advised learning from all the schools of philosophy
but belonging to none of them. I take the same approach to software
development methodologies. The only risk there I think is that "agile" becomes
just another name for chaos. If you have pathological culture, it might be
better to pick a named process (any one!) and adopt it. But if people are
"humane", that is hopefully not necessary.

------
jt2190
"There are four key values for Humane Development. They’re empathy, honesty,
trust, and autonomy... Developers, they may feel, especially the autonomy
piece, they don’t have a lot of control over in their current job. What can
they do? Really, only the last one of those four values, the autonomy piece,
requires manager buy-in, and even then not a ton."

While this sounds nice in theory, many developers just don't have enough power
in their workplace environment to really put these values into practice by
themselves. They really do need buy-in and support not only from their
managers, but from their coworkers as well. (How many of us have worked with
the "cowboy" on the team, who looks like a hero to management while creating
problem after problem for his coworkers? Or the product designer who doesn't
want to let anyone else have input?)

------
a3voices
I realize this is controversial and might not make business sense, but one
humane policy would be to give your senior developers tenure and then never
fire them for any reason. It would greatly reduce their stress levels. Also it
would reduce the chance they'd seek another job.

~~~
pc86
Why not make it illegal to fire everyone? That would certainly be _even more
humane_.

Saying a statement like that "probably doesn't make business sense" is a bit
of an understatement.

~~~
pjc50
The EU system is generally that you can't just "fire" people, you have to have
a reason: either documented underperformance or misconduct. You can make
redundancies by eliminating positions, but again this is subject to
consultation and fairness rules.

