プログラマの三大美徳ってしってますか?
私はその3つが何かというのは知っていましたが、そのほんとうの意味を去年知りました。笑い話的なものだと思っていたのでなぜかという理由を知らなかったんです。
プログラマの三大美徳って?
これはLarry Wall氏が提唱したものだそうです。ある記事ではここまで書いてました。
この美徳の一つでも欠く人は、プログラマーという職業に就いてしまった人は、今すぐ転職を考えましょう。 それくらい重要な美徳です。
- 怠慢(Laziness)
- 短気(Impatience)
- 傲慢(Hubris)
あまりよくない印象の言葉ばかり並んでいます。だから笑い話だと思っていました。ただこの本意を知ると納得できる部分ばかりであるとともに、プログラマに関わらず必須な美徳かなと思います。では一つずつ自分なりの和訳を書いていきます。
怠慢(Laziness)
The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don’t have to answer so many questions about it.
例えばルーティン作業に対して「めんどうだ」と思い、全体の労力の削減のためにカイゼン(省力化のプログラムを書くなど)を計れる人でなければならない。その他にもプログラムの仕様をなんども説明することを「めんどうだ」と思い、文書化を進められる人でないとならない。
短気(Impatience)
The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to.
プログラムの動作が遅い、動作に問題があるなどに対して「イラっ」と感じ、よりいい動作になるよう改修できる人でなければならない。また、このような状況に陥らないように柔軟性・汎用性をもたせたプログラムにするように仕様を構築できる人でなければならない。
傲慢(Hubris)
The quality that makes you write (and maintain) programs that other people won’t want to say bad things about.
高いプライドを持つことでユーザーに文句を言わせないほど完璧なプログラムをかけるようになる。よって高いプライドを持った人でなければならない。
まとめ
世間でよく必要だと言われるPDCAって大体こういった面倒と感じるところ、イラッと感じるところなどから発生していきますよね。怠慢さから、仕事の効率化が生まれ、傲慢さから高レベルのサービスが生まれるのではないかと思いました。この美徳を知った今、今までの仕事ぶりを振り返ってちゃんと、自分はこの美徳持って仕事をしてきたかな?と胸に手を当てて考えて、仕事についてはよりこの美徳に当てはまる人間にならないと思った次第です。
プログラマじゃない方も一度振り返って見てはどうでしょう?