怠惰・短気・傲慢

「怠惰で短気で傲慢」と聞くと、周囲に気遣いの無い最悪な人物像が浮かぶのが普通だと思います。ところが、これらはプログラマーならば、伸ばすべき優れた美徳である、と言われています。

これを唱えたのは、米国人でプログラミング言語Perlの開発者として有名なプログラマーのLarry Wallさんで、有名な著書”Programming Perl”の中で次のように述べています。

We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris

Larry Wall, Programming Perl, O’Reilly Media

怠惰

例えば、日々の売上データから様々なルールで決められた数字を拾って、営業レポートを作成する、という仕事を考えてみてください。面倒な仕事を、嫌がらず毎日続けるのは「勤勉」の美徳で、一般には賞賛されるべきことでしょう。

しかし、これを「面倒くさい、やりたくない」と思うのが、プログラマー的発想です。その怠惰な気持ちが、売上データをデジタルデータとして処理し、レポートを自動作成するツールを作成するモチベーションになります。

短気

待たされるとすぐにイライラする人は、一般的には「心が狭い」と思われるでしょう。しかし、プログラマーとしては悪い資質ではありません。

ある処理に10秒かかったとして、それを「5秒にする方法はないか?」と考えるのが優れたプログラマー。たった5秒の差ですが、もしその道筋が見えていたら、改修作業に8時間必要だとしても、短くしたいと考えます。

現実には、プロジェクトの事情で妥協することもあります。しかし、動作速度に強いこだわりを持つのは、優れたプログラマーの特質と言えます。

傲慢

ここで言う傲慢は、威張り散らすということではなく、どちらかというと「自信過剰」という意味です。つまり、「私の書いたプログラムは、他の人の書いたものよりも美しくて効率的だ」と思えるほど、こだわりを持ってプログラムを書くということです。

ソフトウェアの業界用語で「リファクタリング」という言葉があります。これは、プログラムの外見上の動作を変えずに、内部の整理や簡素化などによって改善することです。

リファクタリングを行っても、利用者にとっては何のメリットもありません。しかし、リファクタリングを行うことで、コードが読みやすくなり、隠れた不具合や機能低下を抑制するとともに、後の改修や機能追加が行いやすくなります。

優れたプログラマーはコードのスタイルや美しさにこだわりを持っており、リファクタリングにも積極的で、チームでソースコードを共有した際にも理解が早まり、生産性向上に大きく寄与します。

何事にも通じる3つの美徳(?)

3つの美徳は、プログラマーに限らず、様々な仕事でデジタル化、生産性向上を進めることにも通じると思っています。

  • 単調なルーチンワークを減らす方法を考える(怠惰)
  • 会議や報告、意思決定が早くなる方法を考える(短気)
  • ベストプラクティスを共有する方法を考える(傲慢)

一見ネガティブな言葉が、見方を変えると美徳になり得るところが面白かったため、紹介させて頂きました。

なお、これらを接客や家庭生活、プライベートな人間関係に適用することはお勧め出来ないことを申し添えておきます。

最後までお付き合い頂き、ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

前の記事

AWS Cloud Quest