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

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

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

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

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

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

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


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

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


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


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


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

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

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

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

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


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

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

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


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

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

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