ソフト屋は残業がお好き



 僕はソフト業界で仕事をしている。いわゆるプログラマってやつである。「プログラマって大変でしょ?」てなことを良く言われたりする。どうやらプログラマという職業は残業が多くて当たり前、というふうに思われているらしい。実状はどうかというと他の職業と比較すると残業している頻度が高いのは事実。ソフト業界における「残業する理由」というのは大きく分けて以下のようになると思う。

  1. 残業が好き
  2. 仕事が遅い
  3. トラブル
  4. 仕事量が多すぎる
  5. 残業が評価される

で、なぜプログラマは残業が多いのかを僕なりに考察してみた。プログラマという職業は本当に残業多くて当たり前なのだろうか。

(1)残業が好き (プログラマは残業がお好き)

 信じられないかもしれないが(1)な人は実在するのである(それも少ない数ではない!)。注意していただきたいのは、ここでいう「残業が好き」というのは「残業が好きで好きでたまらない」という人のことでは無い(さすがにそういう人はあまりいない。が0ではない!)。ここでいっているのは「残業していることを自慢したい」人たちのことなのである。例えば(頭を掻きながら)「いや〜今月100時間も残業しちゃった〜」とか「忙しくて参っちゃうよ〜」とかいうセリフをうれしそ〜に吐く人達のことです(ほら、心当たりあるでしょ)。この人達の多くは「残業する=俺は頑張っているぜ」という非常に単純な法則を信じている。まあ何をどう信じようとご自由にどうぞ、ということで良いのだが、困っちゃうのがそれを誰かに言いたくて仕方がないということである。頑張っている(と本人が勝手に思っている)ことを人に認めてもらいたいのか、同情して欲しいのか、僕にはその欲求が全然ないので皆目検討も付かないのであるが、とにかく残業していることを自慢しまくる。

 自慢話っていうのは大抵の場合何の役にも立たない、聞く価値の無い物であることがほとんどである。でも話している人は非常に気分が良いらしい。それはその人の顔を見てるとわかる。「俺はこんなにつらい目にあってるんだ、どうだすごいだろう」てな感じである。そういう話は非常につまんないし、どう反応して良いかもわからない。これが非常に困る。で、とりあえず言えるのはこの手の人は「そんなに仕事ができるって訳じゃない」という事実である。いろいろな人を見てきたが、これはほぼ間違いない。

(2)仕事が遅い (仕事が遅れる本当の理由)

 単純に考えればわかるのだが、優秀な人は仕事が早くできるはずである。では(1)な人はなぜ残業しなければならないのか、となるとそれはその人が「仕事が遅い」からある。はっきり言えば能力不足、つまり「バカ」だから遅いのである(あ〜言っちゃったよ・・・)。僕にはその人達が「わたしはバカで〜す!」と自ら名乗り出ているようにしか見えないのである。そんなかわいそうな人達。もうおわかりだとは思うが(1)な人と(2)な人はほぼ一致するのである。

残業自慢をする人 = 仕事が遅い(バカ)

これがソフト業界にいて発見した法則である。

(3)トラブル (緊急事態は如何にして発生するか?)

 で(3)なのであるが、これは仕事上の緊急事態だと思っていただければいい。納期の日を間違えてただとか(マジであるんだよ、こんなのが!)、設計がまずくて一からやり直しだとか、通常起こり得ない事態を指す。こういう事態に陥ったプロジェクトのことを業界では「プロジェクトが火を吹く」と表現する。プロジェクトがその仕事量に耐えきれなくてパンクしちゃうことを言う。こうなるともうダメ(笑)。 もうお気付きかとは思いますが、「火を吹いた」プロジェクトには必ず(2)がいる。「失敗プロジェクトの陰には必ずバカがいる」という法則です。仕事の遅れ始めると単純に残業時間を増やして対応しようとする人、これが危険人物。仕事の速度を上げれば良いのに、だらだらと残業時間ばかり増やしていく。当然そんなことを繰り返していたらどこかの時点で「火を吹く」わけです。どんな優秀なチームでもこんな人がいたら一溜まりもありません。そこで(4)の誕生と相成ります。

(4)仕事量が多すぎる (正直者はバカを見る)

 人間なんだから能力差がでてくるのは当たり前である。僕はこれはこれでどうでも良いと思っている。能力が無い人は人一倍頑張れば良い。それでもダメならば仕事を変えるべきだ。プログラマという仕事に向いていないからといってその人のことを差別するつもりは毛頭ない。ソフト業界における最大の問題点は実際にプログラムを作っている人にあるのではない。

残業している > 大変だなあ > この人は頑張っている > 評価される

 能力が無い人は淘汰されていかなければならない。残酷かもしれないがそれが社会ってものである。逆に能力がある人はどんどん評価されていかなければならない。この自然な流れが機能しないところはなんの成長も見られないだろう。しかし今のソフト業界ではこんなでたらめなことがまかり通っているのだ。この業界ではほぼ100%上記の法則が適用されているといっても過言ではない。能力がある人は頑張っているように見えない、能力が無い人は頑張っているように見える。はっきり言って最低な業界標準である。

残業 = 自分の能力では時間内に終わらなかったので残って仕事をすること

つまり

残業 = 恥ずかしい行為

なんじゃないんですかねえ〜

 こんな状況に不満を抱いて転職する人を本当に数多く見てきました。こんな事が繰り返されていくと、どんな人たちが会社に居座っているかはもうおわかりだと思います。「自分は頑張っているから評価されている」と思っている人たちです。関係ないんですが(2)な人が自分の能力を勘違いして「もっと良いところに就職してやる」なんて野望を持っちゃう場合もある。これはこれで「ご苦労さん」とでも言うしかない・・・こんな状況では当然仕事の品質が落ちてくる。なのにそれに全然気付かない人たち。

残業時間とそのソフトの品質は反比例する

 誰が考えたかしらないけれどソフト業界には「バージョンアップ」なる便利な言葉が用意されている。作ったソフトに何らかの欠陥が合った場合、「バージョンアップ」という名目であとから欠陥を修正するということが当然のように行われている。よくよく考えるとこれは「欠陥のあるもの」を商品として世に出していたってことに他ならない。こんな無責任なことが平然と行われているのはおそらくソフト業界だけでなんじゃないでしょうか?。自分でこの業界に居ながらもこれにはどうしても納得がいかない。

総論(何が言いたいのかというと・・・)

ある上司にこんなことを言われたことがある。

「最近マシン性能は上がってきているが、昔と比べて開発効率が上がったとは思えない」

 おそらくこの上司が言っている昔とは自分が開発をしていた頃(DOSよりもさらに前)のプログラム開発のことをだと思われる。だいたいそんな物と今のプログラミングを比較されちゃたまらないのだ。たった数年前と比較してもプログラム開発のスタイルは激変しているのだ。今のマシンで当時のプログラムを作ったらめちゃめちゃ速く作れるんだよ、全く。

こんなこともあった。開発用マシンがどうしても足りなくて購入申請を出したときに

「昔は10人で一台のマシンを使って開発していた。デバッグは机上でやったもんだ」

 なに言ってんの?って感じ(笑)。予算がきついのかもしれないけれど、現状のプログラム開発を全くわかっていないとしか思えない。マシンパワーは今や開発効率にもろに影響してくる。そのことを全く認識していないのだ。昔からずっとプログラム開発をやっているということは、その経験が役に立つことがあったとしてもそれは現状の仕事の能力とはあまり関係がないのだ。経験を積むということは大事だが、それ以上に現状の把握ということの方がより重要なのである。(CP/Mの知識が今のプログラミングでどのくらい役に立つだろうか?)この業界はその変化があまりにも速くて付いていけない人がどんどん出てくる。そういう人の事を「ソフト難民」と呼ぶことにしよう(笑)。 まだある。昔の人は仕事の量をステップ数(プログラム開発で記述した命令の数)で計りたがる。はっきりいって(昔はどうだったか知らないが)プログラム開発におけるステップ数と作業量にはあまり関係が無い。今のプログラム開発ツールは命令のかなりの部分を自動的に生成してくれる。たった一つの命令で実現できる機能をいくつもいくつも命令を組み合わせて実現した場合に後者の方が作業量が多いと判断される。つまり下手くそで訳の分からない長い長いプログラムの方が評価されてしまうのだ。本当は、いかに少ない命令で高速に目的の機能を実現したかという事が重要なはずである。ステップ数というのは評価しやすい指標かもしれないがこんなことで技術者の組んだプログラムが評価されたらたまったものではない。僕はここではっきりと「仕事の量をステップ数で計る」ような人を差別すると宣言する。(そんならプログラムコードを印刷した紙の重量を計って、それで給料を決めりゃいいんだ!)

「力」ではなく「技術」を評価して欲しいのだ。

 ここに書いた内容はソフト業界の方なら「何を今さら・・・」と思われるかもしれない(そう思わない人がいるから問題なのだが)。はっきりさせておくが僕は誰か個人、もしくは特定の会社の誹謗中傷を目的としているわけではない。また僕がすごいプログラマで周りにいる人が「バカ」であるということを言いたいのでもない。もちろん僕をもっと評価しろということでもない(まだ修行中の身です)。要は、おなじ業界人としてソフト業界に昔ながらの体質が根強く残っているということを嘆いているのである。

能力のある人達が評価されていないという事が頭に来るんだよ!

 ソフト開発で最も重視すべきなのはその「品質」なんじゃないの?(僕が経営してるんじゃないからどうでもいいんだけどさ)。ソフト業界ってこれからもっと重要な産業になってくると思うんだけどこんなことで大丈夫なのだろうか?僕は知ーらないっと。 残業して、急いで作って、欠陥がありそうでもとりあえずそれを売って、なんていうのは

Too Much Monkey Business!

だろ、正にこれ・・・

P.S

 こんな腐った業界のなかでも上記のようなどうしようもない人ばかりという訳ではない。入社1〜2年目のプログラマとして駆け出しの人の中には本当に努力している人がいる。無理解な上司から無理難題を押しつけられようとも、残業を強いられようとも、なんとか一人前になろうと日々頑張っている人が確実に存在するのだ。僕もこの業界に入った最初の頃は「足手まといにならないように」とか「早くみんなの役に立つような存在にならなければ」という思いで、ただがむしゃらに残業をした記憶がある。「半人前なんだから人の倍やって丁度だ」というのが口癖だったような気がする。なので、今そんなふうに頑張っている人を見ると心から応援したくなる。くたくたに疲れている姿を見ると、なんともいたたまれない気持ちになってしまう。こういう人たちは残業が好きなわけでも、評価されたいと思っているわけでもない。ただ単に「今の自分に満足できない」という健全な思考から始まっているだけのことである。(なんでこういう姿勢を評価しないんだ!)僕の知る限りこういう人たちは「残業を自慢する」なんて恥ずかしいことはしない。このページを見ているそんな人たちに、是非とも頑張ってもらいたい。負けるな!!僕にできるのはそんな人たちを可能な限りサポートすることだけなのだから。

自分を成長させようと、もがいている人が好きなのだ。

 すべてにおいてそうなのだが、自分をより良くしようと努力しなければ何の成長も、得る物はないはずである。今の自分の状況に満足してしまい、何の努力もしなくなった時点でその人の(少なくともその分野での)人生は終わったも同然である。

そんな人に用はない。