両者を分離する良い表現は無いか
ここで誤解されないように断っておくと、私は上記の『2. 作業員的な技術者』の存在を批判している訳では決して無い。彼等は至る所でIT化された社会の拡大のためのスケーラビリティを確保するために必要であり、現在の社会システムは大勢の彼等によって支えられている。いくら凄い技術者がいても自分一人では作業量に物理的な限界があるので、大勢の作業員技術者をとりまとめて最適に仕事を配分しているのである。
だから、現在のコンピュータ産業においては、作業員技術者が増えるのは好ましいことで、それによってコンピュータ産業が拡大していく間はスケーラビリティの増加を維持する重要な要因となっている。
しかし、私が問題だと思っているのは、『1. 本当の意味での技術者』と『2. 作業員的な技術者』との違いを明確にすることができる、適切な表現が無く、両者とも一般に "技術者(エンジニア)" と呼んでいることについてである。
たとえば、IPA の資格で「テクニカルエンジニア(ネットワーク)」というものがあるが、これに合格したとしても高々ネットワークの設計や機器設定が適切にできるようになるくらいで、それくらい勉強すれば例え合格していなくとも誰でもできる。中学生でもできる。しかし、合格した人のほとんどが、たとえば現に存在する問題を解決する通信プロトコルを設計したり、これまでに無い斬新で革新的な通信システムを開発したりすることができるかといえば、絶対にそのようなことは無い。
両者の間では月とすっぽんくらいの違いがあることは明白である。
だが、両方とも「エンジニア」と呼ばれている。これを正しく区別してどちらかの名前を変えてわかりやすく普及させるということが必要ではないかと私は思う。
たとえば、システム開発でいうと、「SE」より上位のものとして「アーキテクト」という呼び名などもあるが、分野が限定されてしまう。
ちなみに、理系のAC の人たちの多くは、『1. 本当の意味での技術者』の予備軍である(またはすでに大学入学時にそうなっている人たちもいる)。
あと、IPAの認定する「スーパークリエータ/天才プログラマー」についても、だいたい 1. のような人たちを指し示す用語であると言える。ただし、まだあまり普及していない。