SES企業 から転職したので、今までの技術キャリアをまとめた

あたらしい会社に入って慣れてきたので、今までのキャリアをまとめようと思います。

## 自己紹介
- ２年前から SES でエンジニアのキャリアをスタート。現在のエンジニア歴 1年11ヶ月
- SES では大手ECサイトのフロント開発を担当
- ２ヶ月前から転職した現職は、受託中心の数百人規模の会社の自社開発プロジェクトのフロント開発

## 初めてのエンジニアキャリアを始める前に知った方がいいこと
- 実力に自信があっても過信しない。罠は結構ある

## 転職前に知っておいた方がいいと思うこと
- 難しくても、OSS開発に取り組んでみる
- 大手では、標準化されたノウハウを専業で学べる
- 大手でないと、幅広く技術を浅く使うことになることがある（場合によっては無茶振りも）

## SESを入るまでの経歴
新卒ではコンサル会社に入ったのですがすぐに辞めてしまって、長いニート期間・実家で働く期間を通して、２年前にエンジニアデビューしました。
自分が入った SES は案件ガチャがある会社で、一緒にアベイラブル期間だった人の中にはテスト案件などに入らされていた人もいた中で、自分は運良く大手ECサイトのフロント業務に潜り込むことができました。

当時作っていたポートフォリオは、

https://qiita.com/YmBIgo/items/619fcdf4548f542ebbce

https://qiita.com/YmBIgo/items/160d9b466abc047fe3f4

https://qiita.com/YmBIgo/items/76da477068ddfed57796

などで、面接ではJUnitを自作したことで評価されたらしいので、これからSESに入る人にはOSSのコードリーディングとライブラリ自作をおすすめしています。
（今では個人開発で[検索エンジン](coffeecup.jp)を作っています）

## 大手ECサイト開発に入ってから

大手ECサイトでは React を使っていたのですが、最初にコードを読んだ時の感想は、

***Luceneよりは簡単そうだな***

でした。こんなふうに複雑怪奇なOSSと比べて侮っていた自分でしたが、試練は訪れました。

---

それは、「デザインむずかしい問題」「バグ多すぎる問題」の２つです。

#### デザインむずかしい問題

React, TypeScript のコードは読めたので、正直全般的に侮っていました。その第１のトラップがデザイン。
社員のデザイナーの方は本当に隅々まで確認しています。個人開発でのデザインは、flexbox(justify-content, align-item, flex-flowくらいはプロパティをほぼ目を通した方がいい), grid も使っていなかったので、正直先輩の手を焼かせました。
max-width, width, min-width の使い方がガサツで、`@media screen and` でお茶を汚すと怒られていました。
この場で関係者の皆様には改めてお詫び申します。

#### バグ多い問題

基本開発は2ヶ月で試験が2, 3週間くらいの案件もあったのですが、バグが多くて終盤で少し炎上してしまいました。80%のものを100%にする難しさを知りました。
正直今でも完全には改善していないので、えらいことが言えませんが、「仕様書はちゃんと読みましょう」
また、仕様書をちゃんと読むといえば、自分で起票した質問票の内容を読み間違えて、仕様に書いていない挙動を作ってしまったこともありました。

この場で関係者の皆様には改めてお詫び申します。

## SESでの開発を振り返って

とはいえ、後半では少し緊張感を持って仕事ができるようになり、最初期のような酷いミスは起こさなくなりました。デザイン力は少し改善したと思います。
ChatGPTが現れて変わった部分もありますが、Lucene を一通り理解できたくらいにはロジックは自信があって、少しだけ頼られていたと思います。

## なぜ転職したか？

自分で言うのも変ですが、結構順調なキャリアだったのですが、ある大きな事件をきっかけに転職エージェントに登録しました。

それは、

***Findyからの私のOSS, Qiita活動履歴ベタ褒め営業メール & Amazon 5000円プレゼント***

https://findy-code.io/

です（招待コードは、`eN7GWoeyxJut4` です）。

言われてみたら、現場では教育も任せられる一方で SES という業態で一生働くのもおかしいかなと思いました。
なので、現場への申し訳なさもありながら、転職活動という名の情報収集という名の転職活動をしてみました。
カジュアル面談は何社か受けたのですが、一次面接は２社しか受けていません。その内、受かった方の受託企業を主としている自社開発の現場に転職することにしました。

## 転職のアドバイス

転職したいなら、アウトプットしましょう。
自分は、Next.js のバグ改修やQiitaでのアウトプットをしたので、そこが評価されたと思っています。

https://qiita.com/YmBIgo/items/45c8c3dfbc83e6fb57d7

https://qiita.com/YmBIgo/items/4df3eb97d1ecfd3c66ed

<details>
<summary>でもアウトプットってむずかしい、、、そういう人のための検索エンジンも作っています。
よかったら見てみてください。
</summary>

一言で言うと「[業務中にGoogleから乗り換えるだけで記事作成が３倍速になる検索エンジン](https://coffeecup.jp)」です。
</details>

また、面接や面接対策を技術面のインプットアウトプットと両立させることは自分にはできませんでした。
それだけが悔いの残る転職活動でした。

## 今の会社に入ってどうか？

いい意味で、人手が足りなくて無茶振りをさせてくれるのがいいなと思っています。
ちょうど先週終わったばっかりの最初の案件では、何も仕様を知らない状態から１ヶ月で4000ステップの追加（残りの数週間はほぼ試験対応や上司の思いついた新規機能対応）のフロントの改修を行いました。
なんなら同僚のバックエンドエンジニアが実装したバックエンドは1000ステップくらいだった。

***新人にいきなり同僚の４倍コード書かせるっておかしくね！？***

そんなツッコミは置いといて、人手不足の現場を嘆く日々です。

つい先日は、経験がないバックエンドの開発を一通り任されました。バックエンドのGo は入社前に時には３時まで起きて予習したので今のところは多分大丈夫ですが、今後は心配ですね。

***こういう無茶振りが突然降ってくるのが、開発規模小さめの炎上案件だったりすると思います。***

こういう事実も存在することを念頭に、大手の仕事をしていた SES から規模が落ちる自社期発企業や受託開発企業に入るときは色々検討した方がいいかもしれないですね。

## 大手の何がいいか？

大手だとこういう無茶振りは降ってきません。
炎上しそうになる程、人材獲得能力が足りないこともなければ、計画力も設計力もしっかりしているからです。
業務はしっかりとした設計のもと、標準化され、一定の技量があれば一定のコードを担保できる仕組みができています。
そういう中での通常の開発に飽きたら、もっとカオスな場所での死闘を求めてもいいかもしれませんね。

## 読んでくださりありがとうございます！
ここまで読んでくださり、ありがとうございます！
この記事が何かの役に立てば幸いです。

## 【再掲】個人開発もしています
記事作成を３倍速にする検索エンジンを作っています！

https://coffeecup.jp

よかったら見てみてください！