10年後も通用するスキル
たまたま日経SYSTEMSの2月号を眺めていたところ、「10年後も通用するスキル」というテーマがありました。
1970年代から2000年代、そしてこの先と、技術の変化が書かれていて、例えば開発言語では、
・1970年代:COBOL,PL/I,BASIC
・1980年代:C/C++,Pascal,Smalltalk,SQL
・1990年代:Visual Basic,第4世代言語
・2000年代:Java,C#
という感じです。IT業界は変化が速く、常に最新の技術を追い求めなければならない、あるいは、今身につけたスキルはすぐに役に立たなくなる、という不安があるということです。
この記事では、10年後も変わらない4つのスキルとして、
・技術を分解するスキル
・技術を比較するスキル
・事実を把握するスキル
・リスクを察知するスキル
さらに、この先重要になるスキルとして、
・サービス
・品質
・業務分析
というような解説がありました。
うーん・・・いずれも「技術」そのものとは少し外れている感じがします。
私が就職したのは、平成元年(1989年)で、プログラミングを始めたのもその数年前ですので、C/C++言語の時代が終わり、VBなどに移っていくあたりと言えますが、私はいまだにC言語で仕事をしてます。社内でもネットワークチームのメンバーはC言語が標準です。もう20年も同じ技術が通用していると言えるかも知れません。
私が考える技術スキルとは、言語力ではなく、問題解決力だと思っています。なぜ私がC言語を使い続けているかと言えば、UNIX系OSでネットワークプログラミングを行うのに適しているから、です。もちろん慣れているのでC言語が単純に好き、と言うこともありますが、ネットワーク関連のプログラムを開発したいから、それに適しているC言語を使っているのです。
ネットワークの知識はそう簡単に変わりません。私が就職した頃からイーサーネットは使われていて、今でもますます使われていますし、IPやTCP,UDP、さらにそこで使われるHTTP,SMTPなどのプロトコルもバージョンアップは多少ありますが、基本的に大きく変わっているわけではありません。私がメシを食っているのは「C言語でプログラムを作れるから」ではなく、「ネットワークプログラミングのノウハウがあるから」です。
通信インフラも長い目で見れば変わることもあるじゃないか、たとえば、RS232Cなんかは使われなくなってきたし・・・という反論もあると思いますが、RS232Cの通信に詳しければイーサーネットでの通信もすんなり理解できるはずです。広く「機器同士の通信」と考えれば、似たような技術が使われているものです。
WEBやDBなどでも同じような考え方ができると思います。
技術スキルを考える際に、言語など手段を考えるのではなく、それを使って何ができるか、を考えれば良いのだと思います。自分はペンを持って文字を書ける、と言うことではなく、文字で何を表現できるか、が重要と言うことです。
もちろん、ベテランには開発や問題解決以外のスキルもすばらしいものがあります。コミュニケーションや分析・判断力なども経験がものを言います。自分のスキルがこの先通用するかどうかが心配な人は、もう少し視点を変えて考えてみれば良いのだと思います。自分は、「身につけた技術や知識を使って、何ができるのか」を見つめなおしてみると良いでしょう。