エンジニアの方向性
ゼネラリスト(ジェネラリスト)とスペシャリストについて考える機会があったので、
自分の20年のIT業界歴と照らし合わせ、私の見解を書いてみます。
IT業界におけるゼネラリストを検索し、下記の記載を見つけました。
ゼネラリスト【generalist】
広範な分野の知識・技術・経験をもつ人
大辞林 第三版の解説
スペシャリスト【specialist】
特定分野について深い知識やすぐれた技術をもった人。専門家
大辞林 第三版の解説
これをIT業界で解説し直すと
ゼネラリスト【generalist】
多方面の技術知識を持ち、幅広い業務知識を有する。
プロジェクトを統括しシステム全体をまとめることができる。
スペシャリスト【specialist】
データベース、通信、暗号化技術、特定デバイスの構築能力を有する。
金融、不動産、医療など専門的な知識を有する。
私の経験と見解
ゼネラリスト
ITの知識を有し、特定の業界知識・経験が多い人
例えば、
保険屋のビジネスに詳しく、システム設計の経験が豊富
金融系業務知識の知見があり、上流工程から助言できる人(実際には、実装部分は口を挟まない、挟めない事が多い)
こんな人をイメージします。
一般的に言われる、システムコンサルな人ですね。
スペシャリスト
AIやインフラ、システムを0から開発・構築経験が豊富など、特定の分野にすごく強い人
または、フルスタックなエンジニアで全体を見渡せる人
(別枠ですが)フルスタックエンジニア
フルスタックエンジニアについて調べてみると
「フルスタックエンジニアに求められる4軸のスキル」で解説しますが、
- プログラミングスキル(PHP、Ruby、Java、C#、Python、JavaScriptなど)
- アーキテクチャの設計スキル(外部設計、内部設計、共通基盤設計)
- DB設計スキル
- インフラ構築スキル(AWS、MySQL、Aurora、Oracle、Apache、SendMailなど)
- 運用スキル(バックアップ・リストア、障害検知、アラート対応、質問対応)
といったスキルを保有し、かつコミュニケーション能力も高いITエンジニアとなります。
と記載されています。
※ゼネラリストと紛らわしかったので記載
IT業界のキャリアアップについて考える
入り口
20年前と違い、IT業界は非常に入りやすい業界になったと思います。
20年前
私の最初の職探しの場合、条件が80%以上の求人票に下記の条件がついていました。
※ついていない場合は、アルバイトとあまり変わらない派遣契約
C言語、C++における実務開発経験が2年以上(なんらかのプログラムの場合もあり)
当時の私は、
プログラマーの入り口はどこにあるのだ・・・・・
っと絶望感に打ちひしがれてました。
今(2020年)
googleで検索するとこんなに求人情報が出てきますね
本当に良い時代だと思います。
キャリアアップを考える前に、私のキャリアを見てみる
ほとんど黒歴史の20年を振り返ってみましょう。
| 年齢 | 概要 |
|---|---|
| 19歳〜 | 今も有名なK社が運営していた、ゲーム開発の専門学校を中退後、派遣会社に入社 ガラケーの物理的なテストなど泥臭い業務 |
| 20歳〜 | 自社でECサイトのパッケージ開発をしている会社に入社 (残業時間200時間を超えていたと思う) |
| 21歳〜 | IT系派遣会社に所属し、今でいうフリーランスのような働き方で現場を飛び回る (ここでJavaの実装未経験なのにJavaの設計書作ったり、データセンターの中でよくわからない作業したり) |
| 26歳〜 | SESに転職 いろんな現場を転々とした経験から、会話力やドキュメント力が発揮 JavaやJsの開発を経 200人規模の金融系プロジェクトに1年人質となる 現場的には5~6箇所 |
| 29歳〜 | SESで技術力に不安を感じ株式会社 gumiに転職 メンバーからリードエンジニアになる。 その後マネージャー話が浮上し、退職を決意 |
| 31歳〜 | フリーランスになり、サイバーエージェントや東大内ベンチャー、リクルートなどなどいろんな業種をこなす この時期に新規開発で、自分がメインエンジニアで場数を増やす |
| 35歳〜現在 | 2017年に株式会社 m-Labを設立。 |
すごーく簡単にするとこんな感じです。
現在の私は、**「フルスタックエンジニア」**です。
ここまでの転換期は、いくつかあったかと思います。
・SESに入社したこと(案件ガチャで割と引きが良かった)
SES時代は、サーバ構築、html、js、Java、Perlなどなど、器用貧乏でした。
スペシャリストを目指したくても、「やること」が現場に依存するため、モチベーションがキープできませんでした。
・SESで得られるスキルに限界を感じソシャゲ開発のgumiに転職したこと
SES時代の年収より低い条件で、思い切って転職しました。
休日も、外出時はPCを持ち歩き、CS対応可能な体制で出かけてました。
自宅から、ガチャを作りながら電車で移動した事もあります(苦
(でもやっぱりココは学びが大きかった)
・フリーランスになったこと
場数を踏み、器用貧乏状態からソシャゲ開発でリードエンジニアになり、正直調子に乗ってました。
が、ここで転々とした現場で学びが多く、ここでも自分の未熟さを痛感するいい機会となりました。
フリーランスを経験したおかげで、視野が広がり、器用貧乏がエンペラータイムへと昇華できた気がします。
疑問(ちょっと脱線します)
自分の経験を元に、疑問を抱いていました。
エンジニアってこんなに遠回りしないと成長できないのだろうか・・・・?
そんなはずはない!
自分の経験を振りかえると、成長に必要なものは
・環境
・責任感
・開発する時間
があれば、成長速度は早いと思っています。
楽しく、新しい刺激と学びがある環境に身をおき、自分の責任のもと開発を進める。
これをミッションに掲げ、起業しました。
実際、3期目に突入しましたが弊社のエンジニアはメキメキ技術力を身に着けています。
キャリアアップについて
私のキャリアは無駄が多く、平凡な経歴しかありません。
ですが、一つ言えるのはフルスタックエンジニアには簡単になれるものではなかったなと思っています。
(弊社でもフルスタック化を推奨してますが、ロードマップは慎重に進めています)
また、ゼネラリストやスペシャリストも同様です。
大学時代から研究し、方向性にブレがなければ、20代でスペシャリストになる人もいるでしょう。
ゼネラリストも豊富な経験と知識、それを武器に現場と戦う度胸があれば、20代でも可能だとは思います。
上記のケースは恐らく少数派で、転職や大学は学部が違うけどエンジニアになった人や、大学行ってないけどエンジニアになった人のほうが圧倒的に多いと思っています。
そういった方々は、常に先を考えて行動してみてください。
CTOになる、と目標を設定するのもいいでしょう
起業する、と目標を設定するのもいいでしょう
フリーランスになって生涯現役プレイヤー、と目標設定するのもいいでしょう
目標に向かう途中の歩み方を、常に考えて進んでください。
他社から見た時に、バリューを感じさせる歩み方をしてください。
自分の露出を高め、人脈を作り、仲間をあつめ、価値を高めるようにしてください。
ロードマップの例
- IT業界に入り、エンジニアとしてスタート
- 自社サービスをやっている企業のリードエンジニア(リーダー)になる
- 新規サービスを開発し、技術力の叩き込み&エビデンスを作る
- 技術情報を発信し、社外の認知&信頼を得る
- プロジェクト横断できるような立場に立つ(場合によっては転職など)
- 起業orスタートアップのCTOになる
これだけでも結構時間かかりそうですよね(6からがある意味スタートラインでもあるので)
で、ここでも一つ言えること
結局近道なんてなかった
良いこと言いますね。
環境や刺激は大事です。
それがなければ、私のように「無駄に」遠回りすることになります。
だけど、直線的な近道なんて無かった。
近道をしたと思えても、どこかで躓く事になる。
と思います。
だらだらと書いてしまいましたが、


