はじめに
こんにちは、現在社会人5年目、エンジニアのkeitaMaxです。
未経験ドン底SESから大企業エンジニアに転職成功した経験を踏まえて、以下のようことをお伝えしたいと思います!
- どんな経験をしてきたのか
- どんな転職活動をしたのか
- 大事だと思ったこと
- これからどうしていきたいか
※正直職歴のところは長いので、時間がない人は「2回の転職経験を経ての気づき」から見ていただくのもいいかもしれません。
目次
1. 今までの職歴や転職活動とか
1. 就活
就活を始めたばかりの私は、プログラミングなんて全くやったことない状態でしたが、
「何となく楽しそう!」「私ならエンジニアになれる」という根拠のない自信でIT業界を目指していました。
今思えば、そんな簡単な職業ではないぞと当時の自分に言ってやりたいです笑
就活エージェントの方から「未経験ならSESからスタートしたほうがいいよ」とアドバイスをいただき、SESを行っている企業を中心に就活を進めていました。
また、大学の頃にどハマりした社交ダンスを続けたいという思いもあったため、仕事をしながら社交ダンスのプロになれる道を残すために、なるべく残業時間が少ないという点も会社を選ぶ上で重要なポイントでした。
上記条件をもとに数社会社を探して受け、最終的に私は
「エンジニアになれる」「プログラムが絶対書ける」「残業時間は平均10時間/月」
というぱっと見、好条件のSESの会社に入社をすることとなりました。
2. 1社目のSESの会社
春になり、期待を胸に1社目のSESの会社に入社をしました。
配属が決まる前に常駐先の会社との面談があったのですが、事前に上長から「何を聞かれてもはい、できます!って答えてね」と告げられていました。新米の私は若干変だなと思いつつも、会社員ってこういうもんかなと思い直し、言われるがまま全ての質問に「はい、できます!」と元気よく答えました。
いざ現場に配属された初日、「いよいよプログラミングできるぞ…!どんなことをするんだろう」とワクワクしながら常駐先に向かった僕でしたが、初めに任されたのはメールを印刷し住所が間違っていないかを確認して承認するという極めて単純な事務作業でした。
配属したてですぐにプログラミングはできないか…。最初は事務作業で慣れてきたらプログラムを触れるかもしれない。そう思い、まずはこの作業を頑張ろうと思っていた矢先、一緒にランチに行った先輩社員から衝撃の事実を聞かされました。
「え?この部署、プログラミングは全くやらないよ。」
がーん、プログラミング絶対できるって聞いて入社したのにと思い、居ても立ってもいられず、早速配属を変えてもらうべく上長に直談判しに行きました。
すると、「申し訳ないけど契約もあるから2年は常駐してもらわないと困るよ。それにプログラミングで作ったものを使っているんだから君はエンジニアだよ。」
びっくりしました。そんなこと言ったら世の中全部エンジニアじゃん。
ーーーーー
ある日、常駐しているエンジニアが集まる自社イベントに参加しました。
参加者は20人程で、まずはじめに新入社員が自己紹介をすることになっていました。
そこで同期のひとりが「文系だしプログラミングとかできる気がしないので自信ありません。」と言った時、40代の先輩エンジニアがニコニコしながら、
「大丈夫だよ。プログラミングなんて誰でもできるよ。まぁ僕はできないけどね。40になってなんのスキルもないおじさんだけど働けてるから大丈夫だよ!ハハハハ」
帰り道、転職エージェントに登録しました。
3. 1回目の転職活動
1社目で大失敗した私は、SES恐怖症になっていました。
単純ですが、次は絶対にSESをやってない会社がいいと思い、SESの無い会社を探しました。
しかし、未経験だとSESのある会社の求人がほとんどで、転職活動は結構大変でした。
基本的に受託開発とか社内SEだとかいう会社は最低条件がエンジニア暦3年以上が多かった印象です。
転職エージェントに相談して、とにかく未経験歓迎の求人だけでなく、経験3年以上の求人にもどんどん履歴書を投げて、面接が決まったところから選ぼうという作戦になりました。
30〜40くらいの会社に履歴書を送りましたが、面接まで行けたのは6社ほどだったと思います。
そこから開発ができそうな会社を選ぶことになりましたが、
正直全くプログラミングをしたことがなかったので、バックエンドとかフロントエンドとか何がやりたいのかがわからず、とりあえずは、なるべく全てのことができるように規模が小さめの会社を選びました。
はじめは難航しましたが、最終的に3社から内定をもらうことができ、転職先を決めて、現職に辞職する旨を伝えました。
簡単に辞められると思っていたのですが、それがそうとはいきません。
新人研修の時に辞める時は1ヶ月前に言ってくださいと聞いていたので、1ヶ月と3週間前に上長に伝えたのですが、「3ヶ月前に言うのが社会人としての常識だろ」と言われ、かなり揉めました。
「裁判になるぞ」と脅されることがあるとYouTubeとかTikTokとかで見ていましたが、まさか本当に自分が言われるとは思っていませんでした。
色々あって裁判は回避し、無事辞めることができました。
4. 2社目の受託開発の会社
大失敗の1社目はそこそこ社員数のいる会社でしたが、今度は社員数が全部で13人くらいの小さい会社に入りました。
この会社ではエンジニアとしてかなり成長することができたなと感じています。
会社規模が小さいが故に、全ての工程を1人でやらなくてはいけないので大変ではありましたが、企画立案からバックエンド・フロントエンド・インフラの開発、テスト、保守運用、マーケティングまで全てを一通りを経験することができました。
また、PHP、JS、Kotlin、Swiftなどさまざまな言語での開発にも携われましたし、社長がプログラムについて全く詳しくない人だったので、エンジニアの好きなように開発することができる環境があり、ネットの記事で見かけた知識を片っ端から試しました。
先輩エンジニアもいい人ばかりで、好きなように開発をさせてもらい、色々教えてもらえました。
ただもちろんメリットだけというわけではなく、小さいが故のデメリットもたくさんありました。
とにかく時間がなく、社長が持ってきた開発タスクをひたすらこなすことになるので、プロジェクトが月に1回ペースで変わります。そのためCI/CDや自動テストなどは全く実装しませんでした。
また、小さいが故に社長の言葉が絶対で、白でも社長が言えば黒になってしまうという世界でした。
詳しくは書きませんが、昭和のブラック企業のドラマみたいなことはよくありました…。
そんな環境も影響して、転職してから2年半くらいで再転職を決意しました。
5. 2回目の転職活動
2回目も転職エージェントを利用し、1回目の転職がなかなか決まらなかったこともあり、50社くらい書類を送りました。
10社くらいしか通らないかなと思っていたのですが、実際は40社くらい通過して驚きました。
やはり未経験とエンジニア経験3年あるのとでは大きく違うんだなと実感しました。
条件としては、今まで経験ができなかったチーム開発、CI/CDや可読性保守性について意識した開発ができる企業➕なるべく規模感の大きな企業で探していました。
また、未経験での転職との違いとして、面接・SPIに加えて2時間ほどのプログラミングテストがありました。
私は、企業に応募しすぎてしまったことで、テスト時間の確保や企業の選別が大変だったので、皆さんは書類提出段階からある程度企業は絞ったほうがいいかなと思います。
そこから絞って絞って1社に決め、大企業と呼べるくらい大きな会社から内定をもらうことができました。
ひと段落したのも束の間、本当に大変なのはここからです。
辞職する旨を会社に伝えることになりますが、1社目がかなり大変だったので、今回は余裕を持って約3ヶ月前、言葉選びに気をつけながら伝えました。
懲戒解雇だと言われました。
前回より大変なことになりました。正直こんなことになるとは思っていませんでした。
幸運なことに友達に弁護士をやっている人がいたため、その人や労基に相談したところ、懲戒解雇にはできないということを確認できたので、また色々ありましたが懲戒解雇は回避し、無事退職することができました。
まじで退職は大変です。みなさん、まじで気をつけてください。まじで。
6. 3社目の大手の会社
現在も働いている会社です。
CI/CD 自動テストなども勉強して、チーム開発もすることができ、パワハラなどもないとても良い会社でした。
約3年、本当に色々ありましたがこの会社に転職することができてよかったなと思います。
2. 2回の転職経験を経ての気づき
2回の転職と3つの会社を経て、気づいたこと、大事なことについて書きます。
1. とにかく動くのが大事
本当にとにかく動くのが大事だと思います。
1個目の会社で2.3年我慢して異動を待っていても、次の常駐先でプログラミングをさせてもらえるかはわかりません。もちろんSESが全て悪いとは思ってませんが、配属ガチャと言われるだけあって運要素もかなりあると思います。
やりたいことがあるなら自分なりに改善に動いてみて、もしダメだったら転職するのがいいと思います。
特にエンジニアは20代30代でどのくらい技術力を磨けるかというのが大事だと思います。目指すべきものがあるならば、とにかく動くのが大事だと感じました。
2. とにかくキャッチアップが大事
未経験からの面接ではあまり聞かれませんでしたが、経験者となった2回目の面接ではほとんどと言っていいほど聞かれた質問でした。
エンジニアという職種上、流行り廃りが激しいのでキャッチアップする力をどこもかなり重要視していると感じます。
そのため日頃からはてなブックマークだったりQiitaのトレンドだったりをみて、自分なりにキャッチアップしていることが大事だと思います。
3. とにかくアウトプットが大事
転職する時もそうですが、普段の自分で学んだこと技術・知識についてアウトプットすることがめちゃくちゃ重要です!
転職面接では、「GitHubやQiitaなどのアウトプットしているものはあるかどうか」について必ずと言っていいほど聞かれます。そのときにしっかり返答できるようにするためにも普段からアウトプットの習慣をつけておくことをお勧めします。
そして普段の勉強ですが、やはりインプットだけで手を動かさないとあまり身に入りません。ネットで得た知識をすぐに試してみるなど、エンジニアとしてスキルアップするためにも必ず何かしらの形でアウトプットするのが良いと思います。
また、QiitaやLTなどでアウトプットすると、それに関する情報が自然と集まってきたりします。キャッチアップにもつながり、だんだんといい循環が生まれてくると思います。繰り返しになりますが、1にも2にもアウトプットです。
3. これからについて
これからどんなエンジニアになりたいのかや、どんなことをやっていきたいかを書きます。
1. 勉強会とかLT会などの外部の集まりに行く
今年に入るまで、外部の勉強会やLT会などのエンジニアの集まりがあることを全く知りませんでした。
初めて行ったイベントが今年の2月にあったPHPerKaigiでした。今の会社にWebエンジニアのお手本のようなすごい方がいるため、その人に連れて行ってもらう形での参加となりました。
集まりに行くと自分の知らない情報や最新の情報を仕入れることができますし、
周りの人もかなりレベルが高いので、とても良い刺激になります。今後どんどん参加していきたいと思います。
2. さらにアウトプットしていく
今後もっともっとアウトプットをしていきたいと思います。
今はQiitaやGitHubで自分の作ったものを公開しているだけですが、今後はライブラリとかも作ってみたいですし、大きなカンファレンスなどでの登壇もしてみたいと思います。
そしてゆくゆくは本とかを出せるまでになれたらなーなんて思ってます。(頑張らないと!)
3. みんなでレベルアップしていきたい
で、やっぱり1人でやっていくのも限界があると思いますので、仲間を作ってみんなでエンジニアとしてレベルアップしていきたいです。
その仲間たちとハッカソンに出たり、何か個人のサービスを開発したりしていけたらいいなと思います。
おわりに
エンジニアを目指している方に、少しでも参考・励みになればと思います。
LaravelやCakePHP、Next.js、Nuxtなどの初学者向けの記事も書いているので、興味ある方はご覧ください。
もしよかったらいいねしていただけると励みになります!
最後まで読んでいただきありがとうございました!