まず(B)は「専門性が低く、技術要求度が高い」の組み合わせ、すなわち「総合プログラマ」だ。高い技術力を用いて、依頼されればどんなソフトウエアも開発するというスタンスである。ソフトウエアの適用分野を特定しないゆえにIT技術以外の専門性は要らないが、ITに関する広く深いスキルが求められる。ソフトウエア技術にあこがれる若者の多くは、そんな技術者になりたいと思っているかもしれない。 いっぽう(C)は「専門性が高く、技術要求度が低い」の組み合わせ、「専門プログラマ」である。ゲームソフト、業務管理システム、組み込みソフト、セキュリティ対策、ネットワークといった特定分野を担うIT技術者をイメージしてもらえばいい。どんな分野であっても、その分野なりの固有の知識体系(業務知識)や経験が求められる。その総体が「専門性」だ。 ちなみに私自身は業務管理システム向けの専門プログラマ(C)であるが、この分野に必要な専
![総合プログラマではなく専門プログラマになろう - 設計者の発言](https://cdn-ak-scissors.b.st-hatena.com/image/square/c9b2c14e3ea18ceb8c9d3bbdd40cfff823fffc52/height=288;version=1;width=512/https%3A%2F%2Fwatanabek.cocolog-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)