自分が仕事して、顧客にサービスなどを提供する。
サービスでなくても、なんらかの成果でも同じですが。
その時には、顧客が自分に対して、いくら対価を支払っているのか。
それを考えるべきだと思います。
なぜ、こんな話をしているのかというと。
私はSEとして、顧客のシステムを開発しています。
その時には当然チームを作ります。
いろんな人が集まるんですが、このような意識がない人もたまにいます。
そういう人を見ると、自分の単価をわかっているのかなって不思議に思うことがあります。
単価に見合う仕事をする
これは本当に当然のことだと思います。
顧客が払っている対価に値する仕事をする。
これはもう、商売する上で基本ですよね。
ジュース一本そうだと思います。
130円を支払って購入する。
飲んで美味しい。130円の価値がある。
もしその価値がなければ誰も買いません。
美味しい湧き水が出ている隣に100円で水が売っていても買わないもんね。
でも、街中で喉が渇いている。
そうすると、水でも100円の対価が出てくる。
だから買う。
プロジェクトマネージャーも同様
仕事はみんなそうだと思います。
この対価を払うから、それに応じた仕事をする。
私たちSEの仕事って、目に見えにくい作業もあります。
プロジェクトマネージャーなんてのもその一つ。
仕様を顧客と調整する。
顧客の予算にあったシステムを提案する。
チームを作り、スケジュールを組む。
日々進捗が遅れてないか、問題がないかを確認する。
問題が起これば、解決するための手段を講ずる。
出来上がったシステムについて、テストを実施し、品質を上げる。
そして、顧客に納品する。
チームとしては、プロジェクトマネージャーがいて、プログラマーがいてる。
また、テスト工程になれば、テストのためのチェックリストを作成し、テスト作業を行い、不良を見つけ、そして修正する。
プロジェクトマネージャーは、そういった作業が滞りなく進んでいるかを監視する。
はたから見ると、プロジェクトマネージャーって楽だなって思われたりするんでしょうか。
もちろん障害が起こった時には、大変な役割となりますが、うまくいっているプロジェクトだと、楽でいいなって思われてるんでしょうかね。
プロジェクトマネージャーとしてのスキルは、プログラマーよりは上とされています。
スーパープログラマーを除けば、プロジェクトマネージャーとか、システムコンサルタントなどは上位の職種となります。
スーパープログラマーなんて、本当に一部だけですからね。
プロジェクトマネージャーの単価
では、そういったプロジェクトマネージャーの対価ってどうなんでしょうか。
うまくいって当たり前。
失敗したらプロジェクとマネージャーのせい。
結構きついですよ。
プレッシャーとか。
もしプロジェクトマネージャーがいなかったら。
これはそもそもプロジェクトとして成り立ちません。
というか、船員が四方八方に向かってオールを漕いでいる船と同じ。
目的地につくことはできないです
ゴールを定める。
食料のバランスを考え、計画的に消費していく。
船が故障しないように、注意する。
船が故障した場合には、スピードをなるべく落とさないように、最善の手を尽くし修繕する。
嵐などと遭遇した場合、引き返すのか、近くの港に一時的に避難するか。
もしくはリスクを背負って突き進むのか。
全てをプロジェクトマネージャーが決めます。(というか、最終責任を取ります。)
だから、役割としては非常に重要なんです。
だから、それ相応の単価が支払われます。
たまに管理業務(プロジェクトマネージャーの作業)を減らせといってくる顧客もいます。
その時には、きちんと説明します。
で、それでも理解してもらえなければ、断るしかありません。
そもそも価格で合意できないと言うことですからね。
プログラマーはどうか
では、プログラマーはどうでしょうか。
チームを作るときに、当然、システム開発に必要なスキルのある人間を集めます。
その時には、単価が関わってきます。
そりゃ、なるべく安く、その上優秀な人を集めたいと思うでしょう。
比較的若い人で、経験は浅いんですがプログラミングスキルのある人間は、たまにいます。
そういう人と巡り会うことができたら、もうそりゃラッキーというほかありません。
プログラマーとして、お金をもらって仕事をするということは、当然決められた仕様に基づいてソースコードを書いていくということになります。
もちろん正しく動くということです。
そのソースコードは、保守性に優れており、拡張に対して柔軟に対応できるように作られているべきです。
それがプログラマーのプロとしての仕事です。
どんなシステム会社でも、若い頃は、プログラマーから始めます。
コードをいっぱい書いて成長していきます。
いろんな本を読んで。
ネットでもいいんですが、調べて勉強して。
それがプロとして、当然のことです。
サンデープログラマーとプロはやはり違います。
動けばいいというものではないんですから。
自分が作ったプログラムを今度は、別の人が保守していくことになりますから。
読みづらい、拡張性のないプログラムなら、それは今後非常に大変なことになります。
最近特に思うことは
最近は、正直プロとしての自覚がないプログラマーが多くなってきているなって思うことがあります。
自分が給料ではなく、サービスを受ける側からいくら払ってもらっているのか理解しているのかと。
給料が安いとか、高いというのは、自分と会社との契約であって、顧客とは関係ないんです。
顧客はプログラマーに対して、対価を支払っていて、それを会社が受け取り、いろんなものをさしひいて社員に給料として支払っているんです。
顧客は支払っている対価に相当する作業を期待しているんです。
自分の給料が安いというのは、それは所属している企業が悪いんであって、顧客には直接は関係ありません。
そりゃ、最終的に単価も安くなっているかもしれませんが。
個人個人で、顧客が支払う単価はあまり変わりません。
もちろん、プロジェクトマネージャーとか、ある程度の段階はあります。
一律ではありません。
しかし大抵プログラマーは一律の単価が多いかな。
となると、優秀なプログラマーとそうでないプログラマーがいたら、優秀でないプログラマーは、対価に対する作業をしていないことになります。
優秀なプログラマーは、大量のソースコードを生み出し、かつ品質も良い。
生産性が高いってことです。
それにたいしてそうでないプログラマーは、生産性が低い。
でも、顧客は同じ単価を払ってる。
これはどう考えても不公平です。
差があるのは当たり前
差があるのは仕方ないことです。
できる人とできない人がいて当たり前ですから。
私が言いたいのは、努力をするということです。
自分の単価に合うように、努力する。
それが大切だと思います。
誰でも新人の時はあるんだから。
苦手なこともあるだろうし。
最初は誰にだってあるんだから。
だから、努力する。
最近努力しないプログラマーが多いってことを正直残念に思っています。