ソフトウェアの仕様書は料理のレシピに似ている

Life is beautifulソフトウェアの仕様書は料理のレシピに似ているSEはメニューのないレストランのウェイターか?を読んだ。

特に、ソフトウェアの仕様書は料理のレシピに似ているは凄い量のTBである。それだけ、共感を呼ぶ記事だったのであろう。

PG->SE->PM

日本のIT業界での出世の王道がこれである。PGはプログラマ、SEはシステムエンジニア、PMはプロジェクトマネージャの略。まぁ力いっぱい和製英語のような気がします。

PG->SE->PMはJob Changeです。完全に職種が違うし、必要とされるスキルもまったく違います。
PGの経験値があがると、SEになれるなんてのは、幻想です。完全に別の職種です。

SEという職業はレストランに例えればウェイターである。

Life is beautifulでは、SEはウェイター、PGはコックと、IT職種をレストランに例えている。コックが修行するとウェイターになれるなんて話は聞いたことが無い。同様に、PGの経験値をつんだからと言って、SEになれるわけではないと思う。

もちろんカウンターの寿司屋のように、コックとウェイターとを同じ人がやっている場合もある。カウンターの寿司屋ではお茶やアサリの味噌汁を運んでくれるウェイターが板前の見習いとして働いている場合もあるが、基本的に仕込みの段階では、板前の修業である。寿司屋の場合は、板前の修業と同時にウェイターの仕事もこなすため、「客を見る」ということを重要視して、ウェイターも見習いとしてやる。コックの修行として、ウェイターの仕事がわかるのは、その先にいる、顧客のことを理解するために重要であるからである。別にコックの経験を積むとウェイターになれるわけでもなく、逆にウェイターの経験を積んだからといってコックになれるわけではない。

挙句の果てに、PMである。PMも別の職種である。プロジェクトマネージメントなんていうのは、ぶっちゃけて言えば工数管理と進捗管理である。そんなものは、ソフトウエアとはまったく関係のない技術である。
IT業界における工数管理とか進捗管理は、それこそソフトウエアファクトリ(最近Myブームの単語)じゃないけど、開発手法とかそうゆう別のエンジニアリングというか技術であって、ソフトウエア作成の技術とは別個の技術である。SEのときの経験がPMで生かせるかなんていえば、工数見積もりをSEに聞かないで自分で見積もれるくらいのメリットしかないのではないだろうか。大体見積もりなんて、技術の進歩とともに、どんどん増えたり減ったりして変化していくものなんで、1年前の見積もり感覚が今でも使えるなんてことはぜんぜん無い。

コックもウェイターも料理のプロである。料理についての知識は必須である。どんな料理が顧客に喜ばれるのか、どんな料理がうまいのかは当然知っていなければならない。ぶっちゃけて言えば、スーパーの店員さんだって、魚屋や八百屋のおっちゃんだって、料理の素材のプロである。魚屋のおっちゃんは板前にはならない。もちろん、まったくの素人が板前になるよりも、魚屋のおっちゃんが板前になるほうが基礎知識がぜんぜん違うので、有利なのは間違いないが、ぜんぜん違う職種である。

PG->SE->PMも同様である。どれもが、コンピュータのプロであるのは間違いない。コンピュータの動きとか技術動向とかは当然知っていてしかるべきである。料理を知らないウェイターに注文をとられるコックのように、コンピュータを知らないSEのリクエストをプログラマがバカにするのは当然である。

salary.comというサイトがある。まぁ言ってしまえば、求人情報サイトである。ここの、Personal Salary Reportが面白い。
まず、Locationとして地域を選ぶ。シリコンバレーということで、California-San Joseでも選ぼう。
すると、Job Categoryが選べるようになるので、IT – Computers, Softwareを選ぶ。
最後に、Job Titleを選ぶ。ここで注目して欲しいのは、IT – Computers, Softwareを選んでいるのにもかかわらず、これだけJob Titleの選択肢があるということである。
Job Titleの選択肢の中に、Programmer IからProgrammer Vまであるのがわかると思う。それぞれを選択すると、Job DescriptionにJob Titleに対応した仕事の内容が表示される。
Programmer Iに関しては、経験0-3年。Programmer IIIでは、経験4-6年。Programmer Vに至っては、少なくとも経験8-10年である。Software Engineerでも他のタイトルでも多少の年数の差はあれど、同様に経験値によってカテゴリわけされている。まぁ会社によってJob Titleには差があるので、ここまでたくさんカテゴリが用意されているが、大体感覚としてはわかってもらえると思う。
ちなみに、[Next Page]として、先にいくつか進むと、金を取られるので、やめといたほうがいい。まぁ興味があるなら、情報をインプットして金を払って、どれくらい自分が金を取れるのか見てみるのも面白いけど。。。
それはさておき、Programmer Iとして経験を積むと、Programmer IIにステップアップするが、別にSEにはいつまでたってもステップアップしない。Programmer からSEに変わるということは、Job Changeである。

もちろん、給料を上げるために、また自分の経験の幅を広げるために、Job Changeをすることもある。しかし、感覚としてはあくまでもJob Changeなのである。
PG->SE->PMとして、出世するとともに強制的にJob Changeが待ち受けており、逆に、Job Changeしない限り、給料を上げることができないシステムは、奇妙である。
まぁ、よくも悪くも日本のIT業界のほとんどは、土木建築業で、発注側と設計士とドカタ仕事という分類で見られてるんだよね。
某日本電話企業系列では、ITのプロジェクトごとにコードが振られるんだけど、そのコードに関しても、工事番号という名前がついているくらいだし。工事番号って、工事かよ。

「IT産業の階層化の弊害によっておこる下流のプログラマーの収入の低下」

これは、IT産業が土木建築業で、設計士とドカタ仕事という分類で見られている以上、だめでしょうね。息のあった、ソムリエとシェフという関係になっていれば、もうちょっと改善されるんでしょうけど。プログラマのことをドカタって言ったり、書類を積み上げたほうが仕事をやり遂げたという達成感があるだろ、とか言いだす上司とかいたら気を失うよね。
まぁそれが嫌で、アメリカに来ちゃったんだけど。

俺としては、コックとして終わらせる気は毛頭なく、一流のシェフとして、一流の寿司職人として、生きていけたら楽しいだろうなと思うし、そのような職人に対して、スペシャリストとしてちゃんと金を払ってくれるシステムの中で食って生きたい。

別にレストラン経営とか興味ないし。。。:-)

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください