IT業界における「技術力」の意味するものは、日進月歩の勢いで変化しているということを理解してほしい

前回のエントリー日本のSI業界でこそ、専門の技術者の必要性がもっと見直されるべきではないのか? - 達人プログラマーを目指してで、「技術の専門家」という言葉を用いたのですが、人によってこの言葉に対してイメージするものが結構違うのではないかと思います。この点に関して、ちょっと補足させてください。
一般的なイメージだと「匠」という言葉を聞いてイメージするのは、その道何十年、ひたすら同じ作業を繰り返すことで特定の技を極めるような仕事を想像してしまいます。実際、車の車体の細かい傷を一瞬で判別してしまうような熟練工の技といったものは簡単に身に付くものではありません。陶芸家とかバイオリンのマイスターなども同じようなイメージですし、ピアニスト、将棋棋士、野球選手などプロフェッショナルな職業はそのように長い時間をかけて道を究めるといったところがあります。同じ専門家でもちょっと毛色が違うところがありますが、医者や弁護士、学者、建築家、(SE以外の)エンジニアなども基本的には似たところがあります。
そういう他の業界のプロフェッショナルな職業と比較した場合、プログラマーなどIT業界のエンジニアの場合、対象とする技術の内容が短期間でどんどん進歩していってしまうという点が最も大きく異なる点だと思います。実際、数年で計算速度や通信速度が倍になるという文字通り指数関数的な勢いで進歩している世界ですから、正しい方法論やツールといったものはどんどん進化していってしまいます。ですから、道を究めると言っても、一度学んだことを繰り返し繰り返し実践するというのではなく、常に学習する対象は変化しているのです。もちろん、アルゴリズムオブジェクト指向などの基本的な考え方など比較的長い間有用な基本事項はありますし、本物の職人のように長い時間をかけて究めるような勘のようなものも重要なのですが、とにかく、技術の進歩に取り残されないようについていくということだけでも人一倍の努力が必要になります。実際、私が主に対象としているエンタープライズJavaの世界でも、10年前(サーブレットEJBStruts)、5年前(Seasar、Spring)と、現在(エンタープライズクラウド、分散処理、スマートフォン)では、全く技術のトレンドが異なってきています。
プログラマーの仕事で唯一不変なのは「常に学び続ける姿勢だ」という人もいるくらいです。
達人プログラマーの本でも

といった教えが書かれていたと思います。これは、アメリカ的な意味でのプログラマーをターゲットにした本なので、狭い意味でコーディングするという意味のプログラマーというだけでなくて、日本で言うところのSEや基盤のエンジニア、PMの人にも基本的には当てはまる姿勢だと思います。
上流専門でずっと仕事をされてきた人や昔は技術者だったが最近は技術から離れているという人は

なぜなら、クラウドコンピューティングや開発技術の標準化は、システム開発そのものの難易度を著しく下げ、もはや社内に高度な技術者を抱えずに済むことを可能にするからです。

 従って、これからは給料の高い情報システム部員を雇わず、外部の既製品をうまく利用することで、既存システムのコストを下げる試みが多くなることでしょう。

最近では、コードレスでも動くものができるなんていうフレームワークが出ている。

のような発想で考えてしまうところがあるのですが、この場合

  • 技術そのものが全くわかっていないからツールベンダーの営業トークに引っかかる(タイプ1)
  • 以前に自分が学んだ技術を基準に評価している(タイプ2)

のいずれかの勘違いがあると思います。日本の業界だと、問題なことにそういう人が組織上強い権限を与えられていることが普通ですが(いわゆる老害の問題)、特に、後者のタイプの場合、自分が技術をよくわかっていると思っているため、特に問題が厄介となる場合が多いと思います。確かに、クラウド時代では以前のようにマシンの物理的なアーキテクチャやメモリマップ、OSやネットワークの詳細を理解したエンジニアの数は少なくてすむでしょう。しかし、そのかわり複雑なフレームワークの知識や分散データーベース、臨機応変の要件変更への対処、業務ドメインのモデル化、高度なユーザーインターフェースの実現などにいかに対処していくのかといった全く別の意味での技術力が要求されるようになっています。
自分の記憶している昔の技術が使われなくなったことにより、技術力が不要になったと勘違いしている人が多いと思いますが、とにかく、IT業界で技術力という言葉が指し示す内容は、日進月歩の勢いで急速に変化しているのだという点を忘れないでいただきたいものです。