巨人の肩の上に立つ
現代には様々なサービスがあり、新しいものを産み出す余地はほとんどないように見えます。それでもビジネスは拡大するべきで、特に新規事業を立ち上げるときは「新規性」が大事だと強く言われることがあります。技術についても同様で、「他社が真似できない新しい技術」を求められることがあります。
しかし、本当に新規性は大事なのでしょうか?全く新しい何かが必要なのでしょうか?
新しく見えるものは、ほぼ再パッケージ
IT業界では、非常に速いペースで「新しい技術」が登場します。しかし、それらは本当に新しい技術でしょうか?いくつかの例を挙げてみます。
- UML…いくつかの組織・団体がそれまでに使っていたモデル記法を標準化した言語
- フレームワーク…ライブラリとほぼ同義。ライブラリとは制御が逆転する
- Ajax…既に存在していた
XMLHttpRequest
クラスを利用したJavaScriptの非同期通信に名前を付けた技術 - コンテナ技術…
chroot
に始まり、cgroups
によってシステム・リソース(CPU、メモリ、ディスク、など)を分離する仮想化技術 - サーバーレス技術…再設計されたCGI
製品についても見てみましょう。
- Microsoft Excel…Lotus 123の代替品
- Internet Explorer…Netscape Navigatorの代替品
- iPhone…BlackBerryの代替品
- Linux…Unixの代替品
- Dropbox…USBメモリーの代替品
こう見ると、全く新しい技術というより、既存の技術にパターンをあてはめたり、いくつかの技術を組み合わせた(再パッケージした)技術に見えます。もちろん、これら以外にもさまざまな「新しい技術」が登場しては消えていきますが、それらも同様でしょう。つまり、本当に全く新しい技術というものは存在しません。いずれの技術も、それまでの積み重ねからを基礎として発見された考え方に基づいています。
巨人の肩の上に立つ - 先人の積み重ねに基づいて何かを発見する
「巨人の肩の上に立つ」という言葉があります。
これは西洋の格言で、「先人の積み重ねに基づいて何かを発見する」ことを指します。先ほどの例に見られるように、それまでに先人が積み重ねてきた技術や製品があり、これらを理解することで、新しい技術や製品を生み出すことができます。何か新しいことをしようとするのであれば、まずは既存の技術や製品を理解することが重要であることが分かります。
既存の技術や製品を使い、そこに新しい考え方を持ち込むことで、新しい技術や製品が生まれます。
守・破・離
日本には「守・破・離」という言葉があります。これは茶道や武芸における師弟関係の一つで、技術習得を3段階のレベルで表現したものです。
- 守…師匠の教えた「型を守る」
- 破…自分にあったより良い型にするため「型を破る」
- 離…型をよく理解することで、「型から離れ」て新しい型を産み出す
この言葉からもわかる通り、やはり基礎が大事で、それをよく理解することで新しいものを産み出すことができます。
守・破・離は師弟関係の一つですが、ではこれをエンジニアに当てはめるとどうなるでしょうか。エンジニアといっても案件や立場によって変わってくるとは思いますが、次のようになるのではないでしょうか。
- 守…世間で主流と思われる技術や手法、進行中案件で使われている技術や手法を学ぶ
- 破…「守」で学んだ技術・手法に、より良い技術・手法を追加する
- 離…自分の中でのベスト・プラクティスを構築して、必要に応じて案件に適用する
レシピを見ないアレンジはメシマズのお約束
基本を理解せずに何かを産み出すことはできるのでしょうか?
料理界のスラングに「メシマズ」という言葉があり、その中でも「アレンジャー」と呼ばれる人がいます。アレンジャーとは、「基礎を知らずにレシピから離れた料理を行うことでまずい食事を作ってしまう人」を指します。中にはそもそもレシピを見ずに作ってしまう人もいるとか。
この件からもわかる通り、やはり基礎を理解せずに新しいものを産み出すことなどできないのです。
おわりに
新しく見えるものは、それまでの基礎の積み重ねの上に発見されたことであり、だから基礎が大事ということが分かったと思います。では、基礎をどのように積み重ねるのか、「学ぶ」とはどういうことか、これらは別の記事で説明したいと思います。