技術者のレベルとソフトウェア開発の難易度(2) [プログラマー現役続行]
ソフトウェア開発のながい道のり(The Long Road)を、管理職になることなく歩んでいくという観点からソフトウェア・スキル・インデックス(Software Skill Index)として、ソフトウェア技術者のレベルを分類しています(p.37)。
初心者(1) | ソフトウェア開発を行うには、プログラミングの基礎知識や、コンピュータに関する基礎知識が不足している |
見習い(2) | 指導を受けながら実践ができる |
初級職人(3) | 見習いレベルの実践はできるが、時々指導が必要である |
中級職人(4) | 必要な技術を仕事の上で自然に自動的に使っている |
上級職人(5) | 新たな技術も含めて自分で常に学習を行い、自然と実践できている |
名人(6) | 技術を完全に消化し、いつルールを破るべきか知っている。また、技術記事などを執筆している。さらに、中級職人以下の職人を上級職人にすべく、組織に対して教育・指導を行っている。 |
匠(7) | 専門書を著作し、講演し、技術を拡張する方法を業界に問う。一方で、より良い方法で職人を育成するための方法も探求している。 |
ソフトウェア開発を続けていけば、自然とレベルが上がるということはありません。中級職人と上級職人の間には、大きな溝があります。上級職人になれるかどうかは、「新たな技術も含めて自分で常に学習を行い、自然と実践できている」ということです。これは、急にできるものではなく、初心者の頃から行っていくものです。それを行わずに、知っている知識だけで開発業務をこなすと、中級職人で終わってしまいます。中級職人に関しては、次のように拙著の中で解説しています。
このレベルは、多くのソフトウェアエンジニアが到達して、ここで停止してしまうレベルです。そして、管理職に昇進していく人というのは、この中級職人レベルからだったりするため、本人自身が学習する習慣を持たないままとなってしまいます。上級職人レベル以上になってから管理職に就くというのは、学習は継続されることになります。それは、直接開発業務をしていなくても、新たな技術などに常に関心があるからです(「技術はできて当たり前の管理職」)。
つまり、五年以上のソフトウェア開発を経験して、30代になり、すでに過去の開発業務で使用している技術であれば、問題なく使用してソフトウェア開発を遂行できるレベルです。
このレベルで停滞すると、キャリアパスとしては危ない状態になってしまいます。とりあえず業務は遂行できるために、新たな技術を学ぶのを止めてしまい、気づいたら最新の技術は知らないまま、30代後半から40代になってしまいます。
(途中省略)
そして、最近はこのレベルで40代になってしまう人が多く、その人たちは非常に中途半端な立場に置かれてしまいます。若手を指導できるわけでもなく、かといって古い技術しか知らないし、新たな技術を学習することもないのです。
中級職人から上級職人へのレベルアップは、年数で決まるものではなく、それまでの本人の取り組み姿勢や考え方に大きく左右されます。
2010-01-11 06:35
nice!(0)
コメント(0)
トラックバック(0)
コメント 0