参画する前の状態
Web フロントエンド(主に React + TypeScript)を趣味で 2 年ぐらい触っていたけど、実務としてフロントエンドをがっつり触る案件に恵まれなかったという状況でした。
受託開発会社でWeb エンジニアとして 3 年ぐらい働いていましたが、どっちかというとコード書くより社内での Google Workspace 導入とか社内 Wiki 整備とかそういう DX 系のことの方が多かったです。
良かったこと
- 思っていたよりコードをガシガシ書く
- 思っていたより趣味でやっていることもちゃんと通用すると実感できた
- 「フリーランスとして活躍してるエンジニアは全員バキバキにできる人」という先入観がいい意味で崩れた
- 良くも悪くも React + TypeScriptを採用している現場のことを知れた
前職だとコード書く仕事が少なかったのでそういうものかと思っていましたが、現在の現場では毎日ガシガシ書いています。 もちろんコード書くだけじゃないですが、前職とは全然違うので良い意味でカルチャーショックです。
前述の通り、趣味ではフロントエンドやっていたけど実務では無縁だったので「通用するかな?」と思ったけど幸いなことにやっていけています。
「フリーランスで使えない奴はすぐにクビ切り」とあらゆるところで脅されまくってビビり散らかしていていましたが、結構初歩的なことで詰まっている人も居て、それに対して質問していい雰囲気があったので安心しました。
フロントエンドは変化が激しいというのも落ち着いてきて、複雑なUIを作る際にはReactが「枯れた」立ち位置にはなってきたと思います。 ただ、Reactはフレームワークであり、良くない設計であれば腐ります。 その点では基本的な「関心の分離・捨てやすいコード」を意識した書き方はどこでも大事。
悪かったこと
- 責務が分断されすぎて、トラブルがあった時に責務を超えて動けない
- 契約の交渉がよくわからない
趣味でやっているときは基本的に 0 から 10 まで全部 1 人でやってしまうので、責務が分かれていると「あーこれ自分で巻き取ってしまえばすぐに終わるのに」ということを考えてしまいます。
とはいえ担当する責務が多くなると自分のキャパシティを超えて期待通りにできないこともあるだろうなというので、責務が決まっているのは一長一短だと感じています。
案件の交渉ですが、自分自身が経験が浅すぎるのであんまり強く言えないかな、と弱気になっているところと、交渉自体が人それぞれ過ぎて知見がないので未だに分かっていません。主導権をある程度握らないと駄目だなとは思っていますが…難しい。
まとめ
結果論にはなりますがフリーランスとしてフロントエンドの実務経験を踏み出してよかったと思います。良い意味で色んな「壁」を壊せたと思います。