読者です 読者をやめる 読者になる 読者になる

ぺぷしのーげん

アプリケーションエンジニア(C#er)による雑記ブログ

エンジニア立ち居振舞い:コードを憎んで人を憎まず|個人攻撃にならないよう気を付けよう

プログラミング テクノロジー コンピューター

f:id:hazakurakeita:20161105205638j:plain

エンジニアの立ち振る舞いというお題が出たので書いてみることに。これは分かっていても自分でもやらかしてしまうことがあるので、反省の念も込めて。

 

個人攻撃は絶対しない

これは本当に気をつけた方が良いです。もちろん意識して個人攻撃する人格破綻者はそんなにいないと思いますが、結果的に相手にそう取られることは少なくありません。結果的であっても個人攻撃になってしまい、発生してしまうリスクは以下の通り複数あります。

  • チームの雰囲気が悪くなる
  • 相手が自分に対して客観的な指摘や助言ができなくなる
  • 相手の人事評価が下がる
  • 自分の人事評価が下がる
  • 自分の信頼に傷が付く

 

事例1: 動作がおかしい

自分では何もしていないのに開発製品の動作がおかしくなることはよくあります。また、納品直後の動作確認で正常に動作しないこともあります。このとき、自分は何もしてないことから、担当した人や納品しら人が何かミスをしたに違いないと直感することはよくあります。このとき次のように報告するのはあまり良くないです。

「本日Aさんから納品があったのですが、全然動きません」


これだと報告を受けた人はAさんがミスを犯したと認識する可能性があります。確かにAさんのミスである可能性は高いのですが、自分のミスである可能性を排除してAさんという個人名を出すのは危険です。結果的に、

  • 自分の操作手順が誤っていた
  • 古いバージョンで動作確認していた

なんてことは意外とあります。後者であった場合は目も当てられませんが、本当にこういうことって無視できない確率でおきます。上司がAさんに抗議までしていると、本当に巨大なブーメランが自分に返ってきます。このため、こういったケースは次のように報告します。

「本日納品された製品ですが、動作確認がまだできません。Aさんにサポートしてもらいます」


あくまで動作確認できないという客観的な事実だけ伝えます。そして自分のミスの可能性も含みを持たせておきます。

 

事例2: プログラミングスキルの欠如

ソフトウェア開発は建設業のピラミッド構造と同じと言われますが、そんな簡単な話ではありません。建設現場でスキル不足は目に見えて現れやすい傾向がありますが、ソフトウェア開発では可視化されないことが多々あるからです。

「いやーあの人は仕事が本当に早いね!バグも少ないし!」


なんて思っていたら、ソースコードが滅茶苦茶になっているなんてケースは珍しくありません。人員が増えたり、配置転換で担当者が変わった瞬間に時限爆弾のように炸裂します。しかし、このときも本人を責めてはいけません。なぜなら、

  • コードレビューはしなかったのか?
  • クラス設計などレビューしなかったのか?

など管理者責任もあるためです。というか、管理者責任のほうが大きい。コードを恨んでも人を憎むなというのはエンジニア鉄則です。例えば職場でこんな糞コードと出会ったことがありました。

double value;

double.TryParse(str, out value);

return value;

糞です。安易に例外を回避しているだけの地雷です。しかし、コードは糞ですが、書いたエンジニアを糞呼ばわりしてはいけません。

  • なぜこういうコードにしたのか?
  • なぜこういう書き方はダメなのか?
  • ではどう書けば良いのか?

問題を見つけて教育しなければなりません。そうしなければエンジニアは製品のあちこちに糞コードをバラまきます。糞コードというのはインフルエンザウイルスみたいなものです。糞コードを量産するエンジニアは単なる保菌者なのです。適切な治療を施さなければどんどん感染が拡大します。本人も周辺の人も不幸になります。

ただし、中には何度指摘、教育しても同じ過ちを繰り返すエンジニアがいるかもしれません。そうなって初めて糞エンジニアと呼べるのではないでしょうか。薬を処方したのに途中で服用を止めて耐性菌を生み出す人間と同じです。

 

というわけで、何か問題が起きても客観的にどのような問題が起きているかを報告するだけで、個人攻撃にならないように細心の注意を払っています。上の糞コードを上司に報告する際も一切担当者の名前を出しませんでした。報告を受ける側も基本的に名前は聞かないようにしてください。今後このようなコードを生み出さないためにマネジメントをどう改善し、予防するかを考えてください。まあ、僕は結局「これ誰が書いたの?」って聞かれて答えざるを得ない状況になってしまいましたがねwww

 

おしまい。