単価が安いと何故か忙しい症候群

自意識過剰ですね

結構前*1に、どうも弊社の社員にバレた気がする、ということで、しばらく様子見していました。
ゲームの話とか書いてみて探りを入れましたが、なんでそこまでして探りを入れているんだ、という自分を冷静に見つめて、ちょっと恥ずかしくなってきました。
自意識過剰ってやつですね。

と言うことで、またちょくちょく書いていこうと思います。

関西の仕事の単価の話

と言うことで、新年早々お金の話をしようと思います。

SIerから依頼を受ける請負開発会社として、色々と相場を見てきましたが、大体以下のような分布図で単価が決まっています。

プログラマ:45万円 〜 80万円 / 月
システムエンジニア:60万円 〜 110万円 / 月
コンサル:75万円 〜 120万円 〜 青天井 (私がご一緒して、単価を知っている人の中で最高額は月額750万円)

大体こんな感じですかね。
新人とか高齢なくせに仕事ができないとかそういう人とか二次請けとかだともう下限を下回ることもありそうですが、ボリュームゾーンとしてはこの辺でしょうか。

で、今回の話の主題は、「安い単価の仕事ほど忙しくなる」という話です。

安いプログラマの敵は誰か?

多分いちばん仕事が想像しやすいのはプログラマだと思うので、ここに焦点を当てて記事を書いてみましょう。

プログラマとして、仕事ができる人ボーダーは65万〜70万くらいだと思ってます。
この境界を超えた人は「SEの視点を持てるプログラマ」だとか「業務知識はある程度ある」とか、「開発チーム全体の取りまとめもついでにやってね」みたいに、ただただプログラムを組む人としては期待されていないことが多いです。感覚的に。
それだけ聞くと、「じゃあ高い単価の方がプログラミング以外をやらなきゃいけないから忙しいじゃん」って話になるのですが、じゃあそれより安い単価のプログラマって何が求められるの? と言うのがこの話のキモです。

例えば月の単価が45万のプログラマ
ただプログラムしか組めません、って人はこのラインの金額で提案するのですが、「ただプログラムしか組めない人」って言うと、オフショアと同じなんですね。
もちろん一概には言えませんけれど、中国へのオフショアであれば35万程度。インドだと30万くらいかな? というラインだったと記憶します。
言うまでも無いのですが、単価が安いプログラマの競争相手は海外にいるということですね。
「プログラム組むだけだったらインドに頼むより1.5倍高くかかるんだけど、それに見合った価値を出してくれるの?」って感じ。

もちろん、オフショアでは品質は低いですし、日本人が(悪い意味で)得意とする「空気を読んだ実装」ができません。
ですが、ここで、「高品質なソースコードを書きます」とか「雑な要件しか考えられない、朝令暮改が得意なお客様のような要件の決め方でやるならば海外と密に連携を取らなければなりません」とかそういう話で相手が納得してくれる、菩薩のような顧客*2ならまだしも、そんなものは少なくとも日本では消費税よりも低い割合でしか存在していません。

だからプログラムしかできない日本人が仕事を取るには、「保守まで含めて安価で済ませます」とか「保守引継が容易な成果物を出します」とか「日本人同士のコミュニケーションになるので、よりスピード感のある開発ができます!」とか、そういう搦め手が必要になります。
つまり、低単価のプログラマに求められるのは、海外に依頼する時よりも設計の工数が減らせる(=雑な設計で通せる)ことが重要になるんですね。
(ちなみに英語ができるシステムエンジニアって、それだけで30%増しくらいで請求できる)

で、当たり前ですが、そういう現場は必然的に、工数が少ない現場なんですよ。
ということは、それを吸収するために、単価が低いプログラマは日夜残業を繰り返し、設計者に対して毎日のように質問して、それで無理矢理納期に間に合わせる仕事をすることになります。
そうですね、おかしいんですよ。
海外のオフショアと戦おうとした結果プログラムしか組めないから安価で提案しているのに、回される仕事には設計技術を必要とするものしかこない状態になってしまうんです。

単価が高いプログラマの場合は、競争相手が「海外のプログラマ」から「国内の(安価な)システムエンジニア」になるので、彼らと戦う方が難易度が低いので、残業時間はそれほどひどいことにはならないんですけど。

単価が安い管理者をしていました

過去PGチームのリーダーを何度か経験したのですが、その中で一番戦慄したのは、私が3.5人月、300万〜350万の見積提示したものをPMが蹴って、PMが他の会社に200万で発注したプロジェクトでしょうか。
案の定その会社のスキルレベルは推して知るべしだったのですが、いやぁ、酷かったもんですよ。
そこに発注したPMはその会社の社長よりも偉そうに「なんで間に合わないんだ」とか「もっと安くなるはずだったんじゃないか」とか私の横でブチ切れかますし、そうやって恫喝に近いレベルで安価にしてる仕事だからヘルプで来る技術者も片っ端から新人レベルなわけで余計に時間がかかるし。
結局、彼らは土日も出続けて、予定通り1ヶ月(+こちらの受入が2週間)で終わらせましたよ。追加仕様は無く、大量の「不具合」だったので受入時の不具合対応は無料、つまり総額は当初通り200万円で済みましたが。
実作業工数で言えば4.5人月くらいの工数かかってたんじゃないですかね。
当然あの会社はこのプロジェクト単体で言えば真っ赤でしょう。
それでもあのふんぞり返っているPMにつかないと、きっとオフショアに仕事飛ばされるんでしょうね。
いずれにせよ、私としても苦痛なプロジェクトでした。
結局、私のPGチームリーダーとしての発言力がもとしっかりあれば、こんな事にならなかったんじゃないかなぁ、と思わなくもないですし。

そんなこんなで、一時期「管理の仕事をちゃんと勉強して、残業が多いプロジェクトばかりなのをなんとかしたい」とか考えてPMPの勉強とかPMBOKとか勉強していたのですけれど、こういうゴミみたいなPMの下につくと何をやってもマトモな管理なんてできないんですよね。
単価が低い技術者は当然おしなべてスキルも低いわけで、その人達を無理矢理まとめ上げて指定された期間で達成させるには、その中で10%程度いる仕事ができる人の稼働を上げるしか方法がないんですよね……
つまり、金額が決まってしまった後では、どんなに管理を頑張って毎日パズルを組んでも、誰も幸せにならない結果にしかならず、なんだこの賽の河原地獄は、と思っていました。

単価を釣り上げよう

で、この話の着地点ですが。
「仕事って大変だよ」とか「PMやユーザが全部悪いんだよ」とか言うのは簡単なのですよ。
技術力をつけろ、とかもまぁその通りで、技術力をつければ過度な残業はしなくて済む可能性は上がります。
ただ、前項に書いたとおり、技術力があるだけでは、「炎上プロジェクトのファイアーマン」として月間300時間とか働かされることだってあるんです。

この解決方法ってなんだろう、と言うと、もう、「相場を知って、単価を釣り上げる」ことが最優先なのかな、と最近は思ってます。
たとえば、私の場合、「プログラム開発の依頼」の場合は70万からスタートして、それを下回る場合は先に会社に「残業の瑕疵責任について取り決めるか、それができないなら私は降ります」的なことを言うようにしています。
「今は安い単価だけど次に繋げるから」とか言われることがあるんですけれど、次に繋げるって言うのは次も安い単価で叩かれる可能性もあるってことを理解した上で話し合わなければならないでしょう。

技術者なんだからお金の話をしたくない、と言うのはとても良くわかるんです。
誰か分かる人が気付いてくれれば良い、と言うのも分かるんです。
「技術がわかる人が認めてくれれば」と言う仙人のような人たちは実際にファイアーマンとして日夜炎上案件をズバ抜けた技術力でリカバリかけてくれていますし、そういう方たちには私もとてもお世話になってきました。
でも、そういう人たちの善意により掛からなければ成り立たない仕事なんて認めちゃダメでしょう。

と言うことで、もしも業務系の開発の仕事をしていたらですね。
ぜひとも「SEですか? じゃあ90万円くらいでどうでしょう?」って感じでふっかけて見て欲しいです。はい。

*1:一年以上前

*2:大体こういう菩薩のような顧客はちゃんと要件定義してくれるので逆説的にオフショアでもまかなえるんですけど