はじめに
2024年にSIerからいわゆるWeb系企業へ転職して半年が経ちました。この半年間で、技術的な変化や働き方の違いを実感し、多くの学びがありました。本記事では、転職を通じて感じた良かったことや大変だったこと、そしてSIer時代の経験がどのように活かせたのかを振り返ります。めちゃくちゃ主観入っていますが、同じような境遇の方に共感していただいたり、参考にしていただいたり、こんな人もいるんだと感じてもらえれば嬉しいです。
転職しようと思った理由
新卒で独立系SIerの中小企業に就職しました。
入社当初は、どんな仕事でも頑張ろうという熱意を持っていました。しかし、新入社員研修やOJTを通じて、技術を身につけたいという思いが次第に強くなっていきました。入社2年目になると、主な業務はシステムの問い合わせ対応で、毎日ひたすら電話を取る日々が続きました。また、「システム改修」といっても、実際にはWordの文章を修正したり、Excelにハードコピーを貼り付ける作業が中心で、エンジニアとしての成長を実感する機会はあまりありませんでした。
一方で、他の同期はJavaやC#で日々「ITエンジニアっぽい仕事」に取り組んでおり、その姿がとても魅力的に見えました(いわゆる「隣の芝は青い」状態でした)。
またそんな中、ちょうどWeb系エンジニア転職が流行っていた時期で、YouTubeやブログで「未経験からWeb系へ転職」「SIerからWeb系へ」といった情報をたくさん目にするようになりました。Web系の方が技術がモダンでキラキラしているように見えました。(今振り返ると若さゆえの安直さもあったと思いますが…。)
そんなこともあり「今のままでは技術が身につかないのではないか」と焦りを感じるようになり、転職を真剣に考え始めました。
その後、一度システム開発系の部署に異動させていただきましたが、やはり別の仕事に挑戦したいという気持ちは変わらず、その約2年半後に転職を決断しました。
転職前の仕事内容・経験
新卒で中小の独立系SIerにSEとして就職し、4年半ほど勤めました。会社は受託開発や自社サービスの運営、準委任契約での客先常駐などを行う企業でした。
1. 担当していた業務
- 医療・福祉業界向けシステム 問い合わせ対応、帳票(VBやWord)の修正、システム改修(VB.NET)、機器設置、リリース作業などを担当していました。中でも問い合わせ対応と帳票修正が大部分を占めていました。
- 建物系業界向けシステム 複数システムの軽微な修正(Java、HTML、CSS、JavaScript)や、システムのバージョンアップ、ブラウザ移行時(IEからEdge)のテスト作業を行っていました。
- 商社向け社内システム ローコードツールを用いた改修やPowerShell、batスクリプトの作成、問い合わせ対応、不具合対応、データ抽出、マスタ更新など幅広い業務を手掛けました。
2. 使っていた技術・スキル
VB.NET、Java、Oracle、SQL Server、ローコード開発、PowerShell、C#など
転職後の仕事内容
前職を辞めた後、転職活動をしながら半年間、SESのフリーランスエンジニアとして案件に入り、繋ぎの期間を過ごしました。その後、現在の会社に転職し、自社ECサイトのフロントエンドエンジニアとして勤務して半年以上が経過しました。会社は、自社ECサイトや他モールで商品を販売する小売業になります。
1. 担当している業務
- 自社ECサイトのフロントエンド改修 JavaScriptやNext.jsを使用し、ユーザー体験を向上させるためのフロントエンドの改修を行っています。また、CMSのフロントエンドおよびバックエンドの両方に携わっています。 UI設計を担当する部署や、バックエンドを委託している外部の会社と連携しながら、プロジェクトを進行しています。
2. 使っている技術・スキル
Next.js、React、PHP、MongoDB、PostgreSQLなど
転職して感じたこと
転職して半年以上が経過し、これまでの働き方との違いや成長を実感しています。以下に、技術面や働き方の変化についてまとめました。
1. 技術面での成長
正直なところ転職前の実務では直近2年くらい主にローコードを使っていたため、コーディングを行う機会はあまりなく、あっても軽微な改修くらいでした。現在はフロントエンドエンジニアとして多くの時間をコードを書く業務になりました。その結果、コーディングスキルが向上したと感じています。また、AWSやGitを活用する頻度が増え、それらの知識も深まりました。加えて、コードレビューで単に動作確認だけでなくリファクタリングの指摘を受けるため、読みやすいコードを書く力も徐々に身についている気がします。
一方で、フロントエンドが中心となったため、SQLを触る機会は減りました。またB to BからB to Cとなったこともあり、お客様と直接会話する機会もなくなりました。
2. 開発プロセスの違い
前職では、ウォーターフォール型の開発が主流で、詳細な設計書を作成し、偉い人に承認を経てから次の工程に進むのが基本でした。またその中のテストでExcelへのエビデンスをペタペタ貼っていく作業が大量にありまして、時間が取られる割にスキル的にも上がっている感がないため、これはあまり好きではありませんでした。納品してちゃんとやっているという証明をするというのはわかりますが、これ本当にみられているのかなと思っていました。Excelに画像を貼るスキルだけは結構あがりました笑。とにかく軽微な作業でも承認が必要なので、スタンプラリーのコミュニケーションにエネルギーや時間を費やしていました。実装面でも、変更したコードをすべてコメントアウトで残す運用(変更するコードの前後にコメントで日付と名前、修正内容をいれる)が基本だったのもそんなに好きではありませんでした。
現職はスピード重視だからか設計書は必要最低限の簡易なものか、場合によっては省略されることもあります。ソースコードはGitで管理されているため、変更内容をコメントアウトで残す必要がありません。また、既存コードにリファクタリングが必要な場合は、ついでに改善を進めるスタイルが浸透しており、効率的に開発を進められています。テストにおいても、納品がないためエビデンスの作成が不要で、より柔軟な作業フローになっている点で今の方が好きです。まあテストがおろそかになることもありますが…
3. 働き方の変化
服装がスーツから私服になったことで、精神的にも身体的にも負担が軽減されました。特に夏場にスーツでの満員電車は地獄でした。
残業についても大きく変化があり、前職では厳しい納期に追われ、21:00や22:00に退社が当たり前だったり、終電近くまで働くこともありました。
みんな帰らないので定時では帰りづらい雰囲気がありました。
現職ではメンバー全員が残業しない雰囲気があり、みんな定時になるとすぐ帰っていきます。残業は月に5時間もしていないと思うので、働きやすさを実感しています。
転職して大変だったこと
1. キャッチアップ
SIer時代は、しっかりとした研修が用意されていたため、新しい業務への準備期間が確保されていました。しかし、現職では特別な研修はなく、一応OJT形式ではあるものの、いきなり実務でNext.jsやReact、PHPなど、これまで使用経験がなかった技術を扱うことになり、最初は大変でした。特にJavaScriptは独特な書き方や構文が多く、最初は戸惑う場面が少なくありませんでした。また、画面数が多いプロジェクトや、共通で使用しているコンポーネントが多いコードを読んでりかいするのには時間がかかりました。さらに、CSSの細かい仕様にも苦戦し、思った通りのデザインにならないこともありました。
それでも、自分なりに勉強を続けるとともに、先輩方の助けを借りながら徐々に課題を解決していきました。質問しやすい環境のおかげでスムーズにキャッチアップできたことには非常に感謝しています。自分も将来は適切にサポートできるような先輩になろうと思いました。
2. レビュー
メンバー間でコードレビューを回しているのですが、これまでの経験では動作確認としてのレビューは行ったことがあったものの、本格的なコードレビューを行う機会はほとんどありませんでした。そのため、どの観点でレビューすれば良いのかを掴むのに苦労しています。
特に、他人が書いたコードの改修内容を正確に把握することは、自分でコーディングするよりも難しく感じており、レビューにはかなり時間がかかることがあります。
また、単に機能が正しく動作すれば良いというわけではなく、リファクタリングやコードの読みやすさ、メンテナンス性まで考慮する必要があります。このため、現在は自分が受けた指摘を参考にしたり、良いコードを書くための書籍を読み込んだりして、レビューのスキル向上に努めています。まだ学ぶべきことが多いと感じていますが、日々の積み重ねを通じて少しずつ成長しているところです。
SIer時代の経験は活かせたのか?
1. 活かせたスキル
SIer時代に培った基礎的なスキルは、現職でも大いに役立っています。 新入社員時代の研修や、軽微ながらも運用保守やシステム改修で取り組んだ既存コードの読み解き経験は、基本的なプログラミング知識として現職の業務に活用できています。
また、問い合わせ対応や、客先での仕事を行なっていた経験は、他部署や外部会社と連携するときに抵抗なく話せるので、そこは役に立ったかと思います。
あとは、SQLを書ける人が少ないため、そのような時に手を挙げられたり、Javaの経験からPHPを任せてもらえるきっかけになるなど、仕事を任される範囲が広がっていると感じています。
これからの課題と目標
1. 課題
現状の課題として、技術のキャッチアップと仕事のスピードアップかと思っています。特にReactやNext.js、Laravelなど、担当システムで使用する技術への理解を深める必要性を感じています。また、可読性の高いコードを書くスキルを向上させることも重要な課題になります。
業務でより多くのタスクを経験することと、個人での学習、コードレビューでの指摘を参考にするなどでコード品質の向上に取り組んでいこうと思います。また、スピードアップのため、純粋にコーディングやレビューのスピードを上げることと、無駄な作業はなるべく減らし、効率化を図るようにしたいと考えています。
2. 目標
まずは、フロントエンドエンジニアとしてNext.jsができますと自信を持って言えるような、確固たる基盤をつくるため、ReactやNext.jsを活用した高度な機能の設計・実装が一人でできるようになることが短期目標です。
さらに、バックエンドにも挑戦中なので、フルスタックエンジニアとしてキャリアを広げたいと考えています。
転職前は技術を上げたい、マネジメントはしたくないと思っていましたが、最近はマネジメントへの意識も変化してきており、PLやPMとしてビジネス目線を養いながらチームを率いる役割も視野に入れています。
また、前職は社員同士の仲が非常に良く、決して嫌いになって辞めたわけではありません。そのため、将来的には前職の会社と何かしらの形で再び関わり、恩返しができれば最高です。
まとめ
今回の転職を通じて、技術的な成長だけでなく、働き方やキャリアに対する考え方が大きく変わったと実感しています。SIer時代の経験も活かしながら、新しい環境で新たな挑戦の一歩を踏めたのではないかと思います。課題はまだ多いですが、一つひとつ乗り越えていくことで、成長していきたいと思います。
この記事が、SIerから転職を考えている方やで同じ悩みをもっている方に少しでも参考になれば幸いです。

コメント