転職して1年が経ちました。
転職するにあたってそれなりに期待や目標をもっていたので、1年経ったこのタイミングで振り返りをしてみようと思います。
転職する時に書いた記事は以下です。
https://www.eringiv3.dev/posts/jbkcpob5q

転職してから何をやっていたか

新規事業のプロダクト開発を入社してから今までずっと続けています。
PM1人、バックエンドの開発者1人、フロントエンドの開発者1人(自分)という構成で開発しています。
スモールチームで価値を発揮できるようになりたいと思っていたので、いまの環境は自分にとって望む方向に成長できる環境です。
新規事業なので、何もないところから開発を始めて途中で何度かピボットもありましたが、現在もリリースに向けて開発を続けています。
初めての転職、初めてのリモートワークということで最初の一ヶ月は結構しんどかった記憶があります。
分からないことは気軽に質問できる環境ではあったのですが、フロントエンドの開発者は自分1人ということで、自力で全部なんとかしなきゃいけないというのがプレッシャーでした。
前職ではフロントエンドだけで開発者が10人くらいいるチームで働いていたので、自由を得た反面、責任は増えたことを実感しました。
また、受託開発と違い、自社サービスの開発なので、自分が開発しているモノで売上を立てなければいけないというプレッシャーもあります。
受託開発は納期との闘いですが、自社サービスもさっさとリリースして売り上げを立てるようにしなければいけないので全然ぬるま湯なんかではありませんでした。
ですが、フロントエンドのことは1年間なんでも自力でこなしてきたので、とにかく動くものを作る!作ったものを見せてフィードバックをもらう!このサイクルを回す力はだいぶついたと思います。
一口にフロントエンドといってもめちゃくちゃ範囲が広いのですが、ウェブアプリケーションを作る上でのフロントエンドに関する業務は大体なんとかこなせるようになってきました。
ずっと0→1のできるエンジニアになりたいと思っていて、フロントエンド領域に関してはそれができるようになってきた感触が確実にあります。

転職前に感じていた不満は解消されたか

転職前に感じていた不満は主に、

  • 自分の身につけたいスキルが身につけられない環境だったこと
  • 開発プロセスについて不満があったこと

の2点です。

結論としては、どちらも解消することができました。

1点目の「自分の身につけたいスキルが身につけられない環境だったこと」については、サーバーサイドのテンプレートエンジン + jQueryの環境を抜け出すことができて、宣言的UI(React)で快適に開発することができています。
これに関しては、新規事業でフロントエンドの開発者が自分1人だったことにより、技術選定を自分1人の責任で行えたことが大きかったと思います。
試したい技術、取り入れたい技術があれば素振りする→使えそうなら仕事でも取り入れてみるというサイクルを回すことができました。
そのせいで苦労したこともありました(SWRと Recoilの両方で同じserver stateを管理してバグを生み出したりとか)。しかし、開発者が1人なので自分のケツは自分で拭かなければならず、自分の決断に対して反省をするタイミングが何度もありました。
自分の決断に対して反省する、というのは前職では出来なかった経験です(反省が必要になるほどの太い経験ができる実務が降ってこなかった)。
そのため、これはポジティブに捉えています。これからも反省を繰り返していくことになるでしょう。

2つ目の「開発プロセスに不満があったこと」については、あまり意味を感じない設計業務から解放されたことにより解消されました。
前職では SIerと仕事をしていたこともありExcelで画面設計書を作っていたりしました。
どこからデータを取ってくるだとか、なんのパラメータを付けて画面遷移するだとか、ソースコードレベルで表現できれば十分じゃないか?ということまで設計書に落とすことを求められていて、変更があるたび膨大な設計者変更が必要でうんざりしていました。
それよりもソースコードの品質を保つことに時間をかける方が有意義に思います(ドキュメントが大事ではないと言っているのはではなく、ドキュメントに残すべきこととソースコードで表現すべきことをバランスよく分けて考えた方がいいのではということです)。
現職では、Excelで設計書を作るといったプロセスは一切なく、Slackで議論し必要であればコンフルエンスに残すといった最低限の運用でなんとかなっています。また、動くものを作って触ってもらうというサイクルを高頻度でできているのも個人的には良いなと思っている点です。

転職前に期待していた事はどうだったか

転職前に期待していた事は3つありました。

自分が関わるプロダクトに自信と責任を持って開発できること

責任を持って開発することという点については達成できています。先ほども書きましたが、フロントエンドを1人でやっているのでフロントエンドの開発の責任は全て自分に振ってきます。
自信を持って開発するという点については、まだまだかなあという印象です。
自分の書いたプログラムはバグが少ないですと堂々と言えるくらいにならないといけないと思います。

エンジニアとして求められる生産性のハードルが低すぎないこと

こちらは概ね達成できていると思います。
転職してから、実装したことのないUIをたくさん実装してきました。そのおかげで、今では実装したことのないUIを目にしても自分ならこう実装するかなというのをある程度イメージできるようになりました。
よほど複雑なUIでなければ実現できるだろうという自信がつきました。これは決して低くないハードルを乗り越え続けてこれたからだと思います。

生活する上でそんなに我慢することなく暮らせるだけのお金がもらえること

これも達成できました。
お金は重要です。前職の時と比べて年収で+100万弱くらいの給料を頂いています。余裕を持って生活ができるようになりました。
新卒の頃は年収300万以下だったのでかなりカツカツでした。
また、転職して1年経ち頑張りを認めてもらえたのかSOをもらうこともできました。
このまま上場まで突っ走るのみです!

結局転職して良かったか

とても良かったです。転職したことによってリモートワークにもなって、生活も良くなったように思います。残業や休日出勤もなくなりましたし、QOLが確実に上がりました。
仕事内容にも満足していて、楽しく働くことができています。
悩みといえば、リモートワークきっかけで腰を痛めてしまったことくらいです。
今後について
いまの目標は、

  • 会社が上場できるよう貢献する
  • 開発中の新規事業をリリースして売り上げをたてる

の2点です。
また、もうすぐ新卒3年目の年が終わります。そろそろジュニアエンジニアではなく、中堅エンジニアといった立ち位置になってきそうです。
Twitterを見ていると自分と同じかそれよりも下の年代で自分よりも遥かに凄い実績を積み立てている人も多く見かけます。
その度に自分は何もできてないなと思ったりもするのですが、必要な努力ができていないので当たり前です。
3年弱エンジニアとして生きてみて、自分は生活を犠牲にしてまでプログラミングにのめり込むというのがそんなにできる性格ではないというのが分かりました。
幸い、ソフトウェアエンジニアという職業は住む場所や生活の時間のバランスを調整しやすい職業です。
次の3年間は自分にとってどう生きるのがより幸せなのか、探求していく年になりそうです。
引き続き、仕事も人生も頑張っていきたいです。健康第一で!

以上!