プログラミングハイウェイ

プログラミング能力をつけるための高速道路を造りたいという話 - タムケンブログ
Re: プログラミング能力をつけるための高速道路を造りたいという話 - タムケンブログ:Geekなぺーじ

実際、IT業界に身を置いていると教育機関の必要性を強く感じる。

情報工学科という学科を置く大学は数あるが、世の中に求められるのは実務としてプログラミングができる能力を持った人間だったりする。*1

情報工学科というのは座学が主体で実習が主体なわけではない。例えるならば、美大や音大のような、入学時に実技試験があり、在学中も実技を多く行うような、そういったカリキュラムの情報大学が求められている、と思う。*2

なんせ、情報工学出だろうが、情報系の専門学校出だろうが、文系大学出だろうが、新人で採るならひとしく無能だと思わなければならない。そんな出身校よりも、ホビーでプログラムするかどうかを問う方が当りの人材を引き当てれるということは、現在のプログラミング教育がプログラミング能力を育てることにおいてはほとんど用をなしていないことを示唆するだろう。*3

コーダとSEとプログラマ

システム開発請負の会社が奴隷商人と揶揄されたり、そこで働く人がIT土方とか揶揄されたりするのは、それなりに理由がある。*4

まず、はっきり言っておこう。IT土方ってのはプログラマではない。SIerの中ではPGとか呼ばれる人たちだが、仕様書という自然言語で書かれた文章を、プログラミング言語に訳すだけの簡単なお仕事である。このレベルの人間を100人集めたって先駆的なモノは生まれない。

SEと呼ばれる人間もプログラマではない。SEは仕様を詰める雑務をこなすだけで、システムを構築する能力を持つわけではない。SEを100人集めたって先駆的なモノは生まれない。

では、システムってどうやって作られるの、というとごく少数のプログラマによって作られる。プログラマという単語の意味がすっかり汚染されたのでわざわざアーキテクトという名称で呼んだりもする。*5

つまるところ、すでにある文章を訳して書き写す人がコーダで、感動巨編を執筆できる人がプログラマなのである。*6

人の文章を訳しつづけても物語を執筆できるようにはならない。拙くても構わないから、自分で自分のプログラムを構想し、描ききることを行わなければならない。ホビープログラマの強みはそうした意味での「プログラミング」を行ってきているからだ。*7

自分で考えたゲーム、自分で考えたマッシュアップ、なんでもいい。とにかく執筆作業をしないことにはプログラマにはなれない。

高速道路の意味するところ

高速道路というのは、あくまで高速道路なのだ。どこでもドアではない。

だから、勉強をしないで、実習をしないでプログラミングができるようになるという代物ではない。

いかに勉強の速度をあげるか、実習の速度をあげるかという話である。ここを誤解しないでいただきたい。60km/hが100km/hになるに過ぎない。

大きな方針としては以下のようなものが必要なのではないか。

  1. 案内板。どういうジャンルの技能を学べば目的のものを作れるようになるのか
  2. 実習の指針。どういうプログラミング課題をこなせばよいか
  3. 能力測定。理解が正しいかを確認する方法。自分の不足を計測する方法

具体策はおいおい細分化・具体化する。

*1:システムの需要は高いから相当の人数の供給が望まれる

*2:プログラミングの実技が入試科目にあるような学校を作りたい。学校を作るにはいくらぐらいのカネがかかるんだろうね?

*3:つまり、企業と言うのは新人に対してプログラミング能力なんざ期待していないということ。見ているのは伸び代がありそうか、どうか。もっとも伸び代がありそうな人材が変な会社に行って伸びずにいるのを見ることもしばしば。企業はもっと人を伸ばすための教育に力を入れろと言いたくなる

*4:言っておくが、まともな会社はまともだし、まともな技術者はまともだ

*5:アーキテクト不在のプロジェクトはまずコケる。現実にはそういう肩書きの人がいないプロジェクトは多々あるが、誰かがその役割を肩代わりしているわけ。でも、肩書きはいちSEだったりするから、給料は安い。やってられるか!って世界。ちゃんとアーキテクトとして人を募集するなら年収1000万でも足りない。

*6:翻訳家を貶める意図はない。創造性が求められる作家との仕事の役割の違いを言いたいだけだ。よい翻訳家は訳すにあたって相当な工夫をしていることは承知している。

*7:ひとつの業務に携わりました、よりもひとつのプログラムを自力でくみ上げましたのほうが価値があると思う。業務ならではの知見と言うのもあるが、そんなものはすぐに身につく