習作UI: 縁日の金魚を再現してみた
ネットが進めるノウハウのコモディティ化

ネットの時代には「知識量・記憶力」よりは「適応力・応用力」の方がずっと大切

 先日の「習作UI: 縁日の金魚を再現してみた」というエントリー。特に深い意味もなく作ったのだが、ソフトウェア・エンジニアを目指す学生さんのためにひとこと付け加えておきたいのは、この業界で本気で成功しようと思ったら、この程度のプログラムは、シミュレーションの専門家でなくともサクッと作れるように自分を鍛えておかなければいけない、ということ。

 この業界で働きはじめると、担当した仕事によって、データ解析・Java・3D・シミュレーションなどのある特定の分野のプログラミングの経験を積むことになる。そういった経験を通して特定の分野を深堀りしてエキスパートになるのはおおいに結構なのだが、往々にして落ち込んでしまうのが「ボクはJavaのエキスパートだからRubyではプログラムは書かない」、「シミュレーションのことならそれに詳しいエンジニアがいるんだからその人に頼んで」、「今からFlashを勉強している時間はないからActiveXで作らせて」などと融通の利かないことを言う「使えないエンジニア」になってしまうこと。これでは時代の変化についていけない。

 私のマイクロソフト時代の同僚に、インドから来た飛び切り優秀なエンジニアがいたのだが、彼に言わせると「どんな技術でも二週間でマスターしてみせる」。かなり自身過剰なセリフだが、本当にすごい奴で、そんな彼との仕事は楽しくてしかたがなかった。

 ちなみに、このプログラムに関して言えば、数年前に空を飛ぶ鳥の群れの動きを再現するプログラムの存在を知り、その時に見つけたのが「Flocks, Herds, and Schools:A Distributed Behavioral Model」という論文。それを読んだときにそのアルゴリズムのシンプルさに感動し、「機会があったら自分でも書いてみよう」と心にブックマークをしておいたのである。

 そして今回、Flashのプログラミングを勉強し始めたを良い機会に、この金魚シミュレーターを作ってみたわけであるが、アルゴリズムを覚えていたわけでもないので、「flock simulation」でサーチをして再度この論文を見つけだして、もう一度読み直してからこのプログラムを書いたしだいである。

 学生諸君にぜひともお願いしたいのは、この手の課題にどんどんと取り組んで「新しい技術をすばやく習得して応用する」テクニックを見につけることである。知識や情報そのものはネットを探せば簡単に見つかるので、自分の脳みその中に知識を溜め込んでおく「記憶力」や「知識量」はあまり役に立たない。それよりは、必用に応じて新しい技術をすばやく検索・吸収し、実際のプログラムに応用する、という「適用力」・「応用力」のほうがずっと重要である。

 で、君たちの作った金魚、そろそろ泳ぎ始めていますか?

Comments

あああ

boidsですか

心は萌え

知識量・記憶力・適応力・応用力どれひとつ欠かすことなく、日々の研鑽とチャレンジ精神を忘れないで下さい。
そして、チャレンジ精神と融通を効かすのは別な話だという、話術のマジックに気が付ける程度の交渉力も持って下さい。

hg

なるほど。
ストレージよりもCPUってことですなぁ。

ぶらりん

廉価パッケージ販売のPCを組み立てるのとは話が違うのだから、知識量、記憶力、適応力、応用力の全てに長けているのが薦めるべき道かと。

実際、応用や適用は過去の膨大な知識や記憶からたぐり出される場合が多い。

知識や情報がネットから探し出せる、と過信しているのも尋常ではない。

ソフトウェアだけやってるとそういう過信が生まれるのかもしれない。


ha0

TVゲームよりテーブルゲームのほうが適応力・応用力がつきそうなのは
皆さんも想像できると思うのですが
日本のボードゲーム市場がTVゲーム市場に押されていまいちの状態。
「メビウスゲームズ」などインターネットを使って取り寄せ易い現在
適応力・応用力をもって手にとってみてはいかがでしょう。

mmasashi

知識量・記憶力は新たな発想を生む非常に貴重な基盤
そして生み出された発想を適応力・応用力により実現する
これが今のサイクルだと考えています。

今はインターネットにより膨大な情報を個人が容易に得られることで、それらが刺激となり新たな発想が次々に生まれ、
その発想を実現するか否かは適応力・応用力がキーとなる
結局はすべて必要な要素ではないかと

ただ、適応力・応用力を持っている人は少ないのは確か
この部分にもっと目をむけていく必要があるのでしょう

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Your Information

(Name is required. Email address will not be displayed with the comment.)