Yahoo! Developer Network にて、User Interface Library の配布が開始された。
とりあえずダウンロードして Example フォルダにあるソースを眺めてみたが、DOM 操作とか ドラックアンドドロップ 関連の Library はどれもすばらしい。ツリーやスライダー関係のパーツも豊富なので、見た目に派手なことをしたい場合の部品としては重宝しそう。
しかしあれだ。最近 prototype.js とか script.aculo.us とかの JavaScript のライブラリが大量に出回るようになってきたので、自分でスクリプトを一からしこしこ書く必要がどんどん薄れてきている。まぁ、これが Web 2.0 の一つの側面だと言えばそうなんだろうけど、あまりにこういう便利なものが増えすぎると、部品の切り貼りだけで達成感を得てしまうようなへたれ技術者を量産することになりはしまいか?
と、こんなことを考えていたら、2年前くらいのCNETに掲載されていた梅田望夫のコラムのことを思い出した。「インターネットの普及がもたらした学習の高速道路と大渋滞」と題したコラムの中で、羽生善治の面白い話しが紹介されている。
羽生善治は、インターネットでの学習を「高速道路」となぞらえた上で、
「情報の整理のされ方と行き渡り具合の凄さ・迅速さ(序盤の定跡の整備、最先端の局面についての研究内容の瞬時の共有化、終盤のパターン化や計算方法の考え方など)」と「24時間365日、どこに住んでいようと、インターネット(例、将棋倶楽部24)を介して、強敵との対局機会を常に持つことができる」という2つの要素によって、将棋の勉強の仕方が全く変わってしまった。そしてそれによって、将棋の勉強に没頭しさえすれば、昔と比べて圧倒的に速いスピードで、かなりのレベルまで強くなることができるようになった。しかし、その後に大渋滞が待っていて、
確かにそのレベルまでは一気に強くなれるのだが、そこまで到達した者たち同士の競争となると、勝ったり負けたりの状態になってしまい、そこから抜け出るのは難しい。一方、後ろからも高速道路を駆け抜けてくる連中が皆どんどん追いついてくるから、自然と大渋滞が起きる。最も効率のよい勉強の仕方、しかし同質の勉強の仕方で、皆が、高速道路をひた走ってくる。結果として、その一群は、確かに一つ前の世代の並のプロは追い抜いてしまう勢いなのだが、そうやって皆で到達したところで直面する大渋滞を抜け出すには、どうも全く別の要素が必要なようである。つまり、インターネットの普及によって、理路整然とまとめられた情報にアクセスすることが容易になり、知識の習得という点で大幅なショートカットが可能になった(本を読んで知識を得る場合と比べたら、その時間的短縮は劇的なものだろう)が、逆にそれは誰でもある程度のレベルには簡単にいくことが出来るため、その先で大渋滞が起きてしまうということを意味する。
まぁ、大量の「セミプロ」が群雄割拠する現在のIT業界で生き残るには、薄っぺらい知識武装だけでは本物の「プロ」にはなれないということでしょうか。
Yahoo! UI Library
http://developer.yahoo.net/yui/
O'Reilly Radar > Yahoo! Open Sources UIs and Design Patterns
http://radar.oreilly.com/archives/2006/02/yahoo_open_sources_uis_and_des.html
CNET Japan Blog - 梅田望夫・英語で読むITトレンド:インターネットの普及がもたらした学習の高速道路と大渋滞
http://blog.japan.cnet.com/umeda/archives/001909.html
tech, JavaScript, Yahoo, web2.0, Ajax
どもー、熱出しながら家でお仕事中の私です。
やはりしっかりとした観点をお持ちですね。
私の意見としては、これから先はコーディングレベルではなく、コンポーネントレベルでの組み合わせ方がエンジニアとしての主題になっていくと思っています。
今上級言語を利用している我々がマシン語まで知っているべきかどうかという話に近いですよね。
業務アプリケーションの世界では、企業内の全体最適化を目指す潮流になってきていますが、昨年のjavaOne等を見ても、いかに複数のシステムを組み合わせるかという話が多くなってきていて、システムを構築できるのは当たり前という観点にシフトしてきています。技術に対する抽象度が上がっていると言えます。
これからの技術者の主題は、いかに要求をシステムに落とし込めるかという見えないものの”見える化”をでき”考え方”に移行してきているんじゃないかな。
そこは、技術力のみならずいろんな力が必要になってくるので、技術者(といっていいのかな)の差別化は、複数要因のバランスになるのではないでしょうか。(コミュニケーション能力であるとか、業務知識であるとか)
長くなりそうなので、また今度。
namito さん、こんにちは。
> どもー、熱出しながら家でお仕事中の私です。
会社休んでんのに仕事すんなよー。まるで SE じゃないか!!
> いかに複数のシステムを組み合わせるかという話が多くなってきていて、システムを構築できるのは
> 当たり前という観点にシフトしてきています。技術に対する抽象度が上がっていると言えます。
> 技術力のみならずいろんな力が必要になってくるので、技術者(といっていいのかな)の差別化は、
> 複数要因のバランスになるのではないでしょうか。
> (コミュニケーション能力であるとか、業務知識であるとか)
なるほどー。確かに産業界を支えているSIの世界では、ミッションクリティカルで、コスト削減できて、高い信頼性とかトランザクションが必要で・・とか色々考えなきゃいけないから、基本的に namito さんのおっしゃるようなバランスのとれた技術者が求められていくっていうのはよく分かります。
けど、かたやWebの世界では、常に Try & Error でごりごり開発してって、新しいものとか面白いもの、そういった可能性を追いつづけるギーク的な発想と能力が求められると思うので、こっちの技術者に求められている方向性ってのは、前者のそれとはちと違うのかも。
SIの世界でもWebの世界でも、いろんなサービスやコンポーネントをマッシュアップしてくってのは全体的な流れではあるけれど、作ろうとしているものの最終目標っていうか求めるところが根本的に違うので、個人的には前述のように二極化していくんじゃないかな?って思ってます。
さぁて、午後のお仕事行ってきます。。。
> > どもー、熱出しながら家でお仕事中の私です。
> 会社休んでんのに仕事すんなよー。まるで SE じゃないか!!
Sexy Entertainerでないことだけは確実です(笑)
> Sexy Entertainerでないことだけは確実です(笑)
あれ、人違い? 同人類だと思ってたのに・・・。