目指すキャリアを決める方法(IT業界)

会社や業界によって異なると思いますが、

  • プログラマー:設計書を元に定義された仕様のソフトウェアをプログラミング開発
  • エンジニア:システム開発における全般に責任を持ち、プロジェクトや事業の推進を担当
  • コンサルタント:会社ビジョンに基づき、正しい経営や戦略を提案

だいたい、このような役割だと思います。

どの道に進むのかは、それぞれの志向やスキル適合によるかもしれませんが、
まずは「どんな仕事人生を歩みたいか」が大きく関連すると思います。

ですが私と同じく、どんなキャリアに進むべきか決められない方も多いと思います。
そんな方に向けて有益となる情報を書きたいと思います。

役割整理

プログラマーとエンジニア

この2つの言葉の定義は結構曖昧だと思いますが、
私的には、エンジニアはプログラマーを包含しているようなイメージでいます。
何を言っているかと言いますと、

f:id:toshi_life:20190721203811j:plain

こんなイメージなんですが、
エンジニアの方が偉いとか仕事量多いとかそんなことではありません。

プログラマーはプログラミングがメインの業務で、エンジニアはプログラミングもドキュメント整備もメイン業務となるケースが多いです。
私は社内SEを経験していますが、プログラミングを担当しなくとも、出来上がったコードに対しては責任を持つ必要がありますので、よく見るケースは

  • 要件定義・基本設計書 → エンジニア
  • 詳細設計書・プログラミング → プログラマー

このような役割分担です。
人が少ない場合はエンジニアだけでやり繰りすることもあります。

エンジニアとコンサルタント

世間的にこの2つの言葉の定義ははっきりしていると思います。
ですが、現在外資コンサルティング会社にいる私からすると、この2つもわりと曖昧です。

なぜかと言うと、役職としてコンサルタントというタイトルを与えられていても、従事している業務はエンジニアに近く、要件定義や基本設計がメインのケースがあるからです。

違いがあるとすれば、その場合のコンサルタントの動きは、システムや業務設計を本質的に正しい方向に導く役割が強いと感じてます。
とはいえ、エンジニアとして働いている方でもそのような動きをしているケースもあり、システム設計においてコンサルティング出来るエンジニアはコンサルタントと同じだと思います。

どれを選択すべきかわからない

この場合、私としては迷わず「コンサルタント」を選ぶべきだと思います。

システム開発におけるビジネスの流れは、
コンサルタント > エンジニア > プログラマー
という具合で、上流から下流に流れていきます。

そうなると、コンサルタントはビジネスの開始から終わりまでお世話出来ると共に、エンジニアやプログラマーの働き方を見ることもできます。
または、実際に見ることは無くとも彼らの動きを把握することは、コンサルタントとしては、わりと重要なので、必然的に理解出来るようになります。

働いたあとで、興味をもったキャリアに転職やトランスファーするなどして経験していけばよいと思います。

下流から上流(プログラマーからコンサルタント)の動きも見れるんじゃね?」
そう感じる方もいらっしゃると思います。

私の経験上、両者が同じ現場に常駐するなどして一緒にいない限りは、見る機会は少ないと思います。
しかも、ビジネスの流れ的にも、コンサルタントがメインで活動する時期とプログラマーがメインで活動する時期が異なりますので、本来の業務内容でない部分を見ることになる可能性が高いので、出来る限り上流に関わることが重要となります。

※日本では上流工程の方が単価が高い傾向にあるので給与についてもその理解が必要です

まとめ

  • IT業界での進むべきキャリアに迷ったら「コンサルタント」を目指すべき
  • 役職と業務内容が曖昧なケースもある
  • 上流に関わることで今後を見据えた動きの参考になる