
ITエンジニアのスキルは、一つじゃない
20代の若いITエンジニアの方に取材をさせていただくと、どうも開発言語に寄ったキャリアやスキルを重視しすぎているのでは、と感じることがあります。
もちろん、それが間違いだとは言いません。特にWebサービスの世界では、いかにアイデアを実現させられるかは、開発言語(およびフレームワーク)によるところが大きいからです。
とはいえ、開発言語ーーもっといえば、プログラミングだけがITエンジニアのスキルなのでしょうか。(以後、ソフトウェアエンジニアを中心に話を進めます)
要件定義や設計ができなければ、そもそもプログラミング(実装や製造と同意義)はできませんし、最近はDepOpsやアジャイル開発など、開発と運用が一体になったプロジェクトも少なくありません。
どこを主戦場にするか、という問題はあれど、プログラミングのスキルだけで事足りるということはないでしょう。
■ソフトウェアエンジニアのスキルとは
・プログラミング
・設計
・要件定義
・プロジェクトマネジメント(あるいはプロダクトマネジメント)
・運用設計/運用手法
・サービス設計
いったん、インフラ側は置いておきます。ソフトウェア側だけを考えても、上記のスキルはあったほうがよい。
「いや、これだけでは足りない」というエンジニアも多いとは思います。ここでは一個人、業務系システム・Webサービスともに共通する項目を挙げました(サービス設計はいらないかな)。
結論から言えば、ソフトウェアエンジニアにはシステムを俯瞰する力が必要、ということ。
上記のnoteに出てくる担当範囲を見ても、一つのスキルだけではダメだということが分かるでしょう。
特に「要件定義」「プロジェクトマネジメント」がしっかりしていないと、システムは崩壊します。プロダクトは違いますが、私が携わる求人広告も同じです。最初に、クライアントと同意が取れないと、いざ求人広告を見せたときに炎上することは少なくありません。炎上せず、よりよいプロダクトをつくるためには「要件定義(=最初の同意)」と「プロジェクトマネジメント」が不可欠です。
■ソフトウェアエンジニアに求められること
実際の制作(システムの場合、実装)が想像の300%、400%超えをしているのであれば、クライアントも共感してもらえます。しかし大抵の場合、せいぜい120%超えくらいなので「分かるけど、違うんだよね」とリテイクを喰らいます。
若手ソフトウェアエンジニアも、実装でなんとかできると思っていること、プログラミングが自分たちの仕事だと思っているため、プログラミング=ソフトウェアエンジニアと考えているのでしょう。
しかし、本当の仕事は「ユーザーの”不”を解消すること」です。ユーザーが「不安」「不満」「不便」「不利益」「不快」に感じていることの解消です。課題解決と言い換えても良いかもしれません。
その視点で考えると、プログラミング(開発言語)は手段に過ぎず、解決できるのであれば、RubyでもJavaでもPythonでも何でも良いのです。
彼女の言っていることは正しいけれど、すべてが正しいわけではありません。
プロジェクトマネジメントにおいて開発スキルはあるべきだけれど、高いレベルは不要です。そもそも、ITに活用されているプロジェクトマネジメント資格の一つであるPMBOKは、必ずしもITではなく、プロジェクトマネジメント全体をカバーしています。
プロジェクトマネジメントのスキルは、必ずしも開発の延長線上にはありません。
また、小さいベンチャーにいる以上、システム(この場合、Webサービス)全体に関わり、フロントエンドもサーバサイドもは当たり前です。なぜなら、(人がいないという物理的な問題がありますが、)ソフトウェアエンジニアとは、Webサービス(ITシステム)を通じて「ユーザーの”不”を解消すること」が仕事だからです。
※今度、中小企業の選び方で、社長について語りたいと思います。
■ソフトウェアエンジニアが描くべき未来
じゃあ、ソフトウェアエンジニアはすべてをやらなければならないのか。答えは「No」です。確かに、すべてを知識として知っていることは求められます。いぽうでそのなかで、どこを自分のスキルとしてキャリアを描くかは、エンジニアが選択すべきことです。
例えば、自分はフロントエンドエンジニアとして生きていくと考えたとします。ですが、サーバサイドを知らなくていいわけではありません。フロントエンドとサーバサイドは密接な関係にあるので、一定の知識・スキルは必要です。(マーケティングまで必要かどうかは、その人のキャリアによります)
専門職ではあるものの、求められるスキルが多いので、ITエンジニアは大変だと思います。とはいえ、「自分のスキルはここだけ」と狭めてしまうと、5年後10年後のキャリアは存在しません。
少し広い視野で自分のスキルやキャリアを見ると、ご自身の選択肢を増やすことができます。ぜひ、視野狭窄にならず、エンジニアの果たすべき役割を見据えつつ、将来を考えていただけると、きっと幸せな未来が見えるのではないでしょうか。
いいなと思ったら応援しよう!
