
Chilling the Messenger – Keeping ego out of software-design review - steve371
http://queue.acm.org/detail.cfm?id=2962575
======
ascotan
I've run up against this time and time again. Here's what you need to do:

1\. Realize that bad code < interpersonal relations.

You have to realize that even if you win, you can loose. Turning something
into an argument (ESPECIALLY when you know you are right) can end up creating
animosity and division in the team. Realize that most managers will refuse to
do anything about technical arguments. They hear:

"blah blah blah blah. Your wrong" "blah blah blah blah. No your wrong."

Which (in their mind) translates into "These two can't get along". There is
NOTHING worse in the mind of a manger than two SE's that bicker over what they
see is a 'trivial' argument.

Your always going to have that 'special' engineer that you simply can't stand
at your job. However, when that guy puts forth a terrible idea, let him/her
sink or swim on it. You can put forth your own idea, however, if you get shot
down, let him/her (and the manager) own the results.

A manager that sees that you can accept something without argument, even when
you disagree, is worth more to him/her than the 'right' technical solution.

2\. Working code > 10x meetings.

When ever you have technical differences - write working code to show the
solution! Meetings with managers over technical problems never work because
managers frequently don't understand the merits of what is being discussed.
The entire point of these meetings is to see if you + other can resolve your
differences.

Forget the talk sessions. Write up a working example and then show it off.
Frequently managers don't understand the technical implications of something,
but they DO understand that working code, gets them to delivery faster. Make
the case, that your solutions is faster + easier.

