蛍光ペンの交差点

"科学と技術に支えられ、夢を語る人になる"

プログラマをプログラムできないという問題

100人ぐらいの受講者が居る計算機の授業を受けながら、ふと以下のような問題設定が考えられることに気が付いた。

 

クラウド構築を学ぶ授業Aはとても教育効果が高い。そのうえ、一学期に200人もの学生が技術を身につけることができて効率的だ。履修後には、一人ひとりが全員、クラウドの設計と統括ができるような段階に達せるとする。

 

このとき、それぞれに十分熟練した200名は、いくつの会社に何名ずつ、どのような仕事をするために配属されるのが社会的に望ましいだろうか?

 

クラウドサービスは作るのが手軽というのもあって(ただし高品質なものを作るのは至難)、類似のサービスは山ほど世間に存在する。Aを履修した生徒1と生徒2は、それぞれはクラウドを一人で作れるほどに熟練しているが、しかしそれは生徒1と生徒2が好き勝手にクラウドを作ると良い結果がもたらされることを含意しない。それはもちろん彼らの自由ではあるが、ユーザーにとっては大して違いのないサービスが乱立して迷惑だろう。それを「引き起こし」うる生徒は200名もいる。

 

彼らとしても、どこか違和感を感じるはずだ。クラスタGUIで起動するための公式サイト。Reactを使ってレスポンシブにして、コンテナ技術で起動を高速化して。同じ問題を何回解いているのだろうか?むしろ同じ問題を並列して解いてしまっていることで、マルチスレッドよろしく、新しい問題が生じているのではないだろうか?そういえば、似たようなサービスがあるからと開発をやめるのは、ある種の排他制御と言える気もする。

 

最速最適なベストプラクティスを学ぶはずの授業が、多くの人間に同質に提供されてしまうと、実はむしろ遅くなるというパラドックスが生じていないだろうか?この問題は、オンラインプログラミング学修サイトが激増しているいま、恐らく更に悪化している。

 

もちろん、類似サービスが競合してお互いのいいところを吸収し、最後にはひとつがデファクトとして洗練されるケースは否定できない。しかしこの問題の教訓は、特定の種類の授業においては、生徒にもたらすことが望ましい効果は、生徒数があるスケールを超えると多様化するということにあると思う。

 

ケーススタディを見てみたい。