記事を投稿するきっかけ
SIerからWeb企業を経験して、今回ITコンサル系の企業へ再転職することになったから、自分の覚書と、似た境遇やったりの共通の価値観をもつニキたちへの参考になればええなと思って投稿することにしたで!
キャリアと伝えたいこと
ワイは現在43歳や。新卒で業務システムを元請けとして開発するSIerに入って、SEからPM(プロジェクトマネージャ)を経て、38歳でWeb企業へWebエンジニアとして転職したんや。そこからWebエンジニアとして5年経験を積んで、今回の転職に至るわけやな。
SIerからWeb企業へ転職するエンジニアは結構多いし、ワイの周りにもたくさんおった。ただ、ワイの経歴が他の奴らと決定的に違うところを挙げると、以下の2点になるな。
転職年齢が38歳と、比較的かなり遅いこと
キャリアとしても数十人規模の開発プロジェクトを回すPMやったのに、その地位を捨てて、モダンな技術・コーディングをメインとするWebエンジニアとして転職したこと
周りを見てると、SIerからWeb企業への転職(エンジニア枠)って、だいたい20代〜30代前半であることが多いと思うんや。実際、ワイがWeb企業への転職活動をしてた時も、年齢だけで書類選考すら通らへん企業がいくつかあったからな。
あと、元請け開発のPMやと、コードに触れることなんて皆無と言っても過言やない(ワイは大学で情報系を専攻してたから、多少は触ってたけどな)。そのため、面接で「コーディングの実務経験なし」とバッサリ判断されることもあったわけや。
もちろん、企業によってはそんなワイをちゃんと拾ってくれるところもあるから、もし自分と同じような境遇でWeb企業を目指してるニキがおるなら、絶対に諦める必要はないってことをお伝えしておくで!今回は当時の転職をどう乗り越えたかって話は割愛するけど、気が向いたら今後投稿するのもアリやな……(需要があれば書くで)。
ただ、結局のところ、ワイはWebエンジニアからまたITコンサルへ転職してもうたんや。
この投稿では、美化された成功体験談なんかやなくて、2つの開発文化の狭間でワイが何に悩み、どう動いて、なんでITコンサルという新たな挑戦を選んだのか、そのリアルな実情をぶちまけるから、一つの参考例にしてもらえると嬉しいわ。
SIerでの苦悩――「確実性」の裏にあるプロセスの重圧と技術の空洞化
ワイのキャリアの前半は、社会インフラ企業のシステムを担うSIerから始まったんや。そこはミッションクリティカルという超ド級のプレッシャーの中で、品質管理とリスクマネジメントの徹底的な基礎を叩き込まれた場所やから、今でもワイのエンジニアリングの背骨になってるのは間違いない。
新卒で入った企業やったんやが、部署配属後いきなり「あそこからはデスマーチの足音が聞こえる」と言われてた伝説のプロジェクトへ配属されたんや。どのようにシステムを開発するんかワクワク・ドキドキしながら参画したのを覚えてるんやが、期待とは裏腹に、周囲の予測通り見事なデスマーチになってまうという、いきなり厳しい状況を強いられたわ。
ただ、この経験も悪いことばかりやなくて、めちゃくちゃノウハウが得られたし、仕事自体が楽しかったんや。想定よりも早く数十人規模のプロジェクトマネージャに任命されて、自分自身のキャリアも満足に感じてた。
しかしや、この頃から、次第に開発の本質とはかけ離れた「政治的なカルチャー」に気づいてまうんや。
最も悩まされたんは、「合意形成とプロセス維持」のためだけに費やされる膨大なエネルギーや。ステークホルダーが多岐にわたるから、一つの意思決定を下すのにも綿密な根回しと分厚いドキュメントが必要になる。
いつしか自分自身の役割が「価値あるシステムを作ること」から「正しくコンセンサスを得ること」に変質してもうて、過去の合意事項が組織の都合で揺らぐたびに、その論理的な調整に忙殺される日々。まったくモチベーションが上がらん不毛な日々を過ごすことになったんや。
さらには、自分らは技術的なキャッチアップもせんと、協力会社に頼り切った開発を「よし」とする会社の風潮。コードは完全にブラックボックス化して、一部のコアメンバーにのみ限界まで負荷が集中していく。当時の技術トレンドは明らかに次のステージに切り替わってたのに、「技術なんかは協力会社に任せとけばええねん」という会社の態度。技術を蔑ろにして、出来もせん案件を受注して、数々のデスマーチを作り上げてきたくせに、これや。
現場を見渡すと、ワイよりも高い年収をもらってるだけの事務作業員、ポジショントークばかりで本質的な生産性に一ミリも寄与せん社員、評論家みたいに「自分には責任ない」と考えてる課長陣が山ほどおることに気づいてまう。もちろん、全員が全員やないで。ごく少数は本物の技術屋やったり、上流のプロフェッショナルと呼べるメンバーもおった。ただ、技術どころかITリテラシーのない素人同然のメンバーも相当数存在してたんや。
「確かにプロジェクトマネジメントはできる会社やけど、スピード感が皆無や。UIも古臭いし、技術も世間から10年以上遅れてる。今後、世の中の急激なDXの波に完全に取り残されてまうやろ……」
こういう不満や不安を感じると同時に、ワイが満足できる仕事ってのは一体なんなんや?と考えたんや。
「普段、自分がユーザとして利用してるWebサービスとかアプリのUIはちゃんとしてる。一般ユーザからも使われてるし、自分が作ったものがたくさんの人に使ってもらえるのはやりがいあるんちゃうか?」
「技術的にもモダンやし、開発スピードも速い。ソフトウェアの本質であるコードを中心とした開発になってて無駄がないわ!」
この頃は、SIerにおける開発に対して、不毛な政治対応、取り返せない技術的な遅れ、スピード感の欠如から限界を感じてて、真逆の開発をするWeb業界へ憧れに近い先入観があったのは間違いない。結果的に、確実性を重視する世界に限界を感じたワイは、よりスピード感があって、モダンな技術を自社プロダクトとして回していくWeb業界へと舵を切る決意をしたんや。
Web企業での洗礼――「暗黙知」という名の混沌と、深夜2時の孤独
モダンで洗練された世界を想像して飛び込んだWeb企業やったんやが、そこでワイを待ち受けていたのは、SIerとは真逆のベクトルを持つ、圧倒的な「カオス(混沌)」やった。
入社直後、ワイは最大級の試練に直面する。担当することになった重要サービスのシステムにおいて、ドキュメントや仕様書、設計書が「ほぼ皆無」やったんや。前任者からの引き継ぎ期間も「だいたい10分程度」という極めて短いもので、システムの全容が「暗黙知」のまま残された状態でのスタートや。
「コードこそが仕様書」と言えば聞こえはええけど、それは単なる属人性の裏返しやがな。SIerにいた頃と違って、100台以上のサーバ(VM, instance, Pod)に関する、開発業務も保守業務も運用監視業務も「すべて自分ひとり」で行わなきゃならん。もちろん、ユーザからの問い合わせに対する回答もや。担当になった瞬間から、何一つわからん状態でも、周囲からは第一人者(プロ)としてコミュニュケーションされるんや。
運悪く着任から数日、過去の設計に起因する深刻なトラブルが発生して、サービスが一時機能停止に追い込まれてもうた。仕様が分からん中で、必死に膨大なソースコードを読み解きながら事故対応に奔走し、経営層へ発生原因・リカバリ方法・再発防止計画を説明せなあかんかったんや。
(もちろん内心「元からおった他のメンバーがやるべきやろ!」と思ってたけど、そこは大人の対応や。。。)
さらに、そのシステムは過去の技術的負債が限界に達してて、毎晩午前2〜3時になると決まってシステムダウンのアラートが鳴り響くんや。改修しようにも配属後はあらゆるマイグレーション案件が走り狂ってて、残業続きでとても修正する余裕もない。未就学児二人と妻を起こさんように寝室から静かに抜け出し、暗闇の中、一人でノートPCを開いて復旧作業を行う孤独な夜が何ヶ月も続いたわ。
技術もさることながら、開発フローにも業務システムの開発とは大きな違いがある。例えば、オープンな技術を利用できることや、高度なセキュリティを担保せなあかんこと、デリバリーの回数が2〜3桁も違うことなど、これまでとやり方が全く違うんや。
ワイは元々PMやったから、下流工程にあたる部分の経験が乏しくて、始めのころは他人のプルリクエスト(コードレビュー)に通常の何倍も時間をかけてもうたり、CI/CDの書き方すらわからんかった。反対にマネジメント全般、要件定義・ヒアリング・仕様調整、設計には当然強かったし、OSやDB、NWなどの基盤部分に関する知識・スキルは、他のメンバーよりも圧倒的に高かったから、そこは苦労せんで済んだな。
Web企業は「スピード」と「個人の裁量」を重んじる。けどな、それは時として「持続的な管理プロセスの不在」を意味してたんや。目先の機能リリースや一時的なトラブル対応に追われて、根本的な再発防止策やテストコードの拡充といった「品質への投資」が後回しにされがちやった。体感として、業務稼働の約半分がこの「過去の負債の保守対応」に消えていく現実に、ワイは強い違和感を抱かざるを得んかった。
当事者として這い上がる――Node.jsへのマイグレーション
ワイは、SIerの修羅場で培った「徹底的なリスク管理と事前検証の思想」を、このWeb企業のカオスな環境に融合させることで、状況を根本から変えようと動いたんや。
ある時、利用していたコアフレームワークが次期言語バージョンに対応せず、10ヶ月後にシステムの寿命(EOL)を迎えるという最大の危機が発覚した。単に延命措置をとるか、あるいはシステムを根本から作り変えるか。
ワイは、後者を選んだ。
「Node.jsへ全面的に刷新するわ!」
自ら影響調査とリプレイスのロードマップを引き、組織長や技術責任者、関係各所に説明して回り、予算と承認を力ずくでもぎ取ったんや。
10ヶ月、10名以上のメンバーを率いる大規模プロジェクトや。チーム内に新技術の経験者がほとんどおらん中、アプリ起動時のメモリ枯渇問題や、本番環境切り替えのバグなど、次々と未知の技術的障壁が立ちはだかった。
けどな、ワイはただ数字だけを見て管理だけするような冷めたPMには絶対になりたくなかったんや。自らもコードのコア部分に触れ、メンバーと同じ目線で技術課題の議論を戦わせ、泥臭く一つずつ問題を潰していった。
リリースの瞬間は、ユーザーに一切の影響を与えんよう、新旧のアプリケーション間で段階的な移行を敢行した。結果、10ヶ月後、システムは予定通り完璧に生まれ変わったんや!過去の負債を清算し、開発効率を劇的に向上させたこの実績が評価されて、ワイはさらに難易度の高い、別サービスのプロジェクトマネージャ(兼エンジニア)へと抜擢され、既存運用との兼務というさらなる激務の荒波を駆け抜けることになったんや。
なんだかんだで5年間、新サービスもリリースしたし、KPIもばっちり達成。社内表彰も2度受けたで。様々な組織・チームのメンバーと固い繋がりもできて、気がつけばチームの「主軸」と呼ばれるまでになったわ。
入社後3年間は残業も多くて、みなし残業の時間を超えることもぶっちゃけしばしばあったけど、4年目以降はほぼ定時で業務をこなすことができるようになり、周りから頼られ、他メンバーをサポートすることも珍しくなくなった。この後のキャリアとしては管理職を目指すのが妥当やったやろう。
しかしな、どうしてもマネジメント意識の薄いこの企業、引いてはこの業界で、管理職になりたいという気持ちにどうしてもなれん自分がいたんや。
新たな渇望――なぜ、いま「ITコンサル」なのか
SIerでの14年、Web企業での5年。合わせて19年。
ワイはインフラ、ミドルウェア、フロントエンド、そして大規模プロジェクトのコントロールまで、全工程を自分の目で見て、手を動かして統括できるハイブリッドな力をこの血肉にすることができたんや。
しかし、両方の極端なカルチャーを経験したからこそ、自分の中に新たな渇望がフツフツと湧き上がってきた。
「ただシステムを作るだけやなくて、企業の変革そのものを本質的にリードしたいんや!」
Web企業の現場はスピードがある反面、個々のプロダクトの小さな機能改善や、局所的な最適化に終始してしまうもどかしさがあった。AIやクラウドの進化によるビジネスの地殻変動が目の前に迫っている今、ワイが持ってるエンジニアリングのリアルな知見をベースにして、経営層と対等にビジネス課題を議論し、社会に大きなインパクトを与えるグランドデザインを描きたいと強く思うようになったんや。
そのために選んだのが、強力なデリバリー力とグローバルな知見を併せ持つ「ITコンサル」という戦場や。
ワイは守りに入るつもりはない。これまでの経験という最強の武器を引っ提げて、次のステージで暴れてくるで!