記念すべき第1回のBlogの話題を考えていると、2つの興味深い記事に出会った。1つはTom PetersのBlog記事である"Off-shoring" Manifesto/Rant: Twenty Hard Truths about Inevitabilities, Pitfalls, and Matchless Opportunities (updated 16.Mar.2004)
"と、梅田望夫氏がCNET Japanで掲載しているBlog記事の「オフショア開発で明暗別れるプログラマーのキャリア」であった。
筆者もシステム開発者としてこの点は非常に興味を抱く点ではある。
多くの産業がそうであったように、情報産業もまた空洞化(Hollowing out)が進んでいる。特にシステムの実装・低レベルでのテスト(ex.Unit Test)をメインとしている「プログラマ」と呼ばれる職種の担う業務はその動きが顕著だ。
当然この動きはここ数年の話ではなく、欧米の大企業が挙ってCallCenterをインドに移した事等から、その胎動は始まっていたと考えるべきである。
筆者の会社でも中国にプログラムを発注する事がある。実際、中国の開発者のスキルレベルは非常に高いものがあり、日本の一部のスーパープログラマを除いては淘汰されるのではないか、という危惧に日々感慨を抱いている。
しかし、この潮流が日本でも、アメリカ同様の速度で進行すると考えていたら、それは早計であると私は考える。
インドがオフショア開発の拠点になった事は、人件費や数学を得意とする国民性以外に大きな問題がある。それは「言葉」だ。インドは英語を話す国民が多く、その発声も非常に流暢である。
筆者の経験則で言えば、中国の開発者に、日本語の要件・仕様を理解してもらう事は非常に難しい。英語でも堪能な方が左程多い訳ではない。
まして、日本語でも説明し難い細かい要件(勘定科目や業界用語等専門用語が多い場合等)はお手上げになり、自身か別の開発者でフォローする場合が多い。
もう1つはそのスキルの領域だ。例えばCOBOLやPL/1等、旧時代の遺物のようなプログラムに関してはスキルセットを持つ人材が少ない。JavaやVBのような高等言語になるほど、人材が増えていくのだ。下等言語は主に保守業務において必要となる。本来、日常的なルーティンワークで外製化すべき業務において、高コストの国内の人材を使うというパラドックスがあるという点は、どのBlogでも指摘されていなかったので、指摘しておきたい。
これ以外にもオフショア開発には様々なリスクが伴う。詳細はZDNetの記事"Top 10 Risks of Offshore Outsourcing"を参考にして頂ければと思う。
ただ、殊言語やスキル等の問題に関して言えば、「スキル移転」と「自助努力」で如何様にもなる。では、従来の開発者は何を為すべきなのか?答えは単純で「要件定義・設計に業務をシフトする」事だ。今までの開発経験を活かし、更にデザイン能力や交渉力、そして言語能力を含めたコミュニケーション能力を養成する事で、付加価値を付けなければならないのである。
形式知の移転によって代替可能な業務が、このような過程を辿るのはある意味自明の理とも言える。今後の開発者に求められる事は、月並みな言い方にはなるが、より開発工程の上流を担う「付加価値」を育てる事ではないかと考えている。

