« お話をお伺いしに参上したいと思います | Main | 男の手料理は永遠に不滅です »

上級プログラマ不要論

出来ない人は最初からプロジェクトチームに加えない
オフショア人材育成の仕組みが充実したこともあり、開発チームは出来る人だけで構成すべきという中国人マネージャーと、どんな状況下でもOJTは有用だと説く日本人マネージャーが感情的に対立した。あなたのご意見は?

・中国人の主張を支持する (35票)47%
・日本人の主張を支持する (25票)34%
・その他 (14票)19%

「日本人マネージャが長いスパンを視野に入れた人材育成の考え方は、日本人の工夫に強い特質を現していると思います。対照的に「ここの」中国人マネージャは単純な「拿来主義」ですね。」

(アンケート途中結果より)

詳細はこちら

雑誌や新聞・メディアでは「中国には優秀な人材が大量にいる」と連日のように報道される。ベトナムはさらに過熱気味かと。ところが、オフショア実務者が集まると、中国人プログラマは足りているが、システムエンジニア(SE)が不足していると皆が嘆く。

以下は、私の個人的な体験より。

私は、日本向けオフショア開発の現場で中国人の上級プログラマを見かけたことは一度もない。一方で、優秀なSEは何度かお見かけしたし、卓越した実績を誇る中国人プロジェクトマネージャと一緒に仕事をしたこともある。

個人的には、20代の中国人プログラマは同年代の日本人と比べて、コーディング作業は速いと思う。そのため、段階的なチェック機構を設ければ、圧倒的な人海戦術が可能となる。

ところが、こちらが舌を巻くような超人的なプログラマは存在しない。おそらく、日本向けオフショア開発では、上級プログラマが活躍する場面は極端に少ないのが原因ではなかろうか。

・・・
「だからどうした?」との反論もありそうだが、あくまでも私の体験からそう感じたので。


■成功の勘所

一般論として「中国には優秀な人材が大量にいる」と言われるが、あなたの実感はどうだろうか。オフショア開発では、上級プログラマ不要論(*)を唱える人が少なくないが、あなたはどう思うか。

◆上級プログラマは不要
◆上級プログラマは必要
◆その他

○結果を見る
○コメントボード


締切:2007年07月25日23時00分
協力:クリックアンケート

|

« お話をお伺いしに参上したいと思います | Main | 男の手料理は永遠に不滅です »

Comments

このアンケートでは、「手が速い」プログラマと上級プログラマを区別してお考えください。もし現状に不満があれば、あなたの解決案をお書きください。

Posted by: 幸地司 | July 18, 2007 at 03:14 PM

現状ではスーパーPGは必要とも不要とも言えないと思います。
スーパーPGは、今々のオフショアリングへの最大需要である人海戦術には不向きですしコスト的にも維持できません。
その為、逆に人海戦術を成功させる為に優秀なBSEの需要が高い訳ですが。
しかし今後、先進的な研究分野での開発がオフショアされる時期が来た場合は彼らが必要とされるのではないでしょうか。
スーパーPGは、人才の発掘、養成、維持に多大な先行投資を必要としますが、急成する事は困難な要員ですので、先々の為に、何らかの形での確保が求められているのは確かだと思います。

Posted by: yoroyoro | July 18, 2007 at 03:16 PM

私の理解の上級プログラマとは経験年数と関係なく、言語の知識だけでもなく、機能実現するの考え方と能力が優れるプログラマーです。いわゆるシステム開発基盤が作れるプログラムのことです。このような人は全体的なシステム設計と業務が分詳しくないですが、設計意図を理解できて、設計に沿ってきちんと機能実現できる人なので、とても必要です。しかし現状では上級プログラマが大変足りないです。中国オフショア開発の中で、確かに「手が速い」のほうが多いので、上級の変わりに、日本での確認手段を確実して、「手が速い」プログラマを利用するしかない現状です。一つの小さいプロジェクト(7~10人ぐらいの開発メンバー)に一人の上級プログラマーがいれば、助かります。

Posted by: レイコ | July 18, 2007 at 03:18 PM

こんにちは、幸地 司です。

ある知人から、「上級プログラマは、プログラマが数百行かかるプログラムを10行ですませる人ですか?」と個別質問を受けました。

いますねー、そういう人。プログラマのお手本です。尊敬します。ですが、私の定義では、どちらかというと「手が速い」プログラマに分類されます。

しかし、業務経験もなく、誰からも教わったことはないのに、何となくすらすらと独学で新しいコンセプトの作品を生み出す人物は、上級プログラマの可能性ありです。

上級プログラマが全体の3%だとしたら、「プログラマが数百行かかるプログラムを10行ですませる人」は上級プログラマです。もし、上級プログラマが全体の0.1%以下だとしたら、上級プログラマに認定されるハードルはうんと高い。yoroyoroさんが指摘するように、人才の発掘、養成、維持に膨大な先行投資が必要です。

数値を持ち出すともっともらしく感じますが、思いっきり主観的な主張ですね。気になる人は軽く流してください。

Posted by: 幸地司 | July 18, 2007 at 03:19 PM

こんにちは、再び幸地です。

オフショア開発では上級プログラマ不要と主張する人の大半は、「上級プログラマ」=「プログラマが数百行かかるプログラムを10行ですませる人」だと思っています。

手が速い
→工夫満載
→独創性あり過ぎ
→顧客の指示に従わない
→・・・・・・
→もともと優秀なので、すぐ辞めて他に転職する

等の弊害があって、思ったほどパフォーマンスが出ないのが嫌われる原因の1つだと推測されます。

また、上級者が一人だけ異常に早く仕事を終えたとしても、オフショアベンダの経営陣としてはあまり嬉しくないかも。人月商売の悲しい現実です。

とはいえ、やはり根本的な問題は、上級プログラマが思う存分に能力を発揮する場が与えられていないことでしょうか。

> 一つの小さいプロジェクト(7~10人ぐらいの開発メンバー)に一人の上級プログラマーがいれば、助かります。

レイコさんのご指摘、心から共感します。
(意地悪なコメントですが、)自分の仕事が済んだら他メンバーのことなど「我関せず」で、さっさと帰宅するような上級プログラマだと、ちっとも助かりませんが。

自分で書き込んでいて気づいたのですが、「優秀な中国人IT技術者」=「わがまま」という先入観が、いつの間にか心の奥底に根付いているのかもしれません。

Posted by: 幸地司 | July 18, 2007 at 03:21 PM

上級プログラマとは、何か?。
確かに、その定義と、実際にオフシェアするシステム、
プログラムの内容とフェーズ、プロジェクトの期間など、
複合的な要素を考慮して考えなければ、
一概に、不要だ、必要だと、断定できないのでは
ないかと考えます。
上級プログラマを、短期間で、高品質のプログラムを
制作できる能力があり、成果物としてのドキュメント及び
ソースコードも見やすいアウトプットを出せる人材と
定義した場合、さて、必要ないといえるのかどうか。
きっと、プロジェクトによって異なるでしょう。
ソフトウェアの開発能力は、開発対象となるソフトウェアの難易度に対して、一定以上の能力がないものを担当させた場合、永遠に完成しないといった側面をもっているだけに、メンバの配置は、かなり重要な要素であると思います。
その点からいえば、上級プログラマは、必要なときには必要であるといえるでしょう。

Posted by: H.M. | July 19, 2007 at 01:40 PM

当たり前の判断ができない日本人。
上級プログラマ不要論というネガティブな考え方は日本ならでは。
日本買いしている奴はたいていバブル崩壊を仕掛けているけど、
それでも満足する日本人。
ネガティブ論が映えるのはアイドルだけだから
日本を世界に誇るアイドル大国にすれば国際競争に勝てる。
例えば先生に張り倒されるアイドルを作ったり・・・。

Posted by: 謎美四星@大きなお友達 | July 19, 2007 at 01:43 PM

こんにちは、幸地司です。

> 上級プログラマ不要論というネガティブな考え方は日本ならでは。

私の書き方が誤解を招いたかもしれませんが、上級プログラマ不要論は主に中国ベンダーからの意見であり、その半分は中国人経営幹部の発想です。さらに、上級プログラマ不要論を唱える日本人のほとんどは、中国ビジネスに精通したいわば「中国通」の人々です。

なので、「・・・ネガティブな考え方は日本ならでは」との指摘は、全く的外れなご意見だと思います。

また、上級プログラマ不要論には、ポジティブとネガティブの両面があるので、あまり自虐的に考える必要はありません。

ちなみに、上級プログラマ不要論の本質は「費用対効果」による判断です。もし可能ならば、あなたの体験に基づいた数値の比較をご提示ください。

・上級プログラマ起用による生産性向上、TCO削減の効果
・上級プログラマの人件費

経営者の立場としては、この2つを比べればよいです。ただし、お金に責任を持たないプロジェクト当事者としては、本アンケートへの共感は薄いかもしれません。

Posted by: 幸地司 | July 19, 2007 at 01:45 PM

H.M.さん、こんにちは、幸地司です。

いくつかの条件を考慮してくださり、ありがとうございます。「上級プログラマ不要論」と仰々しく書かれた文章を読むと、多くの技術者はびっくりするかもしれません。ですが、よく考えてみると、スター不要論はプロスポーツの世界では珍しいことではありません。

例えば、米国のプロ野球(MLB)。
MLBには、現実に貧乏球団と金持ち球団が共存します。ある貧乏球団はスター選手の保有を最初からあきらめて、有能な新人発掘に全力を尽くします。そして、ある程度結果を出したら、高値で他球団に売却する。

だって、スター選手は金食い虫だし、わがままだし、そのくせチームの勝利にはほとんど貢献しないし・・・。

サッカーでもお馴染みの球団経営方針だと思います。

視野を広げて、「上級プログラマ不要論」をこんな風にとらえてみるのと面白い発見が生まれるかもしれません。ご参考までに。

Posted by: 幸地司 | July 19, 2007 at 01:47 PM

幸地 さん、どうもです。

プロスポーツと比較すると、ちょっと
羨ましくなるのが、ソフト業界での評価の現実ですが、
それはさておき、
スター不要論には、スター待望論が、ついてきますね。
ということは、
上級プログラマ待望論というのもありなのかな。

中国オフシェアのケースと
国内下請けのケースで、やはり文化とお国柄の
違いがあるものだなと感じます。
上級プログラマ不要論も、その視点でみると
なるほどなと感じるところも多々ありますね。
ただ、スポーツの世界では、スターの存在は集客に影響します。
つまり収入への貢献大なのです。
そこがプロスポーツと製造業世界の大きな違いですね。
スター技術者がいても、受注増には直結しないことが
殆どでしょうから。

国内の下請けの場合、プログラマは上級だろうと下級だろうと同じレートのケースが大半ですので、上級の存在は大変ありがたいという結果になります。
国内でも、レートに差がつくようになれば、
また違った評価もされていくのかもしれません。
プロ球団の場合、勝利よりも、集客の方が経営上は問題ですから、勝利に貢献できなくても、集客に貢献できればお金は出すということになります。
どこに、経営的なポイントを置くのか、
その点で、評価が分かれるところでしょうか。
安くて、有能であることが、経営的には最適であるのはあたりまえなのですけど、費用対効果の適正値を、どこにとるのかで、評価が異なるのでしょうね。

Posted by: H.M. | July 19, 2007 at 01:50 PM

H.M.さん、こんにちは幸地です。

> どこに、経営的なポイントを置くのか、
> その点で、評価が分かれるところでしょうか。

大変参考になるご意見をありがとうございます。

現実には、スター選手を多数抱える金持ち球団ほど勝利する確率は高い。米国MLBでは、選手の年棒総額と勝率は強い正の相関があります。結局のところ、H.M.さんがご指摘の通り、個別企業が何を狙うかによって、スター選手(上級プログラマ)の扱いが変わります。


> そこがプロスポーツと製造業世界の大きな違いですね。

オフショア開発(ソフトウェア産業)は製造業に分類されるとの認識でしょうか。私は、特に異論なし。ですが、世の中にはソフトウェア開発を芸術活動だと見なす雰囲気があります。

個人の才能を尊重する芸術活動では、天才的な技術者が絶対に欠かせません。実際、芸術的な方法でオフショア開発を進める業者を知っています。悪く言えば「属人的」な開発スタイル。ですが、結果がすべての商売なので、発注者からは高く評価されています。

Posted by: 幸地司 | July 19, 2007 at 01:52 PM

オフショアの発注形態は、種類は大まかに3種類あると思います。
1.ユーザ企業が直接発注する
2.大手SIerが発注(丸投げ)する・共同で開発する
3.中小ソフトハウスが、詳細設計以降やCoding「だけ」切り出す

1や2は、上級プログラマーより優秀なSEが重要だと思いますが、
私のような小さなソフトハウスは、Codingだけを早く・綺麗にしてくれるリソー
スのニーズがあるのを忘れないで欲しいです。

Posted by: しみけん | July 19, 2007 at 01:53 PM

どうもです。
ソフトウェア開発は、芸術活動か?。
この問いについては、個人的には、難しいところですね。
ただ、なぜ、プログラムコードが著作権で保護されるのか
これについては、今も不思議に思っている部分があります。
著作権で保護されるものだから、創造性をもった芸術活動の成果なのだということも言えるわけですが、
CGなどの動作結果に表現力が必要なものは別にして、
通常のソフトウェア開発は、製造業であると思っています。
実態としては、建設業に近い体質を業界構造がもっている気もしています。
ソフトウェアの部品化、再利用、保守・修正などを
考慮した場合には、他人のみて分かるシンプルなコードでないとはっきりいって困ります。
芸術的なプログラマが、その技巧を駆使して出来あがったものは、他人がみても理解不能なものであるケースが多く、それっきりソフトということになってしまいます。
それでも良いというものもありますので、それはそれで良いともいえますけど。
外注する場合には、発注者がどんな成果物を望むのかで、
どんなプログラマが必要なのか、大きく変わってくるでしょう。
その成果とコストの関係と、内容によって、
下請けなのか、パートナーなのか、変わってくるように思います。
上級プログラマの存在の必要性も、左右されることになるでしょう。
上級プログラマが不要という声が多いなら、
上級ブログラマを必要とするような仕事の発注が少ないということなのかなと感じます。

Posted by: H.M. | July 20, 2007 at 02:59 PM

オフショアかどうかかかわらず、ソフトウェア産業全体で、優れてプログラム力より、優れた設計力と優れた仕様定義力が求められていると思います。なぜなら、プログラムバグは単体テストで摘出できますが、設計バグや仕様バグはプロジェクトの最後に摘出されることがほとんどですから。

Posted by: 呉 | July 23, 2007 at 10:27 PM

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/43730/15790814

Listed below are links to weblogs that reference 上級プログラマ不要論:

« お話をお伺いしに参上したいと思います | Main | 男の手料理は永遠に不滅です »