2020年以降に役立つIT資格とは?
今後10年、自身の価値を高めてくれる資格とは
かつてITエンジニアが取得を目指した資格と言えば、
・国家資格系(いわゆる基本情報技術者試験等からスタートする一連の試験)
・民間ベンダー系(CCNA、オラクルマスターなど)
の2つが一般的でした。
私自身、エンジニアとしてのキャリアをスタートしたときには、上記の資格取得で学んだ知識は有用であったとように思います。
では、この状況に変化はないのでしょうか?
資格を獲得すべきかを考えるならば、需要側(エンジニアを雇う企業・人)の事業環境に変化はないか考えなければなりません。
クラウド化がエンジニアのスキルセットも変化させた
10年までであれば、ちょっとした業務システムであっても、スクラッチ開発は珍しいものではありませんでした。まだどの企業も社内にオンプレミス環境を保有しており、そのサーバーを保守する専門部隊として情報システム部を抱えていました。
こうした環境であれば、新たなシステム開発をするときにもサーバー側の知識やDBの組み方、ネットワーク環境の知識は不可欠です。さらに「セキュリティを十分に担保した」という要件を満たすためには、考えるべきことは膨大にありました。
2019年現在、私たちは同じ事業環境にいるでしょうか?
いいえ、現在であれば十分にセキュリティが担保されたクラウド環境でシステム開発をするのが普通です。目的に応じたインスタンスを選択するだけで、十分に拡張性の高い環境を手に入れることが出来ます。
クライアント側では、例えばデータベース構造に悩む機会は減りましたし、ネットワーク環境まで考慮して物事を考える必要性もあまりなくなってきました。
Google CloudやAWSのチームに参加したいと考えている人は別として、SIerや企業内ITエンジニアがサーバーやネットワーク系の知識を持つ必要性は、過去に比べれば低くなってきたように思います。
フロントサイドの知識が現代の主戦場
絶対数としては、エンジニアのスキルの主戦場は、フロントサイドに移ったといっていいでしょう。
例えばデータアナリティクス系のアプリケーションエンジニアならばPython/Cと統計的知識、ゲーム開発系のアプリケーションエンジニアならばUnity/C#といった具合です。
Pythonなどは、もともとサーバーサイドエンジニアの領分だったように思いますが、使用方法として、データアナリティクスにとってはフロントサイドのイメージで使用しているように思います。
何より大事なのは問題定義力
そしてエンジニアにとってなにより大切なのは、「問題を自ら定義し、解決の見通しを立てられる力」です。
・そもそもこのシステムで何を達成したいのか?
・達成したとして、十分なインパクトを起こせるのか?
・日々問題が発生する開発現場において、何をどんな優先順で取り組むか?
といった力なくして、物事はカタチになりません。
この力の重要性に比べれば、「プログラミング言語を知っている」ことの付加価値は実は大きくありません。プログラミング言語をいくら理解していてもビジネス的仮説を立てられなければ、結局は他人からの依頼で動くしかないからです。自分の仕事がお金の発生源から遠くなればなるほど、獲得できるお金の量は少なくなります。1キロステップを何秒で書けるとかいうのは、付加価値という意味では競争力を持たないのです。
フリーのエンジニアは妙に単価が安く、企業に依頼すると高くなるのは実はこの付加価値のおかげともいえます。「何が問題になりそうでどう解決するか」の問題マネジメント力を買おうとすると高いのです。
自分で状況をコントロールできて、単にプログラミング作業を外注したいだけならば、そこまでコストは高くありません。
フロントサイド×マネジメント力で高い付加価値を発揮しよう