何を書くのか
SIer出身のエンジニアがWeb系に転職するまでを振り返って、どんなキャリアを描いて転職を決意したのか、キャリアのために何を準備してきたのかを書きます。(需要があるのかは全く分かりません)
誰が書くのか
転職する前の経歴
- 新卒で受託開発がメインのいわゆるSIerに入社して7年目まで勤続
- 社内システムの保守運用を3年経験。老朽化&レガシーなシステム(Java, Jenkins,オンプレ...)。メイン業務は保守開発、障害対応など。
- 担当案件が変わり、自社サービスのシステム構築(AWS, IaC)を3年経験。メイン業務はインフラの構築。
転職先の仕事
- 人材業界に強い事業会社で他事業にもWebサービスを展開
- 担当システムは1つで、比較的大きな規模のサービス
- SREを実践する開発メンバーとしてジョインして約1年が経過
なぜ書くのか
SIerにいるとき、なんとなくWeb系に憧れてました。服装からして自由ですし、トレンドの技術を使って好きな仕事ができて、成果を出した人はちゃんと評価される。当時のSIerと真逆に感じました。隣の芝は青く見える的なやつです。
今とは時代が違うかもしれないですが、当時Web系は華やかなで、秀でた技術力がないとSIerからの転職は難しいイメージを持ってました。技術的なハードルだけでなく、企業文化も全く違い向き不向きがあると感じて、自分には縁がないだろうなとも思ってました。
色んな不安や迷いがありましたが、背を向けず転職に挑戦して良かったと思っています。同じように現職で悩みや不安を抱えてる方にとって、新たなキャリアを考える際の一助となればという気持ちで書きます。
キャリアをどう考えていたか
個人でもやっていける実力をつけたい
前提として、必ず転職したかったというわけではありません。ただ、ずっと同じ会社にいたいかと言われるとそうでもありません。
大手企業が次々と早期退職やリストラを実施している今の時代、終身雇用が今後どうなってるかわかりません。どこの企業に勤めるかよりも、どんな仕事をして、何を得るのかを重要視する人が増えていると思います。
会社にしがみ付くのではなく、もし会社の肩書きが無くなったとしても、個人でやっていけるようなスキルを身につけることを目標としていました。
広くスキルを身に付けたい
配属希望のときにアプリかインフラどっちをやりたいか聞かれたときに、なぜ両方はできないのだろうと疑問でした。
どちらかを選ぶのが嫌で両方できるエンジニアを目指しましたわけですが、現実はそう甘いものではなく4年目時点で二兎を追う者は一兎をも得ず状態になり、強いアピールポイントがありませんでした。
それから2年くらいインフラだけを極めて、SREというキャリアを目指して転職しました。
専門がない状態は危ないですが、両方を目指して視野を広げていたからこそ、本当に目指したいキャリアに出会えたのだと思います。
転職したきっかけ
前職でのモチベーショングラフを雑に書きましたが、3年目と7年目のとき仕事に面白みが無く、モチベーションはかなり低下しました。この時期に仕事のモチベーションを上げる手段として転職を考えました。
1,2年目
最初の2年間は、関わる業務すべてが未経験のことばかりで、尊敬する先輩たちの背中を追いながら、触れた技術をキャッチアップするために必死に勉強して日々を過ごしていました。配属の部署が技術系でアプリ、インフラ棲み分けせずになんでもやっていたので、とにかく覚えることが多く毎日が刺激的でした。
3年目
3年目になると、先輩に頼ることなく案件を自走できるようになりました。できることをやるだけでは物足りなくなるフェーズです。当時は特に、トレンドの技術を触りたい、もっと技術力をつけたいと思っていました。ところが、運が味方することはなく若い芽を摘むかのように、オンプレ×Talendのバッチ処理をJavaで作り直すという、苦行とも言える案件を1年間やることになりました。(Talendは全く悪くありませんw)
転職をふわっと考える
入社して3年間ずっとオンプレでレガシーなシステムの保守運用がメインの業務だったので、AWSを触りたい!とか新規開発をやりたい!と痛烈に思うようになりました。それだけでなく、尊敬する先輩たちはWeb系の会社にどんどん転職していくこともあり、そいういう道があることを知りました。
この時に完全SIer脱出マニュアルを読んで、仕事へのモチベーションは低いながらも、エンジニアとしてのやる気が溢れ出ました。この本を読んで取り組んだことは準備していたことに書きます。
4,5年目
ようやく念願の新規開発案件にアサインして貰い、転職欲はひと段落しました。ずっと何をやりたいのかを上司に伝え、そのために必要なスキルを自己学習してアピールしていたので、正直もっと早くアサインして欲しかったと思うこともあります。しかしこればかりはタイミングという運要素が大きいので、下積みができた状態で即戦力になるとポジティブに捉えてました。
案件ではAWSの新規構築、モダンなアプリ開発に関われて、モチベーションはグッと上がりました。
6年目
2年ほどかけてAWSのシステム構築がほぼ完了して、燃え尽きました。インフラエンジニアの次ステップとして、SREのキャリアを考え始めました。ところが、システム規模が小さいことがネックとなり、やりたいことができない状況に陥りました。それならアプリケーション開発に転身したいと申し出ましたが、インフラメンバーとしての役割が強く、インフラ改善系のタスクがマストでした。利用者が少ないシステムなのでタスクの影響度は小さくモチベーションが低下しました。
転職を決意
1回目のモチベーション低下のときは、社内の別案件を目標にしていました。でも今回は、「成長中のサービスでSREとしてステップアップできる」に該当する案件は存在しませんでした。やりたいことはSI案件ではなく、自社サービス開発でなければ実現しないことが明確になったので、Web系に転職することを決意しました。
準備していたこと
完全SIer脱出マニュアルを読んでWeb系に転職したいと強く思い、いつでも転職活動を始められるように、社会人3年目のときに準備を始めました。特に取り組んで良かったことを書きます。
1. 興味のある技術を自ら学ぶ
転職のためにというよりは、やりたい仕事がいつ舞い降りてきても即戦力として活躍できるように、トレンドや関心を持った技術は進んで学習してました。当時は、Dockerが流行り始めてこれはアツいと思い、Kubernetesの資格を取るのを目標にオライリーの書籍を購入して基礎から勉強しました。資格を取ることは、転職のときにかなり有効だと思います。特に難易度の高い取得や、専門性の高い資格は受けがいいです。
2. ポートフォリオ(自作アプリ)を作る
転職において、ポートフォリオは経歴を補うものとして使えます。私は、オンプレしか触れてない経歴にコンプレックスを持っていたので、パブリッククラウド×SPAの写真投稿アプリを個人開発して、実績を作りました。特にWeb系の会社は面接で、個人開発してるアプリはありますか?と聞かれることがあります。一度アプリを作った経験があれば十分に語ることができます。
3. 個人ブログで学んだことをアウトプットする
アウトプットの重要性は言うまでもないです。定期的にアウトプットすることで、インプットが楽しくなり、ハードルもどんどん下がっていきます。優秀なエンジニアはとにかくアウトプットしてる印象です。繰り返し行うことで、インプットの量も増えて知識の幅が広がり、定着します。
個人ブログにした理由は、Qiitaだとある程度の質が求められそうだったのでもっと気軽に書けるというのと、GCP×WordPressで構築したのでクラウドの勉強になるからです。
4. XとGitHubアカウントを育てる
個人ブログの投稿や日々のエンジニア活動を発信する目的でXのアカウントを作りました。フィードバックやリアクションを貰えるので励みになります。個人開発してた時は、#100daysOfCodeというハッシュタグを付けて投稿して、習慣づけていました。GitHubアカウントはアプリ開発や勉強したコードを保管するために作りました。
どちらも、活動の記録になるので、スキルやアピールする十分な材料になります。
転職してどうだったか
入社後のミスマッチはなく、今でも面接で会話した通りの業務、キャリアを積むことができています。転職する前に、今の会社で叶えられないかをちゃんと考えたので、後悔することはありませんでした。
(転職後にフォーカスした内容は別記事にします)
最後に
私のように下積みが長いとモチベーション維持はとても難しいと思います。でも、モチベーションに波があるのは当然で、毎日が刺激的で意欲的なときもあれば、辛い仕事で極端にモチベーションが下がることもあります。モチベーションが低いからこそ、何を目指したいのか、今を打開するために何をすればいいのかを明確にして、逆境を乗り越える気持ちで自分のためになることを探して取り組むことが、キャリア形成において非常に大事だと思います。
皆さんが今後良いキャリアを形成できることを願っております。