悪いプログラマはなぜ作られるのか?

きむら(K)さん経由!

What makes a bad programmer? I work with about 30 developers and everyone has
strengths and weaknesses, but I can't say that any of them fall into that "bad"
programmer category. So what really makes a bad programmer?

404 Not Found

何が悪いプログラマを作るんだろうね、というお話。
皆に長所と短所があって、そのどれが悪いプログラマをカテゴライズするためのもの、
ということができないですよ、と。
で、じゃ、何が悪いプログラマを作るんでしょうね?

それによる幾つかの定義。

  • プログラミングに対して情熱的ではない
  • 詳細に注意を向けない
  • ユーザーが何を望んでいるのか理解したくないか、興味がありません
  • 問題解決をするためのスキルを持っていません
  • 自分自身で学習する方法を知りません

エトセトラ、エトセトラ。

  • 学習意欲や向上意欲がありません
  • コピペコードスタイル
  • 400行もあるメソッドをつくり、その中には複数のレベルのifが!

まさに自分自身では、
自分を評価する事が困難で、
誰も何も言ってくれないと、それが正しいと思い続けてしまうんではないかなあと。

勿論、個人でいても優れているプログラマは居るわけで、
環境が全てではないんですが、
そういう個人で凄い人は自分自身を適切な環境に置くことができていると思うんですよね。
自分自身を常に愚か者だと思っていて、
今よりももっと良いプログラムが書ける筈だと信じていて、
そのための努力を惜しまなくて、
常にもっと良い方法がないか、と探していて、
悪いよ、駄目だよという指摘には素直に頷ける。

まぁ、そのためには環境は必要ですよね、きっと。
(世界に自分一人しかプログラマがいなかったら、
 自分が最も偉大なプログラマで、最も愚かなプログラマだよね!
 そういう人もいるけどね……)

プログラマは一人で仕事をする訳ではないので、
お互いがお互いの良いところ、悪いところを指摘でき、
それを受け止める必要がありますよね、と。
そこは強く思います。
学習意欲ばっかりは、やれといってやれるもんじゃないので、
やっぱり、プログラマは才能が不可欠だと思う。
うまくプログラムを書く才能とか、はやくプログラムを書く才能ではなくて、
きっと、努力し続けられる才能。
+怠慢たれ、短気たれ、傲慢たれ、かなぁ。


改善不可能な人は、
もう何を言っても聴かない(非を認めない、頑なに自分のスタイルを主張する)ので
駄目ですけどね。orz
あまつさえ、狂ったコードスタイルを強要するようになったり、ね……。


悪い習慣やスタイルは伝染、感染するので、
悪いプログラマと組ませる事が、悪いプログラマを生み出すのかも。
とすると、やっぱり環境と個人ですかね。
平凡な結論ですが。
良いプログラマは勝手に良い環境を求めて、改善を試みるか、移動を試みると思うので、
個人の資質という気がしないでもないですが。

良いプログラマは、
学び続けること、成長し続けなければならないことを理解しています。
あらゆる努力に最善を尽くし、
失敗を認め、その失敗から学びます。

彼らは異常にコミュニケーションに長けています。
複雑な専門用語について、みんなに説明出来るだけでなく、
クライアントに最良の選択肢であることを確実にするために
自分の考えに疑問を投げかけるようにします。

最も良いプログラマは、
それをするのに一つ以上の方法があった場合、
あらゆる問題を常に一つの方法で片付けるのではなく
より良い方法が常にある筈だと考え、
常に新しいやり方や技術を理解しようと学び、
それを受け入れます。

良いプログラマは、プログラムをすることを好み、
既に週80時間以上プログラムをして過ごしていても、
余暇にさえプログラムをするでしょう。

良いプログラマは、自分自身を偉大なプログラマではないと知っています。
それは存在せず、(自己評価ではなく)誰かが素晴らしいと主張する、
または素晴らしくないと主張するというだけのことです。

かな。
訳が怪しい。(^o^)