エンジニアとしてキャリアパスは考えていますか?
プログラマーになってある程度コードを自由に書けるようになってきた頃、次のステップを目指したいという向上心のある方は多いと思います。
一般的に次のステップはSE(システムエンジニア)で設計なども携わるようになるかと思いますが、その次のキャリアパスは考えていない人が多いような気がします。
ろくにシステムのこと分かってないのに「私SEです。」って自己紹介するヤツ見るとこっちが恥ずかしくなりますけど、ぶっちゃけSEってキャリアパスの階段で言うとたった2段目です。
その先は無限に枝分かれしたり途中で同じ道になったりしますが、今回は一般的なキャリアパスと僕が目指してる場所を紹介します。
プログラマーの次のステップのSE
プログラマーの次のステップとして一般的にSE(システムエンジニア)という職種?があります。
一般的には設計書に手を入れ始めたらSEみたいな風潮があるけど、僕はそうは思いません。
SEは顧客の要望を聞いて、どのようにシステムに落とすのがいいかを検討し、設計出来る人のことでしょう。
一般的には僕が言うSEは上級SEと呼ばれてて、要件定義や基本設計など顧客に近い作業を行います。
顧客に近いというのは、顧客にも理解出来る言葉を使って論理的に整理出来るということです。
そしてちょっと設計書さわって「俺SE!!」って言ってる人は、詳細設計(もしくはプログラム設計?)のようにプログラムコードに近い設計をしている人のことです。
プログラムコードに近いので技術的な言葉が多く顧客には理解出来ないことが多いです。
上級SEに対し下級SEとは言いませんが、一般的にはこのレベルからSEと呼んでいます。
そして、プログラミングがある程度できるようになったらこのSEレベルを目指す必要があります。
SEはIT業界に入って3年以内にたどり着きたい場所です。
できれば2年以内くらいがいいです。
SEの次のステップはやりたいことを
詳細設計や基本設計が出来るようになってきたら、上の偉い人に「次のプロジェクトを任せてもいいか?」と声を掛けられたりします。この場合はプロジェクトを管理するプロジェクトマネージャーです。
他にもITコンサルタントやITアーキテクトが一般的です。
と言っても会社によって文化が違ったりしますし、最近はもっと細かく分類されたりするみたいです。
SEの次のステップとして一般的な3つを上げました。
どれも独立しているわけではなく多少被っている部分もあります。
そして前提としてシステム構築のスキルが無いと的外れな話になってしまいます。
それと、SEの次のステップと表現しましたが、広い意味でどれもSEに含まれて呼ばれることもあります。
プロジェクトマネージャー
プロジェクトマネージャーは、システム開発のプロジェクト全体の進捗管理や品質管理、リスク管理などを担当します。
ITの開発の現場はそれはもう想像を遥かに超える「想定外」が発生します(笑)
それらの問題があっても品質を落とさずに且つ進捗を遅らせることなく人員を導入したりメンバーを再編成したりしてゴールを目指します。
僕は最大で4人チームの管理しかしたことが無いですが、それでも大変でした(笑)
一瞬で「あ、管理向いてないわ」って悟りましたね。
ここを目指すならマネジメントスキルを身につける必要があります。
頭がいい人でしたらMBAにマネジメント系の本があったかと思います。
ITコンサルタント
ITコンサルタントはシステム開発の知識だけでなく、顧客の業務知識も得る必要があります。
そしてその知識を使い、顧客の要望を満たすシステムを提案します。
僕は昔金融系のWEBシステムを作っていましたが、金融業界は専門用語も多くそれだけでも頭がパンクしそうになりました。
このITコンサルタントの仕事は用語だけでなく業務の流れの現状なども把握し、ITの知識を上乗せして業務改善のシステムの提案・・・もはや何言ってるか分からないです。
しかし、業務改善に顧客と一番近いところで仕事ができるので、顧客に成果が出たときにはやりがいも感じるでしょう。
ITアーキテクト
ITアーキテクトはとにかく技術を極めた人ってイメージです。
なんか極めるとかかっこよくて僕も最初はここを目指していました。
しかし、本当に頭のいい人たちってのはレベルが違うもんです。
同じ仕事をしていたつもりだったのに、会議では何を言ってるのか分かりませんでした(笑)
ITアーキテクトは顧客の要件をどのように形にするかを考えます。
具体的には、どのプログラミング言語を使って、フレームワークはどれを採用するか。サーバーやドメイン、テスト環境はどのように構築するかなどです。
僕が行き着いた場所はマーケティング
常駐のフリーランスで仕事をすると、あまりマネージャーやコンサルなどはやらないように思います。
それよりもきっちりスケジュール内に開発をするという感じです。
マネージャーやコンサルなどは責任の重い仕事なので社内の人間がやるのが一般的かなと思います。
ただ、小規模の会社やプロジェクトの場合はフリーランスでも任されることは多々あります。
受注して在宅や自社オフィスで開発する場合は全て自分でやらなければいけません。
フリーランスでチームを組むという方法もあります。
僕はそれほど大きな案件は受けないので全部自分で行い、営業や顧客サポートは提携先にお任せしています。
大きい案件を受けないのは、もし途中でなんらかの原因で契約が停止した場合にリスクが大きいからです。
営業を代行してくれる会社は3社くらいあれば充分安定してまわります。
しかし、自分で仕事を取れた方がもっと安定します。
そう思って身につけたのがマーケティングスキルです。
きっかけはHPを作成したお客さんからSEOも頼まれたことでした。
エンジニアとして最低限の知識はあったので、試しに無料でSEOサポートしたら思いの外アクセスが伸びたからです(笑)
このとき、マーケティングと開発スキルがあればより安定すると思いました。
マネジメントでもコンサルティングでもアーキテクトでも無い、マーケティングエンジニア(勝手に命名)という道を見つけ今に至ります。
僕の収入の柱は開発ですが、同じくらいマーケティングでも売上げを上げています。
WEBシステムを作り、営業代行会社と手を組んで運用しているものもあります。
ITの世界においてどれだけマーケティングが出来ようがデザインが出来ようが、スキルが無いとビジネスの幅はものすごく小さくなります。
プログラミングだけでも生活は出来ますが、ある程度できるようになったらそれプラス何かを身につける必要があるかもしれません。
まとめ
プログラミングが出来るプログラマーはエンジニアとして最低条件。
その次のステップはSEで設計に携わるようになる。
SEは3年以内に到達することが目標で、できれば2年以内。
SEの次は、プロジェクトマネージャーやITコンサルタント、ITアーキテクトがある。
どこに進むかは好みでOK!
だけどフリーランスで生きるなら、全部多少はかじった方がいいし、更に言うならマーケティングスキルがあるとなお便利。
まだこれからプログラマーを目指すという方は「未経験から何年で一人前のプログラマーになれるのか?僕の過去3年間の経験談」も併せてどうぞ。
コメントを残す