
The Ten Commandments of Egoless Programming (2006) - bhaumik
http://www.codinghorror.com/blog/2006/05/the-ten-commandments-of-egoless-programming.html
======
dylandrop
As for #10 -- "Critique code instead of people – be kind to the coder, not to
the code" \-- I find that in almost every place I've worked though, what
happens is "that guy" who used to work there (or even the guy who didn't
happen to show up to the office the day we found the bug) becomes the scape
goat for the poorly written line. Interesting that we need to blame the
problem on someone! Maybe that's just specific to where I've worked, but I
think it might point to deeper problems.

~~~
falsedan
Blame culture is easy, cathartic, and broken; deeply broken if you're in a
situation where you can say, "this is solely their fault", then you've got an
organization which assigns responsibility in excess of ability. Beware!

~~~
joelhooks
I love the word "blamestorm" when any meeting starts to go that direction. As
in "sweet, we're gonna blamestorm?"

~~~
j45
Totally. Blamestorming taps focus and ultimately progress towards "how it
should be"

~~~
barbs
Wouldn't it be more efficient to focus on what's wrong with the code then,
rather than whose fault it was?

~~~
j45
Very few things are as black and white as pregnancy.

When solving a problem starts by blaming someone, it can distract the
conversation and attention to become about personalities, positions, politics,
arguing over perceptions, & interpretations, instead of the problem itself.

If, after something like the 5 why exercise, all roads keep leading to
someone, one can probably look at having a positive supportive intervention.

If that person doesn't want it or feel they need it? That's more of a culture
thing than just about one person.

------
jnazario
i find that a phrase i started using some years ago has helped to drop my ego
significantly. when asking for help, i phrase my question literally as "what
am i doing wrong?" not "this is broken", no. "i'm trying to use X to do Y,
here's how i'm trying to do that, and it's not working like i expected it to.
what am i doing wrong?" in doing so, i assume the problem lies with me and my
mistakes. it drops barriers immediately - both in myself and in others i'm
asking of help - and forces me to be open minded about the solution.

a simple phrase but remarkably effective.

~~~
JoshTriplett
Personally, I like to use "what am I missing?" for the same purpose.

------
maxk42
Good advice, but terrible name. It takes a special kind of asshole to write
"ten commandments" and imagine himself egoless.

~~~
bonobo
Or perhaps you're misinterpreting him. I don't think there's a need to call
the author _a special kind of asshole_ , there's nothing there implying that
he's referring to himself when saying egoless. At least the way I see it,
being egoless is a goal to the reader, not the author's self description.

------
nammi
Working with a team for the first time, I learned about #4. > Don't rewrite
code without consultation. I would get anxious that others weren't pulling
their weight and make significant changes, thinking that I was doing the team
a favor. It really came off as controlling, disrespectful, and arrogant. They
were doing their part, so I was actually creating more work for them. We later
agreed to ask each other about their respective code before making changes,
and never act before doing so.

------
NAFV_P
"Treat people who know less than you with respect, deference, and patience."
This should be applied across all aspects of life. It is a very obvious point,
if you need to be told this there is something not right.

------
oldshit
Treat people who know less than you with respect, deference, and patience.
Nontechnical people who deal with developers on a regular basis almost
universally hold the opinion that we are prima donnas at best and crybabies at
worst. Don't reinforce this stereotype with anger and impatience.

That's nice and all but don't let your boss hire multiple cheaper "developers"
and _expect_ you to train them. I've quit a job recently stating if I wanted
to be a professor I would have accepted a job as one (and I have turned down
one in the past).

~~~
eropple
Part of a healthy developer culture is teaching. If you're not comfortable in
that role, I hope you aren't applying for senior positions.

------
rf1331
Number 7 is why I like programming so much

