株式会社 社会式株 プログラマの心得

Top - プログラマの心得

PHPコーディング規約を多くの人が読んでくれたようで、何より。 今度はプログラマの心得というお題で書いてみようと思う。

駄目プログラマ

この文書を読んでいる人は、駄目プログラマの存在を確認した事があると思う。
駄目プログラマや、駄目プロジェクト、駄目会社、それらに共通する要素を明らかにしたいと思う。
逆にそれらの要素を避ける事で、優秀なプログラマ・優れた組織に変化するはずだ。

ほとんどの場合、彼らや彼の組織は、決して努力していないわけではない。
(もちろん、本当の怠け者や悪意のある詐欺師も存在しているが。。)
いや、むしろ努力しているのだ。 ただ、残念な事にそれらが結果に結びつかないのだ。
それは何故か。

コップの話し

私の好きな話にコップの話しがある。
コップは水を入れるオブジェクトだが、どこまで水が入るのか、ご存知だろうか。
そう、もちろんコップのフチまでだ。ただし、割れていなければの話だが。

割れていれば、割れ目までしか水は入らない。
10mものデカイコップがあったとしても、底から10cmでヒビが入っていれば、10cmまでしか入らない。

そして重要な事だが、割れた部分を塞がない限り、コップのフチをどんなに高くしてもヤッパリ入る水の量は変わらない。

SQLを書けば5分で終わる仕事があるとしよう。
残念ながら、SQLをまともに書けないために、1日を費やすプログラマがいる。しかも遅い。

後でパフォーマンスチューニングをする事になり、そのコードは全て破棄される。
彼に必要なのは、何か?もちろんSQLの知識だ。
彼にオブジェクト指向だの関数プログラミングだのを教えても問題は解決しない。

つまり、

私の見る限り、高度な知識や経験の無さではなく、簡単な事を知らないために失敗するプロジェクトがほとんどだ
そして、無能な技術者のほとんどが高度な事ではなく、簡単な事を知らないために、そこに踏みとどまっている。

実はPHPコーディング規約の本質はここにある。
PHPでいろいろやるのは結構だが、その時間をもっと有意義なものに投資する事が出来るはずだ。

PEARを使わないことによって、プロジェクトが致命的なダメージを受けることはない。

しかし、技術者のSQLの知識不足により、プロジェクトは大きなダメージを受ける可能性がある。

そしてどんな優秀に見える技術者でも割れ目はある。
ただ、彼個人の割れ目が組織の割れ目ではないため目立たない。

人生は短く、技術者に与えられた時間は有限だ。

さて、あなたのコップの割れ目はどこだろうか?

Valid HTML 4.0 Strict

株式会社 社会式株