大手SIerを辞めた理由をすべて教えます!

私が18年間勤めたSIerを辞め、SES業界に転職した本当の理由とは

私はかつてSIerに所属し、プロジェクトリーダーを務めていました。同時に、大学卒業後SIerに入社して以来、一介のエンジニアでもあり続け、情報システムのアプリケーション領域の全作業、すなわちシステム構築の上流~下流工程、運用保守までの全作業を担えるスキルと実務経験を持ってもいました。

私は、社内の昇進試験を経て管理職への昇進が確定した後、その昇進の直前にSIerを自主退職しました。エンジニアとしてのこだわりを貫き、エンジニアとして一生働き続け、自らの実力を磨き上げ続けるためです。SIerで管理職となっては、エンジニアとしてのキャリアと成長が終わると思ったからです。

今では、私はSES企業に所属するエンジニアです。今の環境を自分で選びました。

SESの立場で働くエンジニアに強く問われることは、個人の真の実力と、仕事への姿勢やこだわりです。SESで働くということは、プロフェッショナルな一人のエンジニアとして、組織に頼らずに一生を通じて結果を出し続けるということです。

そして、SESのエンジニアであるということは、自分の現在位置を日々見つめ直し、次へのステップを自ら設定し、そこへ向かうための努力をし続けなければならない立場である、ということでもあります。

この記事では、エンジニアがSIerで仕事をすることのメリット・デメリット、エンジニアの真の実力とは何か、一生エンジニアとして働き続けるための秘訣をお伝えします。これからさらに激しさを増す超高齢化社会、そんな時代のエンジニア像の一つの指針としていただければと思います。

目次

1.私が18年間勤めたSIerを辞めた本当の理由

私はSES企業に所属していますが、元々SIerの人間です。某大手SIerの情報子会社のSIerに大学卒業後から約18年間在籍し、その後SESを生業にする会社へ再就職しました。

前職では様々なシステムや多くの人と関わりました。私に様々なスキルを叩き込んでくれたことや、私のキャリアを作ってくれたことについて、前職の会社や上司・同僚、お客様へは感謝の気持ちしかありません。今でも良い会社だったと思いますし、恨み言は一切ありません。

ですが、私はそんなSIerを自分の意志で退職しました。会社から提示された管理職への昇進への道を蹴飛ばし、一人のエンジニアであり続ける道を選んだのです。

なぜなら、一人のエンジニアとして現場で直接手を動かし、自分を磨く過程から得られるモノが、私が仕事に求めるコト…つまり、やりがい、こだわり、達成感、良いと信じる価値観と一致するからです。管理職として人や組織を率い、一つの目標に向け動かす仕事から得られるモノとは、方向性が違うからです。

ここでは、私がSIerからの退職を決意するまでの経緯や、当時考えていたことなどをお伝えします。

1-1.とあるミドル層SIerに訪れた転機:管理職への昇進意思の確認

ある冬の日、私は長年連れだった上司に会議室へ呼び出され、「管理職になる気はないか」と聞かれました。ここでの管理職とは、普通の会社で言う課長クラスの役職で、私の会社では昇進試験に合格する必要がありました。

私はダメ元で昇進試験に挑戦することに決めました。昇進試験にエントリーはしたものの、自分は絶対に不合格だと思っていたので、半分くらい物見遊山な気持ちで管理職への世界に入門したのです。昇進試験の年齢規定的に、次はなかったことも理由の一つでした。

さて、この類の意思確認をどう捉えるかは、人により様々でしょう。普通なら「ついにこの時が来た」「絶対に昇進するぞ」でしょうか。でも、私の場合は、色々な意味で「なぜ私が?」と最初に思ったのを覚えています。

この時、会社での私の役職は主任クラスで、仕事は担当システムでのプロジェクトリーダー(以下、PL)です。小さなチームではありましたが、担当システムでは大きな問題や障害もなく、日々の業務をしていました。主なお客様である親会社の情シス部門との関係も、良好と言えたでしょう。

私のエンジニアとしての能力は、会社からそれなりの評価がされていました。それに、自分で言うのも何ですが、私はSIerのエンジニアとしては部内でも少々特異でした。いわゆる「フルスタックエンジニア」に近かったのです。

私には、管理職への道が開けたのは正直言って想定外でした。管理職は自分には一生関係ないし、組織の他の人間が担うべき立場だと思っていました。私はヒューマンスキルの大きな欠如が原因で、主任クラスへの昇格でさえとても長い期間を要したような人間だからです。

そんな人間が、管理職にならないかと聞かれた時に感じたのは、純粋な好奇心です。管理職への昇進試験を通じて、管理職とはどういう世界で、どういうことをやるのか、のぞき見するいい機会だと思ったのです。普段付き合っている上司がいる世界を知りたかったのです。

1-2.SIerで管理職になることの意味:現場から距離を置くこと

SIerで管理職になるということは、システム構築・運用保守の「現場」から距離を置くことと同義です。

SIerでの管理職は、いわゆるプロジェクトマネージャ(以下、PM)であり、組織を率いる立場です。管理職のミッションは、システムを作る仕事を高い視点から俯瞰し、現場をマネジメントし、関係部署やお客様とのハブになり、システムを通じて価値を提供するためのドライビングパワーであることです。

ですから、管理職には予算と人事権が与えられます。会社や組織の方針に従う必要はあるとはいえ、組織や仕事をする環境をある程度自分で作れますし、自分の意志で新しい仕事を作ることもできます。これは人によっては喉から手が出るほど欲しいものでしょう。

もちろん、管理職になってもシステム自体には関わり続けます。しかし、SIerの組織では通常複数のシステムを掛け持ちしており、管理職はそれらを統括する立場なので、一つ一つのシステムとの関わり方は自然と薄くなりますし、薄くならざるを得ないのです。

それに、管理職はPL経由で間接的に状況を把握し、また対応を指示します。いわゆるプレイングマネージャーであっても、現場の作業に直接関わるのはかなりの緊急事態の時だけなのが普通です。ですから、現場への「ライブ感」とでも言うべきものが鈍るのは、その立場からくる宿命なのです。

なお、いわゆる部下無し管理職の一形態として、何かの領域のエキスパートやスペシャリストになる道もあります。ただ、PMとエキスパートのどちらになるのかは組織や会社の意向に大きく影響されます。また、指導者としての役割も持つため、現場からある程度距離を置くこと自体は変わりません。

このように、SIerの管理職は多かれ少なかれ現場から距離を置くのです。

1-3.昇進試験に向けた勉強:エンジニアと管理職の違いを知る

昇進試験対策として、試験までの一年弱で色々やりました。特に最後の二ヶ月ほどは、上司から昇進試験が最優先だと指示されたこともあり、周囲からは私はほとんど「仕事」をしていないように見えたことでしょう。

昇進試験とは、自分の管理職としての実力や見識を組織に示すことです。昇進試験では、管理職の立場で会社の課題・目標を解決・達成するため、状況・背景の正しい理解を前提に対案を提案・実現する力を持つことを示します。組織はそれを見て、その人を昇進させるべきか判断します。

それまで、一介のエンジニアやPLレベルの仕事をしてきた人間にとって、管理職の世界は何もかもが違いました。仕事で「良し」とされること、働きかけるべき対象や取るべき行動、何より価値観が違うのです。

管理職の仕事で特に重要なことは「必ず成果を出す」ことです。成果とは、会社や組織の業績に直結する数字であり、計測できる何かしらです。具体的には売上高の伸び幅であったり、原価率の低減率であったり、作業効率化による削減工数だったりします。

ですので、エンジニアとして「良し」とされることとは、決定的かつ相容れない大きな違いがあります。そもそも仕事上での立場が違いますし、評価対象となることの評価軸そのものが違うからです。

このように昇進試験の準備を通じて、管理職とエンジニアの立場と価値観の違いを学びました。そして、昇進試験の本番がやってきました。ちなみに、この昇進試験を通じて、今まで雲の上だと思っていた社長・役員・事業部長という経営層との知己を得られたのは、いい思い出です。

1-4.SIerからの退職の決意:現場の第一線で一生働けるエンジニアでいるために

私が受け取った昇進試験の結果は「合格」でした。つまり、私は約一ヶ月半後の翌年度から管理職に昇進することと、多分PMになることが確定しました。昇進試験全体だと不合格者は多数出ていたにも関わらず、私はなぜか合格していたのです。

私は管理職へ昇進する前にSIerを辞めることにしました。管理職ではなく一人のエンジニアでいることが私の道だと思ったからです。管理職になって部下を持ち、彼らの生活や将来に責任を持つ立場になってからではきっと辞められないだろう、とも考えました。

合格発表から辞めることを決めるまでの短い期間で、実に色々と思い悩みました。私が仕事でありたい姿は、管理職として間接的に多くの人を動かして価値を実現することなのか、それとも現場の第一線で一生、直接手を動かすエンジニアであり続けることなのか。そんなことをずっと考えました。

会社や上司は、今後は私のスキルを活かして人を指導する立場になって欲しかったのでしょうが、その時の私の志向は違っていました。それが退職の決定打になったと思います。

私は、何事も徹底的に理解して納得したいという欲求を持った人間です。システムと言うものは、やろうと思えばソースコードの最後の一行まで読み込んで、どうなっているのか理解できます。おかしいと思ったところは、納期が許す限りですが、いつでも自分自身の手で納得がいくまで直せます。

それに、システムには自分のスキルや知見・経験が反映されます。アーキテクチャやソースコードの美しさ、システムの使い勝手、処理性能などの形で、その時のエンジニアとしての実力は一目瞭然です。管理職の立場では、このシステムとの関わりが間接的すぎて、自分で作り上げたという感覚が薄くなります。

さらに、管理職にとっては、色々な技術はシステムを作る部品でしかありません。ビジネス目標を達成できるものなら何でもよく、システムとしての美しさや整合性、技術の先進性は二の次です。ですが、私はエンジニアとしてどうしてもそれにこだわりたかったのです。

これらは、エンジニアの視点・観点であり、管理職の視点・観点では許されないか優先度が低いことが、昇進試験を通じてよくわかりました。SIerはシステムを商材にしたビジネスから利益を得る会社ですから、このようなエンジニアのこだわりは、ビジネス上では時に邪魔になることでもあるのは分かります。

私はSIerの管理職にならないことで、いわゆる「大きな仕事」をする機会であったり、下世話な言い方をすれば更なる出世や収入増への道を捨てました。また、周囲からの期待に反して自分のわがままを通したのですが、人によっては「何を考えているのか」と怒りや戸惑いを覚えたことでしょう。

それでも、私は一人のエンジニアであり続けるために、SIerを辞める道を選んだのです。

2.SIer内部視点での、SIerの仕事と特徴

ここでは、私がかつて所属していたSIerでの仕事について、簡単に振り返ってみます。あくまで私の経験上で、SIerとはこういうものではないかと考えていたものです。

私は、SIerの仕事とは主に人の間の交通整理をするものなのだ、と感じていました。システム構築に関わる人は、SIerの外でも中でも大変多いですし、SIerはその中心にいるからです。そして、人が多くなれば組織ができ、当然ながら組織で動くようになります。

ですから、ここではそのような人と組織についての事柄が中心となります。

2-1.SIerの仕事はお願いされつつ、お願いすること:システム構築の元請業者の役割・責任

システムの構築・運用保守の作業について、SIerは発注元からは依頼され、発注先へSIerから依頼する立場です。つまり、お願いされることと、お願いすることがSIerの仕事の大きな割合を占めます。

SIerのミッションは、元請けとしてシステムの完成開発の責任を全うすることです。納品すべきシステムを納期通りに納品できなければビジネス失敗ですから、それを達成することが何よりも優先される至上命題です。

SIerの仕事のかなりの割合は、人を使い、提出された成果物を評価することです。SIerの中だけで、システムに関する仕事に必要な全マンパワーを調達できるケースは少ないからです。そうして評価した成果物をSIerとしてお客様へ提供します。

会社の規模が大きくなるほど、請け負う案件の規模が大きくなるほど要員は不足し、パートナー(いわゆる外注、SIerにより呼称は様々)への依存度が増します。自社でソリューションやプロダクトを持っているSIerでも、パートナーの尽力により成り立っているものです。

SIerとパートナーのエンジニアの構成比率は、プロジェクトの内容や組織ごとに変わります。それでも全体では1:510以上になることも珍しくありません。パートナーにより要員のレベルに差があるので、既存パートナーとの関係性は維持しつつ、実力のあるパートナーに近付くことにSIerは注力します。

この構成比率のアンバランスさが、色々な歪みや問題を生みます。SIerでは内製化を進めてはいますが、なかなか難しいのが現実でしょう。

2-2.SIerの仕事は組織で進める:意思決定のワークフローと関連組織の役割

SIerは組織で仕事をします。組織・会社全体でのいわゆる「総合力」が一番の強みであり、システムに関する仕事についてワンストップであることが、お客様にとっての大きなメリットです。

大きなSIerなら、SIer単独でコンサル業務・アプリケーション構築・インフラ構築、必要なソフトウェアやハードウェアの手配やセットアップまで全てカバーします。それに、SIerのグループ会社の力を総動員すれば、実現可能なことがほとんどでしょう。これは中小のSIerSES企業ではなかなか真似できないでしょう。

そんなSIerの組織は、通常は何かの業務や技術に特化しています。それらの組織が全体で一体となって、お客様へシステムを提供するのです。

そして、SIerでは組織ごとに役割やビジネス上の思惑があり、プロジェクト(以下、PJ)全体での調整が頻繁に必要です。さらに組織間のやり取りでは、相手側組織の意思決定のワークフロー上で結論が出るのを待たなければならないことが頻繁にあります。事業部レベル同士のやりとりでは特にそうです。

だから、SIerでは伝言ゲームのようになることが多いものですし、どうしても動きが鈍くなります。それに、仮に組織の長がトップダウンで決めたとしても、末端の要員までその考えや理由が浸透しているとは限らないのです。

2-3.SIerの仕事は人手不足と人余りが同時に起きる:大きな組織の功罪

SIerではいつも人手が足りません。SIerの中では、どこの誰といつ話しても同じことを聞きます。でも、実際のところ人手は余っているのです。この矛盾を生むのは、根強く残る年功序列と、何より大きな組織が原因でしょう。

いわゆる働きアリの法則やパレートの法則、フリーライダー現象と呼ばれるものは、SIerでも当てはまります。

組織として仕事を受託した以上、必ず誰かがやらねばなりませんが、やはり仕事ができる人に任せるしかないのです。実力のある人は大きな組織であれば必ずいるので、ここで組織の規模が生きます。

でも、大きな組織には色々な人がおり、案件に合う人ばかりではありません。古い技術しか経験がなく、今のシステム構築についてこれない人も大勢います。それでも、SIerの社員は全員何かのPJや仕事にアサインします。仕事をしている「形」がなければ、給与を支払う名目がないからです。

この結果として、PJ計画書での人月では帳尻が合っているけれども、実務能力では帳尻が合っていない、ということが起きます。こういう事情は、SIerではある程度普遍的なことでしょうし、そのしわ寄せはパートナーに向けられます。

私は色々と問題を抱えた社員の押し付け合いも、事例はほんの少しだけですが見てきました。これも一旦採用した社員は原則として解雇しない、という日本企業の慣例が組織に色濃く残っていることも一つの原因でしょう。

2-4.SIerは仕事とキャリアを自分で選びづらい:会社の方針と個人のありたい姿の乖離

SIerでは原則として自分で仕事を選びづらい環境です。SIerへの入社時にどこへ配属されるか、入社後でも異動先がどこになるか。これでその人の一生のキャリアの方向性が決まると言っても過言ではありません。

配属先や異動先の決定は、身も蓋もない言い方をすれば「運」です。様々な要素が絡み合うからです。個人のスキルや志向も考慮されますが、組織の都合が優先されます。組織のビジネスの将来性、重要PJの有無、直近でのマンパワー不足、最後に増員したのがいつか、組織の力関係などです。

さらに、個人のキャリアやスキルアップの方向性は、陰に陽に所属する組織の方向性に影響されます。個人がそれに納得していれば幸せですが、SIerのエンジニアは、少なからず「自分のやりたいことはこんなことではない」という不満や、自分のエンジニアとしての将来に不安を持って仕事をしています。

それに、SIerでは同じ会社の組織でも、組織のミッションにより仕事のやり方が違うのが普通です。例えば私の所属部門は、システム構築ではスクラッチ開発が基本でしたが、フロア内のすぐ隣の部門はERPパッケージの導入・カスタマイズが基本でした。このような組織が一つの事業部の下に混在します。

SIerの中で働く領域を変えるのはかなり難しいです。会社全体ではほぼ全ての種類の仕事がありますが、一つの組織では母数は少なくなり、チャレンジングな仕事も限られます。「この仕事をしたい」と思っても、空きポストがあるとは限りません。また、有能な人材は現在の所属組織が離したがりません。

ただ、全く身動きが取れないわけではありません。部内には、営業職希望で中途入社したにも関わらず現場のマネジメントをしている人もいましたが、最終的には希望どおり営業部門へ転籍できています。ただ、それには数年単位の長い時間がかかっているのです。

3.SIerのエンジニア特有の色々な事情

私はSIerで働く中で、色々なものを見て、体験してきました。SIerに所属している時は当たり前とか自然だと思っていたことが、その環境から一旦外に出てみると、案外そうでないことに気付かされます。

SIerの仕事はエンジニアがいなければ実現できません。PJに参加するエンジニアには概して高いスキルが求められます。ですが、仕事をする上では様々な矛盾があり、結果としてエンジニアとしてあるべき姿が見えなくなってしまうこともあります。

ここでは、SIerに属するエンジニアについて、キャリアや仕事との関係をお伝えします。

3-1.SIerのエンジニアはヒト・モノ・カネを管理する

SIerの仕事は、全てシステムに関するヒト・モノ・カネを中心に回ります。そんなSIerのエンジニアには、技術だけではなくこれらの管理能力も少なからず求められます。PJ内の立場が上がるほど、PJの規模が大きくなるほど、管理業務の比率が上がります。

SIerのエンジニアには、多かれ少なかれそれらの管理業務をこなした上で、個人としての業績・実績が問われます。私がSESの立場になって初めて参画したPJでは、PJのあれこれの管理をせずに自分の作業に集中できる、という立場にありがたさを感じたのを覚えています。

ヒトの管理とはPJの要員管理です。自社やパートナーの要員管理を行います。ある程度以上の立場になれば、パートナーを含めた要員投入計画の立案とパートナーとの調整を任されることもあるでしょう。パートナーへ「すみませんが契約はここまでです」と伝える時は、申し訳なさでいっぱいになるものです。

モノの管理とは成果物の管理です。成果物自体の確認や品質確保、進捗の管理です。SIerのエンジニアは、自らもアウトプットを作りますが、パートナーからのアウトプットの受け入れもします。ですので、一日の作業が進捗確認・作業指示・レビュー・進捗報告書の作成だけで終わることも良くあります。

カネの管理とは原価率や売上の管理です。PJの成否の判断基準の一つは、予定どおりの利益を出したかです。ですので、SIerのエンジニアは原価率やそれに繋がる工数管理をしますが、日常の作業に追われ、利益ギリギリなことも多いです。また、検収などに必要な諸手続き・資料作成に追われることも多いものです。

3-2.SIerのエンジニアの3つのキャリアパス

SIerでのキャリアパスは、管理・業務・技術のいずれかに分かれるのが通例でしょう。それぞれ求められるスキルや努力のベクトルが違いますので、すべてを極めるのは難しいですし、組織としても役割分担をしたいからです。

組織とは結局は個人の集まりですので、必要十分な能力を持っている個人が相当数いなければ仕事は回りません。その能力は会社が設定したキャリアパスにより、範囲や深さが規定されているものです。

ここではそんなSIerでのキャリアパスについてお伝えします。

3-2-1.管理を極める:経営層への道

SIerには人やPJの管理を極めるキャリアパスがあります。システムを形作るアウトプットをその手で生み出すことをやめ、PMであることを選びます。役職上でも管理職となり、一般社員とは立場が異なります。私はこの道に行きかけていました。

PJのメンバーに一定の品質(Quality)を保ちながら決められた予算(Cost)と納期(Delivery)で仕事をしてもらうこと、あるいはメンバーがスムーズに仕事ができるよう、PJ内部・外部の環境を整えることが、主な仕事の一つです。

自分のPJを成功させ続けていくと、さらに上位の役職への道が開けますし、会社の中での影響力が大きくなっていきます。最終的には経営層に加わり、会社の方向性の決定に関わることもできるようになり、大きな仕事の達成感と言うものを得られるのだと思います。

それはともかく、エンジニア上がりの管理職は、会社視点では非常に魅力的です。技術の集まりのシステムや、技術の言葉で話すエンジニアをマネジメントするには、技術の理解が必要な局面が多いからです。それに、エンジニアの育成やシステム提案でも有利なはずだと、会社の上位層は考えています。

でも、優秀なエンジニアが、管理や人の育成も上手だとは限りません。管理や育成もスキルなのでそれなりに身に着けられますが、ヒューマンスキルの有無や傾向、個人の志向に強く依存します。また、プログラムのように明確な答えがなく、暗中模索が続きます。いわゆるピーターの法則はSIerでも同じなのです。

それに、前述のとおりこの道はシステムと間接的に関わる道です。技術的にチャレンジングなシステムに関わっていたとしても、エンジニアとして直接その技術に触れられないのでは、寂しさや物足りなさを感じることもあるでしょう。

何より、管理職の椅子は常に不足しています。どの業界でも同じでしょうが、普通は管理職への道は狭き門であり、さらに前の人がどかない限りは管理職にはなれません。ですので、立場上はエンジニアやPLでも、PMレベルの仕事をしている人がとても多いのが実状です。

3-2-2.業務を極める:お客様へ寄り添う道

次の道は、管理ではなく、何かの業務・業界や実務に特化する道です。SIerで働くには多かれ少なかれお客様の業務に通じていなければなりませんが、それを極端にしたエンジニア像をイメージしてください。

SIerの組織は、何かの業界や業務、場合によっては特定のお客様に特化した組織で編成されていることが普通なので、その中でのスペシャリストになることを目指します。

業務・業界・実務の知識には経験が伴っていなければなりません。これらの知識やスキルは門外漢でも身に着けようと思えばできるのですが、実際にその領域での仕事の経験があるかどうかで、実務で使い物になるかどうかが決まります。これはプログラミングなどの技術と同じです。

そのため、何かの領域の知識に特化している人間は、特定領域の案件やお客様に対しては必要不可欠な存在です。その人がいるから、という理由で仕事が舞い込むことも少なくないでしょう。お客様に潜り込んで、PJを側面から支援することもできます。

ですが、逆に世間の「常識」が通じないエンジニアになるリスクはあります。特定業界・お客様に特化するあまり、世間一般のエンジニアの常識を全く知らなかったり、特異な文化・慣例が一般的だと思い込みます。また、会社がその業界や領域から撤退することになった時、行き場がなくなります。

3-2-3.技術を極める:競争力の源になる道

何かの技術を極める道であり、エンジニアとして最も親近感が沸くものだと思います。どのような技術でお客様の要望を実現できるのかは、SIerとしての競争力の源であり、優れたエンジニアがいなければSIerは存続できません。

ですが、SIerでの仕事を通じて技術を極めるには、いくつかのハードルがあります。

SIerでは、求められる技術やプログラミングのスキル自体はあまり高くないことが多いものです。なぜなら、SIerが作るシステムは、良くも悪くも「誰でも作れる」必要があるからです。システムの規模が大きくなるほどたくさん人を集めますが、人を集めるほど、全体のスキルレベルが低くなることへの対策です。

ですので、基本的には色々な社内外のフレームワーク・ミドルウェア・ERPパッケージなどの決まったレシピでシステムを作ります。すると、それらの部品には詳しくなれますが、汎用的・絶対的なスキルや、フレームワーク自体を設計・実装できるような技術や知見を、仕事で身に着けることは難しいかもしれません。

そして、多くのSIerのエンジニアはこのレベル止まりです。ですが、これは個々のエンジニアの姿勢というよりも、このような仕事のスタイルにならざるを得ない、SIerの事情によるところが大きいと感じています。

ただし、SIerでもアーキテクトやエキスパートと呼ばれる職種の人達は、非常に高い技術と多くの経験を持っています。日本や世界で有数の技術力を持つ人も大勢います。そんな人達が集まる組織の技術レベルは大変高く、会社がアピールする技術力とはこのような人達の成果です。

SIerのエンジニアは、このように世間一般レベルの人と、突き抜けたエキスパートに二分される傾向があります。このどちらになる道を歩めるかは、もちろん個人の力量にもよりますが、前述のとおり、SIerでどの部門に配属されるかの「運」が大きく影響するのです。

3-2-4.SIerのキャリアパスの現実:会社の制度と個人の意欲の温度差

SIerで働く上では、今までお伝えしてきたとおり、管理・業務・技術と目指すべき道はいくつかあります。ですが、それらの道があると理解し、自主的に努力を重ねているエンジニアは実際にどれだけいるでしょうか。もちろん、大変な努力を重ねている人が大勢いるのは知っています。

ここでいう「努力」とは、普段の仕事に手を抜いているかどうかではありません。自らの仕事はきっちりこなした上で、自分が目指す姿を明確に設定して達成することを宣言し、それに向けた努力を継続しているか、ということです。

極端な言い方をすると、SIerのエンジニアは積極的な努力をしなくても、生きていく上では困りません。せいぜい、上司から定期的にお小言をいただいたり、周囲やパートナーから「使えないプロパー社員だ」と評価されるくらいです。その評価を受け入れるなら、ある意味で気楽に生きてはいけるのです。

当然、どのSIerでもキャリアパスは示しています。会社は、人事制度や社内資格などを通じ、次のステップに進むための資格と業務経験を表明していますし、定期的な目標設定と評価の制度も必ずあります。

でも、エンジニアの努力を会社が本当にきちんと見て、評価し、報いてくれているでしょうか。SIerの上司には大勢の部下がいます。その部下の努力とその経過や課題を事細かに把握し、本人の望む地点へ組織の立場での影響なしに導けているでしょうか。

3-3.SIerのエンジニアがいつか気付く現実

私はいわゆる就職氷河期に就職活動をしていた人間です。私はたまたまSIerに入社できて、エンジニアとしてのキャリアも積めましたが、今思い返せば単に幸運だっただけです。

SIerへの入社理由は人それぞれでしょうが、エンジニアへの道を志した人も多いのではないでしょうか。お客様の要望をじっくり聞いて、プログラミング言語や様々な技術を縦横に利用して、すごいシステムを作る。そんな風に活躍している自分を想像していたのかもしれません。

ですが、その希望が叶えられるかどうかは前述のとおり、運です。SIerも様々であれば、SIer内の組織も様々です。入社時に思い描いていたようなエンジニアとして働くことができている人も、そうでない人もいます。

組織が大きければ大きいほど様々な役割をする人達が必要で、そんな人達の集まりでSIerは成り立っています。手を動かすエンジニアはその一部でしかなく、SIerが会社としてシステムを提供するには、組織の個々人が与えられた役割を全うしなければならないのです。

SIerに入社したエンジニアたちは、そういう現実にいずれ気付きます。

3-4.SIerに残り続けるエンジニアの一例

SIerに入社したからには、できる限り残り続けるのが普通の判断でしょう。でも、それがエンジニアとして幸せであったり、充実した人生かどうかは別の話です。

私も退職を決意するまでは、この残り続けるエンジニアの一人でした。学生の時に技術やスキルの預金残高をある程度貯めていたので、それを徐々に切り崩しながら、時たま新しい技術やスキルに追いついて残高を維持しつつ、何とかやりくりするという感じです。

生活には困っていませんでした。役職も、時間はかかりましたが年功序列的なものもあり、一応は付きました。組織内でもいつの間にか立場が上がり、PLになっていました。こんな人間でも技術がある方だとみなされていたので、いざという時はそれなりに頼られていました。

それでも私は、SIer在籍時の絶対的な技術力や、何より自分を磨こうという努力・意欲は人並以下だったと思いますし、周囲もそれは分かっていたでしょう。ですから、管理職への昇進の話が出た時は不思議だったのです。

でも、その時の上司の言葉は忘れられません。「部門の中で今は君しか管理職への推薦条件を満たす人間がいない。君は資格も定期的に取っているし、周囲と比べれば技術力もあるし、人に教えることもできている」という言葉が、全てを表しているような気がします。

周囲の同僚・先輩エンジニアや他の組織がどういう状況だったかは寡聞にて知りませんが、似たような感じだったのかもしれませんね。

3-5.目指すものを掴むためSIerを辞めるエンジニアたち

私の周囲にも、色々な理由でSIerをやめていくエンジニアたちがいました。ただ、共通していそうなのは、自分が目指すものを掴み取るために、SIerを辞めることを決断したということです。

配属先の部署での仕事内容がその人に合わずに辞めていくパターンが一番多いように思います。私がまだ入社数年目の若手社員の頃、同じ部署の新人が二年仕事をした後に辞めていきました。彼女からお別れの際に聞いた言葉は、「〇〇さんはこの仕事に向いているから、ずっと続けられると思いますよ」です。

先輩社員が別の業界に転身するために辞めていくのも見てきました。ある先輩社員は介護の道を選びましたし、別の先輩は、恐らくSIerよりも良いキャリアを掴むために、某データベースベンダーに転職していきました。

その他に、会社の要員整理の時に自主的に辞めていく人もいました。リーマンショックの時や親会社の業績悪化に伴って、親会社のグループ全体で要員整理が行われた時には、私の部門からも数名の先輩社員が辞めていきました。

辞めていった先輩社員は、いずれも仕事ができる人達で、担当システムでのPLクラスやベテラン社員でした。仕事上で接点がなかった人も多く、退職を選んだ具体的な理由や思いは全員からは聞けていません。ですが、皆、SIerを去る時は、どこか晴れ晴れとした顔をしていたように思います。

そして、ついに私もその一人となったということです。

4.本当に実力のあるエンジニアとは

エンジニアの「実力」が指すものは、人により意味が違います。保有する資格の数かもしれませんし、経験した業界の数かもしれませんし、どれだけプログラミング言語を深く知っているか、かもしれません。

ですが、私はそのように比較的数字や言葉にしやすいもの以外に、エンジニアの実力として認識しておくべき大事なものがあると考えています。これは立場がSIer・SES・フリーランスのどれであっても関係ないものです。

実は、エンジニアの実力とは何であるか、SIerにいた時は明確な考えや言葉を持っていませんでした。

SIerを退職してから再就職するまでにはかなり期間が空いたのですが、その間にじっくり考えたり、今の会社に再就職してからの色々な活動の中で改めて考えました。

ここでは、今の私が、エンジニアの実力とは何であると考えているのかをお伝えします。

4-1.エンジニアの実力とは周囲への影響力と自らのスキル

エンジニアの実力とは、何よりも周囲への影響力です。影響力の下支えをするものが自らのスキルの広さと深さです。この影響力とスキルのどちらが欠けていても、実力のあるエンジニアとしては片手落ちでしょう。大事なスキルの一つには、ヒューマンスキルがあります。

この影響力とは何かというと、周囲のエンジニアが自発的に動いたり、努力をするきっかけや中心になっているということです。価値観や権限の押し付けではなく、周囲の自発性を喚起するキーマン的な存在であるということです。

例えば、あの人のために是非とも協力してあげたい、力になってあげたいという気持ちの源泉は、対象となる人の影響力です。これができればあの人が認めてくれる、あの人についていけば絶対に間違いない、あの人と一緒にこのプロジェクトを成功させたい、と思われることも同じです。

エンジニア一人の力はたかが知れています。優秀なエンジニアは普通のエンジニアと比べて数倍~数十倍の生産性の違いがあるのは事実ですが、大きなシステムは一人だけでは納期内には到底作れませんし、テストもしきれません。

だから周囲に能動的に動いてもらう必要があります。自らも手を動かしつつ皆の見本になり、周囲にも動いてもらって一つの大きなアウトプットを共に作っていく力が、エンジニアの影響力です。周囲を自分の力で動かすことはできません。権限や権力で動かしても、納得感がなければわだかまりが残ります。

スキルは、そんな影響力の裏付けとなるものです。スキルとは実務能力にも直結しますが、同時に、あるべき姿やビジョンを具体的に提示できる力や知見でもあります。やるべきことを高い品質で当然のように行うことと、何をやればいいのかわかっていることが、エンジニアの影響力の源です。

4-2.影響力は自ら考え発信し広げていくもの

影響力とは、一人でに強くなったり、広がっていくものではありません。自分で考えて、発信し、広げていく活動をし続けなければなりません。でも、現場や会社で劇的な大変革を起こす必要はないのです。

ポイントは、自分が何を大事だと思っているかを、周囲に良く知ってもらうということです。その大事だと思うことに周囲が深く共感していて、実現することに意味や利益があると分かってもらえれば、その実現に向けて周囲が能動的に動くきっかけとなれるのです。

ですから、影響力を広げるために行うべきことは、自分から行う少しずつの何かへの貢献を通じて、周囲に自分自身のことや考えを少しずつ分かってもらうことです。さらに重要なのは、それをずっと続けることです。だからまずすべきなのは、自分が大事だと思っていることを明確に自覚し、意識することです。

エンジニアなら、自分が分かる領域での貢献は、何かやろうと決意しさえすればできます。そして、その貢献は決して高レベルでなくて良いのです。ただし、自分の行動や発信する内容には必ず明確な理由や意味を持たせ、責任も持たねばなりません。その重さと積み重ねが影響力を生みます。

今は自分を表現したり、自分から発信できる手段や場所はたくさんあり、好きなものを選べます。SNSでもチャットでもBlogでもソースコードでもOSS活動でも論文でもメーリングリストでも掲示板でも電話でもメモ書きでも勉強会でも部活動でも。何より、仕事の成果物で表現できるなら一石二鳥で効果的です。

影響力を広げる第一歩は、単なる傍観者・受益者・受け身の作業者であることをやめることです。何の発信もせず日々を過ごすだけでは、影響力は現状維持か小さくなるだけです。そして、ただの感情的な、脊髄反射的な、内容のない後ろ向きな発信も、影響力を小さくするのです。

4-3.スキルは何かに興味・関心を持ち続けることで広がり深まる

スキルも影響力と同様に、勝手に広がったり深まったりはしません。日々の仕事のなかでもスキルは自然と身に着きますが、スキルをさらに広げたり深めたりするには、あと一押しの工夫が必要です。

スキルを広げ、深めるための習慣は、どんなスキルへも等しく興味・関心を持ち続けることです。なぜかと言うと、世の中の全てのスキルには何かしらの繋がりや関連性、少なからぬ重複箇所があることに気付くためです。

さらに、複数のスキルに対し、同じ考えが通じる部分と違う部分を明確に意識・認識できるかが重要です。この同じ部分が何かを素早く把握することがスキルの広さに繋がり、違う部分が何かを正確に理解することがスキルの深さに繋がります。

このように、スキルが広く深い人は、一見無関係なスキル同士にも何かしらの類似性を見出し、複数のスキルを高い抽象度で同一視して記憶量を削減し、自身の知識を体系化しています。この視野は、一見自分には関係ないように見えるスキルへの関心がないなら、決して得られないものです。

例として、JavaプログラマーがC#の領域へスキルを広げ、深めるにはどうすればいいのでしょうか。JavaC#は文法上では非常に似通っていますが、決定的に違う部分も数多くあります。

まず最初にC#を概観した上で、文法やできることはほぼ同じだと直感できることが、スキルの広さです。そこから、Javaのオブジェクト指向プログラミングの知見がC#でも生かせると推測できることも同じセンスです。さらに広げれば、C++も結構なご近所様だと気付けるでしょう。

そしてC#のスキルを深めるには、Javaでの諸概念がC#ではどう扱われるか、違う部分とその理由、プログラム言語としての設計思想の違い…などの観点での理解が必要です。特に、Javaからの差分で理解できるかが、スキル習得の効率に影響します。

5.現場の第一線で一生働けるエンジニアでいるために

私は再就職先として、とあるSES企業を選びました。面談を受けた後、一生エンジニアとして働くなら実はこの会社なのでは…と直感し、様々なリスクは承知でその会社にお世話になることに決めたのです。それに、徹底した実力主義の会社であることが面談で伝わってきたからでもあります。

全ては、エンジニアとして一生働けて、成長できる環境を自分で選ぶためです。私が今所属している会社は、一生働けるエンジニアを育て、支援し、働き続けられる環境を用意することに、本気で、全力で取り組んでいます。

今の会社は、実は人材紹介会社の顔を立てるために、面談だけ受けるつもりだった会社です。事実、まだ企業としての継続年数も比較的短く、社内制度や福利厚生などには足りない箇所も散見されました。それでも選ぶに足る理由があったのです。

私はエンジニアとしては高齢ですから、現役での転職は困難でした。他社の面談でも管理職になることが前提でした。それでも、私のキャリアや思いを伝えながら粘り強く探せば、再びSIerや有力な自社サービスを持つ会社でエンジニアとして働けたかもしれません。ですが、私はその道は選びませんでした。

ここでは、そんな一生働けるエンジニアには何が必要であると考えているのかをお伝えします。

5-1.現場で一生働けるかは自分の実力と「姿勢」が全て

現場で働くということは、現場で必要とされるということです。現場で必要とされるには、エンジニアとしての高い実力が必要不可欠です。また、現場で必要とされ続けるには、仕事への姿勢が鍵になります。

高齢エンジニアは、現場からの単純な作業員としての需要へは不利な立場です。単価でも供給量でも、若年層や外国籍の方、オフショア・ニアショアなどの競争相手には絶対にかなわないです。ですから、現場で一生働くためには彼らにないメリット・優位性を持たねばなりません。

ですから、高齢エンジニアはその実力で、圧倒的な差を競争相手との間につける必要があるのです。実力とは、既にお伝えしたとおり、影響力とスキルです。これこそ、エンジニアとして長年仕事をしてきたからこそ、多くの現場を渡り歩き色々な経験をしたからこそ、初めて身に着くものなのです。

そして、現場では常に前のめりな「姿勢」でいるべきです。特に高齢エンジニアには、現場ではどんどん自律的に積極的に動くことが求められています。長い経験から、PJの状況に対してどう動くべきかわかっているはずだからです。

ただ、積極的であることをいたずらに意識したり、演技する必要はなかったりします。実は、現場のマネジメント層は、外部の要員が「仕事の異なるやり方」や「新しい文化」を持ち込むことを期待してもいるので、それに応えれば自然と前のめりな姿勢になります。

つまり、自分の仕事のやり方を貫くことであり、提案を続けることです。状況を意識した働きかけを続けることで、PJのことを考えてくれる人だというブランディングがされ、結果として必要とされ続けます。提案をPJで受け入れるかはPMPLが判断しますが、もし受け入れられなくても決してめげないでください。

5-2.実力とは一生をかけて「磨き続ける」もの

エンジニアの実力は常に未完成です。だから一生をかけて磨き続ける必要があります。この姿勢こそ、エンジニアとしての大原則であり、一生をかけてキャリアを積むことの意味です。

普通の仕事なら、経験を積むほどキャリアが分厚くなり、周囲からも尊敬を集め、それに応じた地位や報いが得られるものです。ですが、SI業界のエンジニアは3540歳くらいで限界だという説が根強く残っており、一生エンジニアではいられないのが当然、という風潮があります。

私はそんな定説や風潮には懐疑的です。様々な限界説や風潮は、一生をかけて努力し学び続ける気力・気概のなくなったエンジニアにだけ当てはまります。確かに体力だけは加齢により衰えますが、その分を分厚いキャリアと経験でカバーするのです。

システムやプログラミング、設計の仕事は本質的には論理の塊です。論理を理解できるかは、本人の論理的思考能力の有無だけに依存します。その論理的思考能力は年齢には依存しませんし、一生をかけて鍛えていけるものです。

新しい技術や概念はそれこそ毎日のように出てきますが、エンジニアにとって本質的に理解不能なものはありません。新しい技術は既存の課題や問題を解決するため登場することがほとんどですから、その背景と経緯さえ理解すればよいのです。これこそ、エンジニアとしての長い経験が生きるところです。

さらに、システムの作られ方は昔から本質的には変わっていません。何かの処理や画面への入力があり、何かしらの処理を行って出力を作る…それがたくさん繋がっているだけです。その表現方法が時代により変わっているだけなのです。

だから、一生現役エンジニアとして働けるかどうかは、自分の視点の持ち方、仕事への姿勢次第です。

5-3.実力を磨ける「環境」を自らの意思で選ぶ

実力を磨ける環境は、実は自分で選べるのです。自分で環境を選び、心機一転仕切り直すことは、自分の意志でいつでもできることなのです。そういう気持ちを理解し、サポートしてくれる会社を選ぶべきです。

私はSIerとしての立場から、一つの現場・環境にじっと腰を据えてこそわかることがある、と思っていました。これは今も同じです。そして、システムの構築だけ行ってすぐ別の現場に向かうパートナーさんを、ある意味で無責任だなと思ってもいました。SIerの立場では決してそうできないからです。

ですが最近は、自分の実力を磨ける環境を積極的に探すべきであるとか、自分の力を欲してくれるお客様を探すべきなのだ…とも思うようになりました。良くない環境で仕事を続けることは、もう決して先が長いとは言えない自分の時間を浪費することだからです。

それに、私のエンジニア人生の集大成と呼べるような仕事を、いつかきっと自分の実力で掴み取り、立派にやり遂げてみたいのです。そんなことができる環境にこの身を置きたいと思うのです。

しかし、そういうことを考えていたとしても、自分のいる環境を望むような姿に自分の力で変えていくことは大変難しいです。その一方で、他人に期待していては無駄に時間ばかり過ぎてしまいます。エンジニアに限らず、時間は有限なのです。

だから、自分はどうすべきか、どうしたいか、どうなりたいかを、じっくりと、でも期限を切って考え、結論を出すべきです。今の環境は人生という大きな視点から見て、自分がいるべきところなのか。今の自分にとってのメリットやデメリットは何なのか。自分が影響を及ぼせる範囲と及ぼせない範囲は何なのか。

その結論が「飛び出すべき」であれば、リスクを承知で飛び出してみるべきです。当然、今よりいい環境が得られるかどうかはわかりません。ですが、自分から動かなければ、何かを得られる可能性は決して上がらないと思うのです。

5-4.良い環境こそが自分の実力を磨く手助けをしてくれる

ここまで、自分で仕事へのスタイルや環境を選ぶべきというお話をしてきましたが、逆に自分のいる環境が自分を磨く手助けをしてくれることもあるのです。

私が考えるに、やる気がある人が周囲に大勢いる環境こそ、本当の意味での良い環境なのです。そのような環境に身を置いてこそ、自分の実力を本当の意味で伸ばせるのです。

例えば、私は今の会社でJavaの勉強会を主催し、社内のJava技術者を育成したり、自分の考えを伝える活動をしています。この活動が実に面白く、楽しいのです。なぜかというと、皆やる気があるので、私の伝えることに実にいい反応をしてくれるからです。

結局、私は勉強会を通じて管理職の仕事の一つである教育をしています。ですが、上司や組織や会社から命じられたからではなく、私のスキルや経験を求める、やる気のある人達の熱意へ応えるべく、自主的に行っているのです。この活動が私のスキルレベルを下支えしてくれています。

また、会社の中で人をマネジメントしたり、会社の力を強くするための各種活動を行うリーダー的な立場・役割の制度があります。これは自薦の立候補制で、他薦ではありません(ただし社内審査に通る必要あり)。ですから、本当にやる気がある人だけがリーダーの座を掴み取るのです。

そして、このリーダーたちが実によく会社のことを考え、自主的に動くのです。私は彼らの活動から良い影響を多く受け取っていますし、私もいつか彼らの輪に加わりたいと思っています。これは、私がかつて上司から「管理職にならないか」と聞かれた時とは違い、今の私の意思なのです。

6.さいごに

ここまで長々とお付き合いいただき、ありがとうございました。

私にとって何が正解だったかは、今となってはわかりません。しかし、少なくとも、私は今でも一人のエンジニアであり続けています。できれば定年まで現場の第一線にいて、小うるさいおじさんエンジニアとして働けていられればと思っています。

SIerから一歩外に出てみると、自分の全く知らない世界があったり、自分の能力を欲する人達がいることが分かりました。新しい業界は自分の知らないことだらけです。それに、エンジニアとして、社会人として、人間として成長できる余地がまだこんなにあったのかと驚いています。

人の価値観は様々です。安定した人生を第一とするなら、SIerに在籍しているならずっとそのままでいることが一番良い道だと思います。でも、挑戦することへの心理的ハードルが低いのなら、そのままでいるべきかどうかは、どうありたいかと思う気持ちの強さ次第です。

人間と動物の最も大きな差異は「自分の意志で状況を選ぶことができる」ことです。一生エンジニアとして働きたいならば、その選択肢の一つとして今はSES企業もあることを、頭の片隅にでも置いておいていただければ幸いです。