こんにちは!
複数の億規模プロジェクトでPLやってるやまさんです!
最近、Twitterやwebを見てて次のようなコメントをよく見かけます。
エンジニア(SE)は人不足だし、リストラされる心配もないよね
↑ですが、実のところ、全面的にホントの話かというとボクはちょっと疑問です…
IT企業でプロジェクトリーダとして働いているボクとしては半分ウソで半分ホントというのが結論かなと…
この記事では実際の開発現場にいて感じる”エンジニア(SE)って人不足”のウソ部分とホントの部分を紹介してみたいと思います!
今後のキャリアを考える上で役に立つと思うので、ぜひ読んでみてくださいね!
Contents
エンジニア(SE)不足って経済産業省も言っているけど…
2019年3月に経済産業省から2030年でIT人材は最大約79万人不足するという調査結果が発表されました。
※↓が実際に発表されたグラフです。
その他にもプログラミング学習が義務教育に取り入れられたりしてますね。
また、「IT・通信」分野の求人倍率も5倍を超えていると言われています。
人材市場としてもエンジニアは不足しているように見えますね。
ここまでは割と深刻な人材不足になってて国レベルで何とかしようとしているように見えます。
やっぱりエンジニア(SE)は安泰だね!
うーん…
実際にシステム開発の現場で働いていると、実はそうでもない気がするんですよね…
世間的にはエンジニア(SE)は人不足とされていますが、ITの現場にいるとそうでもないと感じます。
またTwitterなどでも、
エンジニア転職の面接これでx社目…
といったツイートを見かけることもあるんじゃないでしょうか^^;
ここからITの現場からみたエンジニア(SE)=人不足の実態を紹介していきたいと思います。
IT企業にいて感じるエンジニア(SE)不足の嘘の部分
指示されてプログラミングできるエンジニアは不足してない
プログミラングできる人はわりといます。
やまさんが働いている部署の話をすると
人がいなくてヤバい…
なんて状態になったりはしてません^^;
経済産業省が言っている約79万人不足や求人倍率5.22倍の話を聞いた後だと、実際の開発現場でエンジニア不足になってないという状況を不思議に感じますよね^^;
どういうことかというと、どんなシステムを作ればいいか指示してプログミラングしてくれる人は結構いるってことです。
こういう人のことをSEと区別して(初級)プログラマやコーダーと言ったりするところもあるみたいですね。
設計書などの形で
こういう仕様のプログラム作ってほしいんですが、お願いしてもよいでしょうか。
こういうお願いの仕方をすれば、バリバリやってくれるエンジニア(SE)はわりといるんですよね^^;
ようはスクールや学習環境が発達した結果コーディングできるの人はたくさん育ったってことだと思います。
プログラミング”だけ”でやってくエンジニアは危ない
今はまだ大丈夫ですが、正直なところ、ボクはプログラミング”だけ”やるエンジニア(SE)は将来的に危ないと思っています…
というのも、先日、久しぶりにテレビを見ていると、
最短xヵ月であなたもITエンジニアに!!話題のプログラミングスクールはこちら!
こんなCMが流れてました…
しかもボクが見ていたのはキー局のテレビCM。
テレビのCMは結構お金がかかりますよね。
あまり詳しく知りませんが(←オイ)
制作費やCMを流す頻度を考えれば、100万円単位のお金が動くでしょう。
ここで言いたいのはテレビCMをキッカケにプログミランを勉強する人が急増。
結果、プログラミングできるエンジニアがどんどん増えてくるということです。
テレビCMが流れているということはネット広告や雑誌でもすでに宣伝されていて、露出が多くなっているということになりますね…
中には秘めた才能を持った優秀な人もいることでしょう。
さらに言うと次の記事でも紹介しましたが、プログラミングの世界ではノーコード開発、AIの発達など、プログミラング技術がなくても、システム開発できちゃう技術が研究されています。
そういう意味でプログラミングスキルだけで戦っていくのはレッドオーション…
競争が激しい世界と言わざるおえないです…
なので、プログラミングスキルだけでIT業界で戦っていくのはリスクが高く、ボクはおすすめしません。
IT企業にいて感じるエンジニア(SE)不足の本当の部分
どういうシステムを作るか考えられるエンジニア(SE)は不足
ここまでかなり悲観的な話をしましたが、エンンジニア(SE)が不足しているのはITの現場にいても半分本当です。
どんなエンジニア(SE)が不足しているのでしょうか。
結論を言うと、開発しようとしてるシステム全体みて
こういうシステム設計(機能)にすればいいよね。
こんな風に仮説を立てて正解を作りにいくスキルを持ったエンジニア(SE)は少ないです。
システム開発ははっきりとした”正解”がありませんからね^^;
正解が分からない中で方針を決めていかないといけないので、論理思考や仮設思考などのビジネススキルが求められます。
論理思考や仮設思考など能力はプログラミングなどのITスキルとは別の能力なんですよね。
プログラミングスクールなどでITスキルを持った人材は増えました。
ですが、論理思考や仮設思考といったビジネススキルの能力を駆使し、どういうシステムを作るか考えられるエンジニア(SE)は少ない、というのが開発現場の実態です。
プロジェクトを推進する力を持ったエンジニア(SE)も不足
プロジェクトを推進する力の持ったエンジニア(SE)も不足しているのが現実です。
当然ですが、プロジェクトはいろんな人が参加します。
フロントエンドとバックエンド、アプリとインフラなど、プロジェクトではいろんなチームができあがりますよね。
小さなプロジェクトだと兼任してる場合もありますが、クラウドだと専門的な知識が必要な場合もあります。
なので、アプリ(業務)とインフラ(基盤)でわかれていることは多いんじゃないでしょうか。
また、大きいプロジェクトだと、アプリの中でも、いくつかチームがあって…などにもなったりするんですよね。
2人以上でシステム開発をする場合、どんなシステムを作っていくか機能のすり合わせが必要になってきます。
1対1だとスムーズなんですが…
どんなシステムを開発するのか、すり合わせするのが2人、3人…と増えていくと、難易度がどんどん上がっていきます。
ちなみに、ボクが所属している部署は結構規模が大きいということもあって、ある1つの機能のすり合わせを行うのに3チーム、4チームと調整を行うのは正直、よくあることです。
1チームあたり、5~10人ぐらいいるので、ある意味、15~40人ぐらいと調整していることになります。
実際はチームの代表者と調整するので、話をするのは5,6人ぐらいなんですけどね^^;
ただ、代表者も後ろにメンバーがいるので簡単にはOKしてくれません…
これがまた大変で………
うん、ちょっと話がそれそうなのでここまでにしておきます^^;
ちょっと話がそれましたが、こういうチーム間をまたがったシステム仕様の調整をできる人は結構少ないですよ。
自分が担当している部分は分かるけど他のチーム担当している部分は興味すら示さない人も…
システムの規模が大きくなればなるほど、自分の担当範囲以外は無関心になっていく傾向にある気がします…
調整するにはいろんな能力が必要ですが、ある程度の”正解”を自分で作った上で相手を説得しにいく必要があります。
こういう”推進力”を持ったエンジニア(SE)もほとんどいないのが現実です。
どんなサービスを作るべきか考えられるエンジニア(SE)はほとんどない
ひと昔前の話………
プログラミングできるの?? すごい!
こう言われる時代がありました。
(1990年代~2000年前半ぐらいですかね?)
ですが、正直なところ、「プログラミングができればすごい」と言われる時代はもう過去の話…
この記事の中でも触れたように今は、スクールがたくさんできCMまで流れさらには自己管理能力とやる気があれば、Youtubeなどで無料で勉強できる。
今はそんな時代です。
実際に、IT企業じゃなくても、一般的な企業でもシステム部門が置かれIT人材がいたりしますよね。
今でもプログラミングはちゃんと勉強しないとできない専門技能であることは変わりません。
ですが、義務教育にプログラミングが導入されたことによって算数ができるように、多くの人がプログミラングができる時代も来るかもしれません。
そんなITスキルが一般的に普及する世界で”プログラミングができる人”と”エンジニア(SE)”で何が違うのか。
ボクはITシステムを問題解決の手段の1つしてとらえているかで違いが出ると思います。
システムは目的を達成するための手段です。
手段は目的を達成するためにあります。
つまり、システムそのものに価値はないってことですね。
お客さんが抱えている問題を解決するにはどうしたらいいか。
どんな機能を持ったシステムを作ればお客さんの問題は解決できるのか。
そもそもお客さんの問題は何なのか、解決すべき問題なのか。
ITシステムをお客さんやユーザの問題を解決するための1つの手段としてとらえているか
この違いが”プログラミングができる人”と”エンジニア(SE)”の違いだと思います。
ITシステムをお客さんやユーザの問題を解決するための1つの手段としてとらえ、システムが生み出す価値を考えること。
つまり、ITシステムが実現すべきサービス内容そのものを考えられるようになることがエンジニア(SE)には求めらるとボクは思います。
残念ながら、お客さんの問題をどうやったら解決できるのか、この視点を持ってるエンジニア(SE)とボクは数えるほどしか出会ったことがないです…
なぜいないんでしょうか…
それはお客さんの問題、つまりビジネス上の問題を理解するための知識やスキルを持ったエンジニア(SE)が少ないからだとボクは考えています。
本当にめったにいないんですよ(苦笑)
こういったビジネス上の問題ってITスキルと関係ないですから当たり前なのかもしれませんが…^^;
まとめると、ビジネスの知識とシステムを関連付けて考えられるエンジニア(SE)はとても少ないです。
ですが、そのぶん、ビジネスの知識、つまりビジネススキルを身につけたエンジニア(SE)は強いです。
まとめ:プログラミングだけできるエンジニア(SE)は結構いるけど、ビジネススキルを持ったエンジニア(SE)は不足
この記事では次のようなことを紹介しました。
- 世間的にはエンジニア(SE)不足と言われてる
- 指示をもらえると動けるプログラミングスキルを持ったエンジニア(SE)はわりといる(エンジニア(SE)不足の嘘の部分)
- システム全体を見て仮説を立てて設計できるエンジニア(SE)は少ない
- プロジェクトを推進する力をもったエンジニア(SE)も少ない
- ビジネス上の問題とシステムを結び付けて考えられるエンジニア(SE)はめちゃ少ない
いかがでしたしょうか。
なお、ビジネス上の問題とシステムをむずびつける力を持つと…
年収も結構あがるんですよね^^
エンジニア(SE)でビジネススキルを持ってる人がめちゃ少ないので当然といえば当然なんですけどね^^;
せっかく働くなら給料もたくさんもらいたいと思いませんか?
ボクはたくさんもらいたいです!!(←素直)
そのあたりのことをこちらの記事で紹介しているのでぜひ読んでみてください!
それでは!
エンジニア(SE)って人不足だから、プログラミングスキル身につけてエンジニア(SE)になっちゃおう!