転職に向けて自分の弱点を振り返る

2022年に新卒未経験で今の会社に入社し、2024年で3年目になる。
なんか記事投稿キャンペーンをやっているのと、個人的な事情で来年度中の転職を目指していることもあって、振り返りにちょうどいいタイミングなので、自分のエンジニアとしての弱みを棚卸ししておく。

## 出来ることはかなり増えたが……
理系の高校からなぜか外国語大学へ進んでロシア語を学び、ロシアに一度も行くことなく謎に未経験でエンジニア界隈に飛び込むという、しっかりとした紆余曲折を経て今に至る。

はじめは`VB.NET`で書かれた社内フレームワークの改修に始まり、社内でノウハウが少ないWEBアプリの開発をアサインされ、いろんな部署を傭兵として歩き回り、今はほぼ一人で業務アプリの開発を担っている。
我ながら未経験2年目の働きぶりではないと手前味噌をこねまくりたいところなのだが、実際のところ、自分の市場価値はまだまだ全然ペラペラ。あくまで、自分が目指すレベルとの相対だけども。

先述の通り、個人的な事情（良い事情）で転職活動を今年からぼちぼち始めている。
まずは手始めに、転○ドラフトというサービスに登録して、自分の市場価値を測ってもらうことにした。

結果は、個人的にはすごく「うーん」な結果に。
指名は1件のみ。提示年収も目標額にちょっと届かないくらい（それでも現年収に比べたら大幅アップだけど）。
「初回で指名が来ただけ、まだ良いか…」とギリギリ納得するも、自分の立ち位置の不安定さを改めて噛みしめる結果だった。

## スキルセットがレガシー寄り
業務アプリケーションを中心に受託する（多分）SIerという立場上、業務だけでは自然とスキルセットがレガシーに寄ってしまう。

一番わかり易い例が.NET開発での実行環境で、業務では`.NET Framework`以外使ったことがない（マジで）。
客先の要件に引っ張られることも多いが、私の環境で言うならば、ハードのSDKが`.NET 5`以降に対応していない、みたいなパターンがかなり多い。S●TOのラベルプリンタのSDKとか。

WEB業界と違って、業務系では先進・刷新よりも枯れた技術のほうが絶対的に好まれる。なので、`VB.NET`のサポートがとうに終了した2024年現在の新規案件が`VB.NET + WindowsForm`みたいなのはザラ・オブ・ザラ。

そんな業界にあって、転職活動を機にいざ自分を振り返ってみると、やはり例には漏れない。
同年代で転職活動をしているエンジニアたちのスキルセットを見ると、やれ`Go`だの、やれ`AWS`だの、`React`やってないやつはエンジニアにあらずかのような。
一方の私といえば`C#`、`ASP.NET`、`Angular`……いや、この3つは普通に良い技術なんですけどね。いいんですけど、やはりギョウミーな感じが香って仕方がない……。
> 「ギョウミー」とは、いかにも業務系である様。WindowsFormで組まれた無骨なアプリなど

### C#はいい言語なんだけど
これはマジ。
C系で強い型付けの言語なら絶対にC#がいい。
言語仕様は絶えずアップグレードされているし、やっぱりLINQは便利。
`ASP.NET Core`なんかは`Ruby on Rails`とかと全然タメ張れると思っているし、`Unity`や`Blazor`など、C#で出来ることはめっちゃある、のだけれども……。

まず、圧倒的に求人がない（暗黒スメル立ち込めるSIerの求人は求人と呼ばない）。

それから、やはり「Windows開発用」というイメージが鮮烈すぎる。.NET 5以降になってマルチプラットフォームに対応したものの、その畑はすでに`Java`や`Kotlin`などJVM言語が耕しきっていたわけで、残念ながら新たにニッチを獲得することはできませんでした、ﾁｬﾝﾁｬﾝ。

かつては.NETの専売だった`Rx`も、今では様々な言語でデファクトたるライブラリが登場しているし、Windowsアプリですら`electron`で済む時代になってしまわれた。
`MAUI`や`Blazor`は一切名前聞かないし、そもそもC#エンジニアが情報発信しているイメージがマジでない（Cysharpの皆様くらいしか…）。
めっちゃいい言語なんだけどな……こういうところがMicrosoftっぽいといえばそうなんだけど（`Azure`おまえのことだぞ）。

### 個人開発やれって話でしょ
もちろん、業務だけで自分のスキルセットを固めようなんて発想が甘々ちゃんなのは百も承知。
なので最近は`Next`と`Golang`を個人的に勉強してはいる。

ただ、個人開発で一番困るのが「作るモノ」。
正味自分の発想が貧弱なだけで、それがとてもクリティカルなのだが、TODOアプリ以上のモノを開発したためしがない。
仮になにか思いついたとして、それに対して自分自身があまり需要を感じないことが大半で、そんな心持ではどうにも手が進まない。

「転職活動でポートフォリオは必要ない」みたいな言説もチラホラ見るが、アレは業務だけでモダンな技術をキャッチアップできている恵まれし人々だけの話で、自分のような人種は精力的に務めないとどんどん置いていかれてしまう。
かといって、レジュメに書けるほどの個人開発ができそうかと言われると……いや、やらなきゃダメなんですけどね……。

## 資格ってあんま重要じゃない？
自分は2024.02時点で基本情報とセキュマネを取っている。

言いたいことはわかる。「資格を持っていること」より「資格を取るためにどうアプローチをしたか」が大事なのは。それをアピールするには弱い資格だということも。
にしても、びっくりするぐらい触れられない。「わざと無視してる？」ってくらい触れられない。

高度情報クラスか、あるいはAWS試験以外は無価値なんだろうか……ってちょっと猜疑心が芽生えるくらいには、このあたりの資格の重要性を今のところ実感できていない。
会社からもらったお祝い金で良い肉食えたくらい。まあ、これで十分っちゃ十分だけど。

一応、今は4月の応用情報に向けて勉強はしている。
ただそれが終わったら、一刻も早くAWSなどを取らないといけないなという焦りがある。

## チーム経験がマジでない
3名以上のチームで仕事をしたことがない。振り返ってびっくりした。
なんなら近頃はほぼ一人で仕事をしている。客先とのすり合わせも気がついたら自分がやっている。

我ながら普通に立派なことだと思っているのだが、どうやら転職市場では「チーム経験」の方が価値が高いようで、一人でプロジェクトを完走していること自体をあまり評価されていると感じなかった。
ここは、中途採用にはテックリードやプロジェクトリーダー格を期待する企業側の事情も大いにあると思っている。一人でこなすより、「みんなを管理してプロジェクトを完遂」の方が難易度が高いのもわかる。

でもしょうがないじゃん、部署に後輩が入ってこないんだから。
俺だって後輩欲しいがな、チームメンバー欲しいがな。誰か手伝ってくれ。

### 「ひとりで完遂」の強みってなんだ
ないものはないんだから、「一人でプロジェクトを完走」していることをもっとアピールしていきたい。
だが、ここにも問題があって、結局のところ「新人ひとりでもできちゃうプロジェクト」と言えなくもないのだ。「僕だから出来たコト、僕でないといけない理由」がすなわちアピールポイントになると思うが、それがイマイチ弱いと言えなくもない。
僕なりに最大限取り組んでいるつもりではある。アーキテクチャを忠実に適用したり、「技術的には可能です」の解像度を限りなく高めて伝える努力だったり……ただ、それをレジュメにうまく書けない。「それぐらいみんなやってる」という感覚をぼんやりと感じて後ろめたくなってしまう。作文力の問題と言われれば……それも然りッス。

## 今後の展望
とはいえ、転職自体は来年の3月を目指してやってるので、今の段階でそこまでジタバタすることもないワケで。しっかりやれることを積み上げていけば良い。というわけで以下、抱負。

### チームメンバーが増えるよ！
やったね たえちゃん
4月度から僕の下に人を付けられるよう、上司が動いてくれているようだ。
ぼちぼち僕一人では質を担保できないくらいにプロジェクトの規模が大きくなってきた頃合いだったので、ジャストタイミングっちゃあジャスト。
この機会にしっかりと「チーム率いました！」と言える仕事をせねば。

### 割と`Golang`が気に入っている
ちゃんと型がついていて、パフォーマンスもよく、手軽に実行・ビルドが出来る。
OOP言語とスクリプト言語のいいとこ取りをしたような動作が結構気に入っていて（`Golang`はOOPじゃないけど）、最近は自分用の簡単なツールはGolangで開発するようになった。
コミュニティも活発で、求人も良い。Gopherになるしかない。

### `React`、一回ちゃんとやろう
もはや避けては通れない。`Angular`なんて誰も使ってねーよ。
`Next`の`Vercel`へのデプロイの簡単さはマジで驚いた。Webアプリってもっと大変だと思ってたけど、時代は進んでますな……。
`React`やら`Vercel`やらやる以上、`TailwindCSS`とか、そもそも`node`、`npm`とかをちゃんと体系的に一度やっておいたほうがいい。

### AWS資格取れ
「資格をなんとか転職に」っていう方針を採りたいなら、一番効果テキメンだと思う。
基本情報やセキュマネ、4月に受ける応用情報とかは、結局「エンジニアの基盤」を作るための資格であって、転職で劇的に作用する能力証明と思わないほうが良いってコト。
それよりも、業務に即座に利用可能な技術について体系的に学んだことを証明できるAWS資格をはじめとした技術資格の取得を目指したい。
ところで、C#の資格って復活しないんスかMicrosoftさん。

### 個人開発やれ
マジで。俺には必要。