プログラマーの誇りはお金とは無縁でなければならない

 プログラマーはお金とは無縁の存在です。 プログラミングに誇りを持ちたいなら単価を上げること - yvsu pron. yasには全く賛成できません。

 なぜなら「プログラム」は本質的に経済的価値を持っているわけではないので、プログラムを作る人、すなわちプログラマーは本質的に経済的価値をもつ存在ではないからです。*1

 むしろ、育成、維持に費用と時間が掛かることを考えれば存在自体が社会的コストです。


 ですから、プログラマーの誇りはお金と無関係である必要があります。


 対価とは無関係にプロダクトに対して一切の妥協をしない姿勢のみがプログラマーの誇りとなり得るでしょう。

僕はこの認識を変えたい。

だから徹底的に、スキルの差によってどれ程のパフォーマンス差が出るか示したいと思った。

プログラマーの誇りを見せ付けろ - レベルエンター山本大のブログ

 という姿勢は誇りとして十分だと思います。
 「お金いっぱいくれるから〜」って理由でやったワケではないでしょう。(たぶん)

 はれてそのパフォーマンス差が明らかになったのであれば、そのシステムが2日後には廃棄になろうと、その機能を使う業務は実は「ビジネス的にマイナス」であろうと、クライアントが十分な対価を払ってくれなかろうと、世界中の誰もが認めなかろうとそこにプログラマーの誇りはあります


 そうでなければエンジニア*2は安心してプログラマーのプロダクトを使うことはできません。

*1:アーティストと言えばわかりやすいでしょうか

*2:エンジニアはデザイナーです

エンジニアとプログラマーの違い

う思っている人は、そこそこいるかもしれないけど、だからこそ、プログラマーの地位が低いんだと断言しておこう。プログラムは本質的に価値がないって思っているのがそもそも間違い。

報酬にこだわらないとプログラマの地位は低下するよ - yvsu pron. yas

 プログラムが本質的に価値がある というが、その理由として挙げられているのが

良いプログラムは価値がある。元の山本さんの話にも出てくるけど、きちんとしたプログラムによって、システムは、サクサク動くようになり、業務上の使い道が大きく広がるのです。

報酬にこだわらないとプログラマの地位は低下するよ - yvsu pron. yas

 "業務の役に立つことが誇り"というのは「エンジニアの誇り」でしょう。(プログラマー≠エンジニア)


 プログラムが業務の役に立つのは、数学が金融の役に立つのと同様「幸運なる偶然」です。

 プログラムに価値があるかという問いは、数学には価値があるか?音楽には価値があるか?という問いと同等です。
 価値は確かにあります。 が、経済的な価値は本質ではありません。


 「制約の中で、どういうプログラムを作れば業務の役に立つのか」という判断が経済的な価値を持つのであって、アルゴリズムを実行形式に変換することに経済的な価値があるわけではありません。


 プロダクトの価値を意識し、報酬にこだわる事が悪いワケではなく、それを意識することはプログラマーを卒業(?)してエンジニアになろうとしているということだ、と言いたいのです。


 もしエンジニアの誇りと言うのであれば

きちんとしたプログラムによって、システムは、サクサク動くようになり、業務上の使い道が大きく広がるのです。

報酬にこだわらないとプログラマの地位は低下するよ - yvsu pron. yas

 というのでは全く持って不十分でしょう。 この一文だけでは評価のしようがありません。

 エンジニアであれば、そもそもそのシステムは必要なのか? というところが出発点でなければなりません。


 エンジニアが目指すところは「システムなしで要求を満たすこと」です。*1

 
 ユーザーはシステムが欲しいのでは無く、ビジネス上の制約を(緩和|最適化|無効化)したいだけですから、システムは(当然プログラムも)コストです。 負債です。 無いほうがいい物です。 運用保守なんてやりたくてやってるんじゃないんです。
 それを「作る」ことは基本的には「コスト」を作る事なので、作る作業に経済的な価値は無いのです。

 作らなくてよくする作業に経済的な価値があるのです。*2
 「真のプログラマーにコンピューターは要らない」とかかっこいいですけど、それはプログラマーではなく「エンジニア」と呼びたいですね。


 ということで、プログラマーの誇りと言うのであれば経済的価値以外に求めるべきでしょう。

*1:一方ソ連は鉛筆を使った って感じの

*2:限定的だが、コレがオープンソースの経済的価値だと思う