※一気に書いてますので乱文はご容赦ください。
※定義が曖昧な内容を扱うので、1つのケースとして捉えてください。
今回はキャリアパスについて考えてみたいと思います。
システムエンジニアとしてIT業界に入った後、「上流工程に関わりたい」または、「上流には関わりたくない」という声を多く耳にします。
まず、システムエンジニアの担当工程として、お客さんに近い工程から、
--------
要件定義:システムへの要求・要望を引き出し整理し予算納期に応じて提案を行う。
基本設計:要件定義を基にシステムに必要となる画面や帳票などの仕様を決める。
詳細設計:基本設計を基にプログラムの仕様を決める。
製造:詳細設計に沿って開発を行う。
テスト:開発されたシステムの動作テストや、仕様に沿っているかチェックを行う。
--------
上記のような工程が存在し、お客さんに近い工程となる要件定義や基本設計を上流工程。詳細設計以降を下流工程と呼んだりします。
新しくIT業界に入る方の多くはテスターやプログラマとして下流工程の担当となりますが、多くの企業ではキャリアパスとして、「上流工程を担当できるようになる」ことを要求しています。
確かに上流工程へのキャリアパスは魅力的に映るものであり、将来はプロジェクトを率いるプロジェクトマネージャーなどマネジメントへのステップでもあります。
ただ、現在ではマネジメントへ向かう事だけがキャリアパスではなくなりました。
1昔前はソーシャルゲームの台頭と共に、phpなど学習コストが低いとされる言語を用いた大量生産型の需要が旺盛でしたが、現在では機械学習のライブラリが整いつつあるpythonや、ブロックチェーンを扱うエンジニアの需要が盛んになっています。AIや暗号通貨といった技術が普及し、一企業が扱える環境が整ってきたからです。このような開発に求められる需要の変化に対応できるシステムエンジニアというのはスペシャリスト系として常に求められる人材です。
また、現在の開発現場ではシステムエンジニアの他にも、ネットワークの設計を行うネットワークエンジニア、サーバーの設計構築を行うインフラエンジニアなど分野が細分化しており、一分野だけではすべての開発が行えなくなってきています。その中で、担当分野が多岐にわたり1人でサービスの立ち上げが行えるようなエンジニアをフルスタックエンジニアと呼ぶようになってきました。フルスタックエンジニアもスペシャリスト系として強く求められる人材です。
このように、マネジメントに進まなくても、スペシャリストとしてキャリアを築ける時代です。
ただ共通するのは、マネジメント系であれば様々な価値観のメンバーやお客さんと接していくためのコミュニケーション能力や管理手法の追求。スペシャリスト系であれば技術の変遷に応じた勉強が欠かせないという事です。変わっていけなければ、時代に取り残されます。
未来というのは待っていて開けるものではありませんし、学びを活用して初めて開けるものです。
長くIT業界で働きたいと考えているならば、ぜひ学びを歓迎する環境へ身を置いてください。