知的な誠実さ

コードコンプリートの下巻に「プログラミングのプロたるものはこうあるべきだ論」があった。(P.437)

  • 専門家でないのに専門家のふりをしない。
  • 自分の過ちを素直に認める。
  • コンパイラの警告メッセージを出ないようにするのではなく、それを理解することに努める。
  • プログラムのコンパイルが通るかどうかを確かめるのではなく、プログラムをきちんと理解する。
  • 現状どおりの進捗を報告する。
  • 現実的なスケジュールを見積もり、経営陣がスケジュールの調整を求めてきても一歩も引かない。

ですよね、的な内容。具体例を挙げるとこんな感じだろうか?

専門家でないのに専門家のふりをしない。

×「HTML5 ね。はいはい。動画見られるよね (実装したこと無いけど)」

自分の過ちを素直に認める。

×「ライブラリのコードにバグがあったんです!」

コンパイラの警告メッセージを出ないようにするのではなく、それを理解することに努める。

×「意味不明なエラーが出るなあ。try...catch で囲っておけばいいか」

プログラムのコンパイルが通るかどうかを確かめるのではなく、プログラムをきちんと理解する。

×「< を <= にしたら動いた。ラッキー」

現状どおりの進捗を報告する。

×「90% できました!(本当は 50%)」

現実的なスケジュールを見積もり、経営陣がスケジュールの調整を求めてきても一歩も引かない。

×「仕方ない。テスト期間を減らして 20 営業日を 15 営業日にしましょう」

そうは言っても

5 つめまでは自省すれば済むことだが、最後のやつが問題。"一歩も引かない" とあるが、現実は厳しい。何故なら力関係があるから。
自分よりパワーを持つ者 (上司やクライアント) から理不尽な機能追加依頼や工数削減の依頼が来た場合、どう対処すればよいだろう?交渉力?