スペシャリストから只の人

 数年の開発経験を経て、ある開発言語のスペシャリストになったとします。
その開発言語が主流であるときは何ら問題はないのですが、いずれ開発の主流は移り変わります。ひとたび過去の技術になった場合、その技術者はその時点でお呼びがからなくなってしまいます。

 即ち スペシャリストから只の人になってしまう危険性が十分にあります。ここがこの業界の問題です。

かつての汎用機時代

 汎用機全盛時代のCOBOL、FORTRAN、PL/I がその例です。今でもCOBOLは生き延びてはいますが、FORTRAN、PL/I に関して言えば、過去の言語になってしまいました。
パーソナルコンピュータで科学技術計算が十分出来るようになったからです。
 しかし、金融・生保系などの大企業の基幹システムであればCOBOL言語は今もなお使用されています。COBOL言語は、今までの膨大なプログラム資産を継承するためには簡単に捨てられない言語だからです。また、基幹業務システムを熟知したベテランSEがCOBOL技術者であるのも大きな理由でしょう。

  COBOL需要が極端に少なくなったとは言え、今もなお需要はあります。汎用機の開発に無縁人にとっては信じられない話です。

(注)COBOLはコンピュータの別の次元として生き続けていくことでしょう。現在もCOBOL需要は大型汎用機に欠かせない開発言語です。

そしてPCの時代へ

 汎用機の全盛時代に、汎用機の代替マシンとしてオフコンがありました。中企業や大企業の本支店間データ送受信に、このオフコンを導入することは当時としては最適な手段でした。このように汎用機全盛に伴い、オフコンも全盛期を迎えます。オフコンをターゲットにした中小ソフトハウスも乱立しました。

 しかし、パーソナルコンピュータが汎用機を侵食するよりも先にオフコンは一気に姿を消しました。何故、オフコンは死んだのでしょうか?理由は非常に簡単です。パソコンと汎用機の中間としてどっちつかずだったからです。パソコンが高性能化されれば、オフコンの存在意義は殆どありません。

現在の開発言語の主流は

 今は、やたら沢山の言語があります。現在の人気言語はJavaやC#などのオブジェクト指向言語です。Java/C++/C#等を操れる技術者であれば職に困らないし、優遇されています。昨今は GoやPythonがトレンドになっています。更にウェブサイト制作、ウェブシステムにはHTML、CSS、JavaScript等の知識も欠かせません。

 但し、これは大型汎用機時代のCOBOL、FORTRANの教訓につながります。大型汎用機全盛時代にCOBOLを習得していれば、一生仕事に困ることはないと言われていました。しかし、その言葉は正しくありませんでした。どんな開発言語であっても、いづれ似たような道をたどることになるでしょう。既にインターネットの普及で現在の主流言語さえ怪しくなっています。

 歴史は繰り返されます。次の主流言語は必ず登場します。実際、Javaが騒ぎたてられていた時代は過ぎ去り、今はPHP、JavaScript、Pythonの方が需要が高いかもしれません。既に各種ツールを組み合わせてシステム開発する時代が到来しています。

 こうした危険を回避するためには、 一つの開発言語を徹底的にマスターし、新しい言語でも柔軟に対応できる土台を作り、深い業務知識を獲得することが絶対不可欠です。ひとつの高級言語を徹底的にマスターすることで応用が効くのです。

若いうちにこそ

 多くの人は後になって感じることになるのですが、やはり若いうちに多くの質の良い作業を経験することが非常に重要です。私が年齢を重ねても、この業界で今も尚、開発作業に関与できるのは過去の経験があったからだと疑いません。これだけは、年長者の意見を素直に聞き入れて下さい。これは経験から言えることです。

 業務特化した経験は良いことですが、あまりにも閉じた技術だけに特化しすぎると、その仕事がなくなると全く声がかからなくなってしまいます。そのときになって、『 さあ困った。どうしよう 』 と言っても対処法がありません。

トレンド開発

 昨今の開発主流の一つにweb開発があります。フロントエンドとして、HTML、CSS、JavaScript等による制作。Java、C#、PHP、Python等によるサーバーサイド開発が対象となります。現在は特定言語に全く依存せず、各種ツールを組み合わせてウェブシステムを構築することも珍しくありません。

 webだけが全てではありません。webに関係しない開発業務は幾らでもあります。 しかし、そうなるとトレンドに全く縁のない技術や過ぎ去ったレガシーシステムでシステム構築している技術者は、どんどん主流から外れてしまうことになってしまいます。

 決して誰も望んでそうしている訳ではありませんが、恐らく 過半数以上の人は、やりたくない開発工程に携わっているはずです。IT分野と言っても旬の開発もあれば、過ぎ去った技術や将来の技術に全く結びつかない脇役の作業は沢山あるからです。分かっちゃいるけど、どうしようも出来ない困った話です。

エンジニアマインド

 それでは、我々技術者はどう対応すれば良いのでしょうか?
エンジニアマインドとは、 一つの言語・業種に留まらず、幅広い分野を いかに若いうちから経験するかにあります。たとえ今の業務と違っても、常に意識して普段から技術向上に心掛けるしかありません。

 私も技術専門書は非常に沢山購入しました。常に新しい技法を学び続けようとしました。始めるには年齢は関係ありません。弊社の親しい会社で65歳を超えても なお現役で開発を行っていたコンピュータに非常に造詣の深い技術者がおられました。これは尊敬すべき事実でした。

 当時、優に60歳を超えていながら C#、.Netは勿論、次々登場する複数の新言語・新技法をどんどんマスターするのです。私には驚異でした。何故 次々マスター出来るのか?

 大先輩曰く、 「基本を正しく理解すれば、どんな言語も所詮一緒なんですよ」と。技術者を目指すならそこまで目指すべきだと思いました。それがエンジニアマインドだと。新言語・新技法が登場しても、「どんな言語も所詮一緒なんだ」のセリフを言えるよう目指すべきだと。

 勿論、簡単なはずはありません。どんな世界だって新しいことに挑戦する場合は、不安とプレッシャーは伴ないます。 努力した分だけ喜びが伴なうことを信じて進むしかありません。口で言うのは簡単ですけど、なかなか実行できないものです。

最初は乗り越えられなかった人でも諦めず何回も何回も挑戦すれば、必ず結果は伴います。
If at first you don't succeed, try try try again.
そんな人たちにエールを送ります。

2014年05月10日 榊 勝彦
2018年03月26日 改定
2022年08月26日 改定