技術を理解するには本質的な理解をしていかなければならない
技術を学ぶというと、簡単なテクニックで終わってしまうケースが多い。
しかし、理解の本質とは、その仕組みを説明でき、使いどころを自分で
考えられるようになる事です。
そのためには、それぞれの技術が「何者なのか」「なぜ登場したのか」
を押さえる事が重要となっています。
要件の多様さと複雑さにより求められる事
なぜ、これらが重要なのか。
それは、近年Web上で提供するサービスによって成り立つビジネスが
増えてきたからです。
これらのビジネスでは、Webシステムがサービスの主体であり、その質が
収益に特化します。
例:Googleのビジネスモデルは、無料の検索サービスを提供し、検索結果に
合わせた広告を提示することで、広告収入を得ます。
また、新たなビジネスの創出のため、これまでになかった新しいサービスが
次々と登場していきます。
このような新事業の立ち上げ期には、提供しようとしたサービスが市場に合っているか
どうか分かりません。
この場合、新たなサービスのためのシステム要件は、千差万別なので、比較的類型化しやすい
業務システムとは違い、要件に応じたシステム構成やアーキテクチャを考える必要があります。
エンジニアに求められる広がり
このように自由度が大きく広がった裏返しとして、システムインフラとソフトウェアの
設計を一体的に考える必要性が増しました。
特にスタートアップ段階の小規模な組織では、1人のエンジニアが「多能工」として、
多くの領域をカバーせざるおえない事が増えています。
クラウドサービスを含む複数の領域で活躍できる技術を持ち、ビジネス価値の創出に
繋げられるエンジニアは多くないため、希少性から市場価値が高く評価されています。
そのためには、登場した技術を頭の中にある「技術の引き出し」の正しい位置にいかに
早くしまえるようになれるかが重要です。
そのためには、その技術が何者なのか、純粋な技術的背景だけでなく、当時の様々な環境を踏まえた背景、「なぜ登場したのか」を理解する必要があるのです。