学生にプログラミング教育をする意味(絶望編)

2014-02-13 07:01

さて、私は以前「大学でプログラミング教育一生懸命やっているかもしれないけど、会社では”ソースを一行も書かない人間”が”ソフトウェアシステム”を開発して、しかもソースと格闘している人間より高い給料をもらっていることが多い」と書いた。過去の話については聞く価値のあるこの人もこう言っている。

特に理工系の修士号取得者。日本では大学を出て大手企業に入ると、そこではほとんどプログラムを書かない。仕様書は作り、ドキュメントも書くけど、実際のコードを書くのは子会社や外注やその下請けの人たち。僕はこういうのを「ゼネコンスタイル」と呼んでいます。

via: 未明の2時間半。一心不乱にコードに集中 ──中島聡流プログラミングの流儀 #OpenGL|CodeIQ MAGAZINE


なるほど。日本で碌なソフトウァが作られない理由はこのゼネコンスタイルにあるのか。ではやっぱり大学でプログラミング教育をちゃんとしなければ!となるかといえば話はそれほど単純ではない。

米ケンタッキー州議会上院がコンピュータプログラミング言語の単位を外国語の必修単位として認める法案を可決しました。

via: これはアリ?ナシ? プログラミング言語を外国語の必修単位として認める法案、米州で可決 : ギズモード・ジャパン


このニュースがもつ意味がわかるだろうか?

プログラミング言語は「世界共通言語」になりうるのである。もっと言えば

第一外国語:英語

第二外国語:Objective-C(しつこいようだが、私はApple原理主義者なのだ)

これが何を意味するかわかるだろうか?

上記の条件を満足する人間は、世界中に存在しうる。であれば、上記のスキルはいやがおうでも「世界での競争」にさらされる。生活費も給料も高い日本に住む人間はこの点で大きなハンデを背負っている。自分がベトナムで同じプログラムを書くスキルを持っている人間に対して、3倍の給料を要求することを正当化できなくてはならない。

こう聞けば日本のSI屋はこう言うだろう。

で、お客からしたら技術の中身なんかぶっちゃけどうでもいいんです。Javaで書こうが、Cで書こうが、COBOLで書こうが、そこに価値の本質はないから。

via: コーディング技術にこだわり過ぎるとITエンジニアの地位は向上しない - プロマネブログ


「技術の中身なんかどうでもいい」と公言できるSi屋はすごいなあと思うが、一つの方法はこの人が言っているような「ビジネスを作り出す力」という虚構にすがって高い給料をふんだくるやり方である。あるいは「仕様書さえちゃんと書けば、ソフトウェアは外注すればいい」とも言える。価値があるのは仕様書なのだ。

引用先の文章は見事なもので、何を言っているかさっぱりわからないが、なんとなく「すごい事を言っている」と(人によっては)だますことができる。こういう才能に磨きをかけることは一つの方向ではある。

そうでなければ

日本でプログラムを書く人間は常に「3倍の給料を正当化するだけの技量」を念頭に置かなければならない。第2外国語にObjective-Cを選んだ時点で、世界の土俵に立っているのだ。

となると

結局日本でソフトウェア関係の仕事をしてご飯を食べようと思えば

・日本特有の「大企業」あるいは「上流工程」(笑)で書類を量産し虚言を振り回し「ソフトウェアを作ってます」と言う。

・世界で戦えるコーディング能力、もしくはコーディング能力と結びついた解析、提案、デザイン能力を身につける。

のいずれしかないことになる。となると大学でプログラミングを教える意味ってなんなんだろうね。もちろんそのうちの数%はプログラミングの力で世界で戦っていけると思う。残りの90%以上の人には何の意味があるのだろう。