エンジニアに必要なのは、自分のスキルをアップデートする能力だと思う


エンジニアに必要な能力は何ですか?と問われれば、人によって様々な答えが返ってきます。目指したい方向性によっても変わってきますし、エンジニアとして必要なスキルも様々でしょう。

今でも質問箱などを通して以下のような質問をよくいただきます。

  • エンジニアになりたい。何を勉強すれば良いですか?
  • エンジニアになるならどの言語を勉強するのが良いですか?
  • エンジニアを続けていくために何を勉強すれば良いか教えてください。

今だったらこういうスキルにニーズがありますよ、ということは言えるのですが、多分こういう質問してくる人達が聞きたいことってそういうことではないんですよね。おそらくこの方達は、

どうすれば一生飯を食っていけますか

ということを聞きたいのだと思います。

そんな都合のいい話があるわけねーだろと一蹴しても良いのですが、少し真面目にこのことをブログに書いてみるととにしました。以前エンジニアは業務時間外でも勉強するべきなのかいう記事を書きましたが、本日のブログはこれとはまた別の側面から考え方をまとめた記事になります。

一生飯が食える技術なんて存在しない

まず一番最初に大事なことを言います。一生飯が食える技術なんてこの世に存在しません。もしかしたらごくわずか、そういう技術や仕事もあるかもしれませんが、ほぼ無いと言って間違いありません。

なぜならIT業界の移り変わりは早く、その時その時で主流となる技術は時代と共に次々と移り変わっていくからです。

一度世の中で一世を風靡した技術はすぐに消えることはありません。すぐに消えることはありませんがいずれ消えていきます。厳密に言うと既存システムの保守メンテナンスがあるので中々絶滅はしませんが、絶滅危惧種のような存在となっていきます。

10年、20年前であればプログラミング言語と言えばC言語という時代もあったと思いますが、今からプログラミングを覚える人がC言語を習得することはほとんどないでしょう。10年くらい前にはJavaが世の中で一世を風靡して、今でも幅広く使われてはいますがこれから(既に)下火になっていく可能性が高いでしょう。今主流となっているPHP、Ruby、あるいはPython等の言語についても5年後、10年後にはどうなっているかわかりません。

フレームワークとなるともっとライフサイクルは短くなります。2~3年程度で最新のフレームワークが登場して主役の座が変わりますし、主流ではなくなったフレームワークはアップデートが停止することだってあります。

このように、主流となる技術は時代と共に移り変わるという当たり前の事実を抑えておく必要があります。20年も30年も市場価値が続くようなスキルは基本的に存在しないと思っておく必要があります。

IT業界のスピードは速いのでそんなことは誰もが知っているはずのことなのに、その当たり前のことが抜け落ちているから「エンジニアになるには何を勉強しておけば良いですか?」みたいな質問も出てきてしまうのでしょう。

自分の持つスキルで飯が食えなくなったらどうするか

今自分が習得したスキルに対して世の中からニーズがなくなってエンジニアとして飯が食えなくなったらどうするか。これに対する答えは大きく分けて次の2択です。

  1. エンジニアを辞める
  2. スキルをアップデートする

エンジニアを辞める

実際30代くらいで技術的に通用しなくなってエンジニアを辞めていく人ってそれなりにいますよね。エンジニアの世界には35歳定年説というものが昔からありますが、一理ある部分もあります。

新人研修で教わったスキルのみで、その後自分で全くスキルのアップデートをしてこなかったエンジニアだと、35歳くらいになった時に新人研修で習得したスキルが通用しなくなり、仕事がなくなってしまうという状況になる可能性があります。

プログラマー35歳定年説については以前、プログラマー35歳定年説が嘘なのはもうわかっているけど一応考えてみたの記事でも考察してみてますのでご興味があればご覧ください。

スキルをアップデートする

もしエンジニアを辞めたくない、ずっと技術で飯を食っていきたいと考えるのであれば、時代に合わせて自らのスキルをアップデートしていくしかありません。要するに勉強しろということです。

プライベートで勉強する、勉強できる仕事環境に身を置くなど、方法は何でも良いですが、スキルのアップデートを怠ったエンジニアには、エンジニア35歳定年説という都市伝説のような話が現実味を帯びて足音を忍ばせてきます。

逆にスキルのアップデートさえしっかりと行っていれば、40代になっても50代になっても、エンジニアとして活躍し続けることができます。実際スキルのアップデートを続けてきた40代、50代の人ってすごい人が多いですよね。35歳定年説って何の話?という感じです。

(マネジメントにシフトする)

補足として「マネジメントにシフトする」という方法もあるのですが、これも基本的にはスキルのアップデートです。習得するスキルがプログラミング等の技術よりのことではなくて、マネジメントよりになったというだけの話です。

ただしマネジメントの習得は容易ではないですよ。相応の努力や経験が必要となります。それなのにスキルのアップデートを怠ったエンジニアが、技術で勝負できなくなったからといって「俺はマネジメントで勝負する!」と寝言をぬかす人が困ったことにこの業界には多いんですよね。

こんなのにマネジメントやられたら周りが迷惑するだけです。スキルのアップデートができないような人がマネジメントができるようになるわけがないでしょう。迷惑だから本当にやめてほしい。

どの言語を覚えれば良いですか?という愚問

冒頭でも紹介した通り、どの言語を覚えれば良いですか?という質問する人が結構いますがこれは愚問です。

重要なことはスキルをアップデートしていくことですから、まずはこれからやろうとしている仕事で必要な言語を習得すれば良いです。その後も常に自分が進んでいきたい方向性を見定めながら、常に自らのスキルをアップデートしていくことが重要です。

ちなみにスキルのアップデートをやめてしまったエンジニアがどれくらいやばいかというと、Windowsアップデートが停止してしまったWindowsと同じくらいにはやばいです。いや、もっとやばいです。

今後どんなスキルが主流となっていくか?を考えることももちろん大切ですけど、5年先にどんな技術が主流になっているかなんて誰にも予言できませんから。今では思いもよらない技術が5年後には登場していたりしますから。

大事なことは、スキルをアップデートしていくことです。

COBOLで飯食えますけど?という主張

こういう系の話をしていると必ず出てくるのが、「COBOLの仕事はなくならないし、俺はCOBOLで問題なく飯食えてますけど?」というものです。

まあそれはその通りです。現状COBOLのシステムがすぐに消滅することはなく、COBOLのシステムをメンテナンスできるエンジニアに対する需要は間違いなくあります。

ただし彼らの多くは、スキルをアップデートする能力を失ってしまっています

確かに現状COBOLで飯を食っていくことはできますが、彼らはCOBOLでしか飯を食っていくことができません。他の技術分野にスキルチェンジすることが極めて困難です。

今は確かにCOBOLの仕事は存在しますが、もし今後COBOLのシステムが消滅するような時代がやってきたら、彼らはエンジニアとしての職を失う可能性が極めて高くなります。

そういうリスクを背負い、COBOLに運命を委ねながら一生COBOLで飯を食っていくという方針でやっていくならそれもありでしょう。別に否定はしません。ただし色々なリスクを背負っているということだけは言っておきます。

ましてやこれからの将来に希望に胸を膨らませる新人エンジニアにCOBOLの仕事をやらせるなどということは、私にはほとんど嫌がらせに近い行為にしか思えませんね。

最新技術にアンテナを張るべき理由

エンジニアが最新技術にアンテナを張るべき理由は、スキルをアップデートする判断材料を増やすためです。別に全ての最新技術を習得することが必須なわけではありません。

スキルのアップデートを行っていくということは、エンジニアにとっては自らのキャリアを作っていくこととほぼ同義です。

あれもこれも最新技術に手を出すことがスキルのアップデートではありません。自分のキャリアを何も考えずにあれもこれも手を出していると、結局大したことは身につかず、浅い知識と経験しかもたないエンジニアになってしまいます。

その最たるものが資格マニアのおじさんです。勉強熱心で資格はたくさん持っているけど、たいした能力もなくて全然魅力を感じない人って時々いますよね。

今後どのような方向性で進んでいくのか、どのようなキャリアを作っていくのか、そのためにどのようにスキルをアップデートしていくのか。

これを考えていくためには最新技術の情報を仕入れることが必ず必要になります。だから最新技術にアンテナを張るべきなのです。

まとめ

私は株式会社アクシアという残業ゼロ、常駐なしの完全自社開発のシステム開発会社を経営しておりますが、7月にアトムズという会社の取締役にも就任し、そこで自社開発限定のエンジニア人材紹介サービスを始めました。

自社開発限定のエンジニア人材紹介サービス始めます

この事業を通じて、自社開発を行っている様々な企業の経営者や人事の方と話をする機会が増えましたが、全体的な傾向として、自分のキャリアをしっかり考えているエンジニアが好まれる傾向があります。

なぜなら、自分のキャリアをしっかり考えているエンジニアというのは、スキルのアップデートをするために常に最新技術にアンテナを張り、スキルアップに励んでいることが当たり前だからです。

SESみたいなゴミみたいな会社はともかく、まともな会社でエンジニアを求めている企業のニーズとマッチするためにも、エンジニアは自らのスキルをアップデートしていくことを常に考えていくべきでしょう。

このエントリーに関連した記事はこちら