プログラマと言う括り方の限界と雑感

SIer と言う業界がどのようなものなのか実はあまりよく知らなかったりするのですが,プログラマ論とかプログラミング論になると,反対意見としてしばしば「SIer の観点から見た意見」を目にします.

結局、私が信じてきた本などの情報は主に外国の著者のものであり、当然日本のSI業界の考え方とはまったく異なる価値観で書かれていても不思議ではありません。実際、欧米ではユーザー企業が直接PGを雇って主体的にシステムを開発するのが普通と伺っています。そうであれば、当然作ったプログラムやシステムを資産として長いこと活用したり再利用したりしたいという発想になるのは自然です。オブジェクト指向SOAなど、粒度は異なりますが、さまざまな再利用の手法が考えられてきたのはそういう背景があるのだと思います。

一方、日本のSIerの考え方では基本的に契約したシステムの機能を期限内に実装できれば良いというのが基本的な考え方です。再利用性などはユーザー企業側のメリットですが、多くの場合ユーザー企業は丸投げ状態でシステムの中身は理解できませんから、コピペが蔓延し、単体試験不能なコードであっても、一度試験し、納品できてしまえば良いというところがあります。実際は顧客のビジネスは変化しますし、要件が変わらないということはないはずなのですが、そこは「有能な」PMの政治力によっていかに顧客のわがままを抑えてやりやすい方向にコントロールするかというところが最重要となります。逆にソースの綺麗さや保守性といった職人PGのスキルが活かされるところは重要視されません。

高い品質のプログラムを作らなくてはならないと考えている職人PGの考えは間違っていた? - 達人プログラマーを目指して

プログラマ論などについては,コンピュータやソフトウェアなどがあらゆる分野で深い関係を持ってきているので,「プログラマ」と言う括り方が既に一括りにするには大きすぎるようになってしまった,と言う面があるようには感じます.

一方、記事中で、ITゼネコン(SIer)の凋落と、ネット関連企業を並べているのには違和感を感じた。後者は今まさに激しい勝負の真っ最中であって、勝者しか生き残らないような戦いをしている。そこに優秀なエンジニアが必要なのはもちろんだろうけど、少々次元の違う話だろう。

名称未設定 : 「ITエンジニア 生き残りの条件」について

Web 上で見かける記事の特徴として,「Web サービス,Web アプリなど Web 上での開発に携わっているプログラマの観点から書かれたものが多い」と言うものがあります.記事を書く人だけではなく閲覧者も含めて Web 関係に携わっている人(もしくは興味のある人)の割合が高い傾向があります.この事は,例えば,はてな的プログラミング言語人気ランキング - Life like a clown の結果(JavaScript:1534, PHP:1493, Perl:1384, Ruby:1046,に対して,Java:556,C++:181,C#:84)からもその傾向を見て取れます.このため,Web 上で見かける「プログラマ論」に関する記事は「Web プログラマ論」*1である事も多く,業界規模や企業形態,文化の違いなどによって馴染まないと言うケースも出てきます.これが最も顕著に現れるのが SIer と呼ばれる業界なのかなぁと言う気はします.

蛇足

ここからは,自分の身の周りレベルで見たり聞いたりした話です.

プログラマに関しては,私が大学に入学した 2000年前後で大きく変わったと言うような雑談を何度かしたことがありました(プログラマというか「情報科に来る人」ですが).2000年前後に SE と呼ばれる職種が脚光を浴びるようになった影響で,それまでの主な動機だった「プログラミングに興味がある」,「ゲームを作ってみたいから」に加えて「流行だから」と言う動機で入って来る人が増えました.漠然とした表現ですが,所謂「普通の人」が入ってくるようになりました*2

この「普通の人」の流入で何が変わったと言うと「入ったはいいがプログラミングにさして興味がない,むしろ嫌い」と言う人の割合が増えていった事です.私の周りでも「プログラムなんてできれば1行も書きたくない」と言う(情報科の)人もぽつぽつ見かけました.

ここで終われば良いのですが,情報科と言う学科の性質もあって上記の「プログラムなんてできれば1行も書きたくない」と言う類の人がどこかの企業の SE として内定してしまうと言う事態も結構目にしました.中には,「プログラムなんて書きたくないから SE や PM になって管理する側に回ってやるぜ!」と言う類の発言をしていた人もいました.

こういう類の人は,ゲーム会社とか最前線のベンチャー企業(現在だと Web 開発関連企業が多い)のようなところに進むと言うケースはほとんどありません.どちらかというと,そういう企業には純粋にプログラミングが好きな人が進む事が多いようです.しかし,何かよく名前を聞くような企業の SE とかその系列企業でソフトウェア開発の受注をメインにやっているような企業(これが SIer?)には,上記のような発言をしている人でもそれなりの割合の人が進みました.良くも悪くも「普通の企業」と認識されているのだろうと思います.

この結果,「プログラマ論」や「プログラミング論」を書いている側は,思想・宗教上の違いや思い込み・勘違いなどはあれ「より良いプログラムを書きたい」といった漠然とした目標を共有している人達に囲まれているのに対して,上記のような有名な企業の SE 部門や SIer のような場所では「そう言うのはどうでもいい.仕事だからやっているだけであってそれ以上は考えたくもない」みたいな人達も混じっている中でゴールを目指す場所に居る,と言う違いが生まれるのだろうと言う気がします.

素人は黙っていろと言うのか!

勉強したくないでござる!勉強したくないでござる!

re: 読み替え - ls@usada’s Backyard

何らかの主張をした場合に「そう言うのは難しすぎて初心者(素人)には無理」みたいな反応をもらう事がよくあって,そのたびに「そのレベルを素人には無理」と切り捨てられたら何もできないよなぁと言う事を考えたり愚痴ったりするのですが,上記のように「素人」と言う名の「業務外で(プログラムの)勉強などしたくないでござる」と言う人達が居る中でうまくまとめてやっていくと言う苦悩は,やはりそれを経験していない人達(私含めて)には,なかなか具体的にイメージし辛いものではあります.

*1:「Web プログラマ論」と言うよりは「プログラマの理想論」くらいか.最前線で戦っている Web 系などのベンチャー企業はそれなりに質も意欲も高い少数精鋭の人材で構成されているので,新しい技法や考え方にも意欲的に取り込める素養がありますが,企業規模が大きくなってくるにつれてそうではない人材も紛れるようになりだんだんと難しくなります.

*2:ちなみに,2000年頃は情報科は最も人気のある学科の一つでしたが,現在は「下から数えた方が早い」レベルまで下落しているそうです.なので,状況はまた少し変わっていると思います.