始めに
こんにちは😷
どしたん?
話、きこか?
まんじです😷😷😷
今回はReactを使ってドバイに住みつつフリーランスエンジニアを1年やってみたので、感想文を書いてみたいと思います。
フリーランスエンジニアってどうなん?
ワイはフリーランスエンジニアになる!
という人がいれば多少は参考になるかもしれません。
事の経緯(ニート)
元々は上場企業でウェブエンジニアを一応新卒で入ってから4ヶ月研修だけ受けていました。
ただ、その会社がしっくりこなかったのとお金もあったので辞めてニートをしていました。
それでずっとニートをしながらアダルトウェブアプリの開発をしていた時に、不満を感じ始めてました。
- 毎日がとにかくつまらない
- やる気がでない(モチベーションがそもそもわいてこない)
- 昼夜逆転しまくってて寝るのが昼で起きるのが20時で自己肯定感が皆無すぎる
とにかくつまらなさすぎるし社会との接点がなくなってしまっていたので、少しだけ社会復帰しつつお金も稼ごうかなってことで週2~3ぐらいフリーランス的なスタイルで働くことを決心しました。
というのがフリーランスエンジニアを始めたきっかけです。
仕事を探してみた
「ワイがフリーランスとかできるんか?」と不安に思いつつ、とりあえずフリーランスエンジニア系の情報をQiitaとZennで探して読んでみました。
読んでみるとフワッとしたことしか書いてなかったんですが、「とりあえずエージェントを使うといいらしい」とのことで、エージェントとフリーランスエンジニア向けの案件が乗っかってるサイトに片っ端から登録してみました。
応募してみた
フリーランスエンジニアのエージェントやサイトに登録してみると、電話やらメールがエージェントの人からかかってきたので、とりあえず面談をしてみることにしました。
どうでもいいですが、最初のエージェントの担当の人がめちゃくちゃ可愛いかわったので惚れてしまいました。
そんで適当にYoutubeでTikTokメドレーとコレを聴きながらポチポチ応募しまくっていたところ、「めっちゃ書類で落ちるやーん」ってことで分かりました。
これダ!
今思うと当たり前でぼくのウェブのエンジニアとしての経歴はこうです。
- インターンでウェブエンジニア11ヶ月
- 新卒で入ったウェブエンジニアの会社を4ヶ月で辞めた
探してた案件は海外から働ける(😵)Reactのフロントエンジニア案件(まあReactならインターンと個人開発で使ったしいけるっしょと思っていた)でしたけど、冷静に今になって考えるとクソジュニアレベルかつ地雷臭がするウェブエンジニアだったので採用側からするとこいつはやばそうだから無しって状態だったと推測できます。
あと海外に一定期間住む予定があったので、それも結構ヤバさを加速させていたと思います。
エージェントからも案件を紹介してもらったんですが、応募段階の書類でほぼ全部落ちました😄
ひたすら応募しまくって「面接するお!」ってなったのは2社だけで、今思うと普通にラッキーだったと思います。
1社がスタートアップ自社開発で、もう1社が受託企業でした。
面接して労働できることになった
面接は両方とも受かって「ドウシヨー」って思っていたところ、なんとなくスタートアップの自社開発のところのほうが普段使ってる技術と同じだし、良いフィーリングを感じたのと「早く承諾しろカス!」(カスとは言われていません)とのことだったのでスタートアップのほうを選ぶことにしました。
ちなみにそのスタートアップは後に分かったんですが(働き始めてから3ヶ月後ぐらい?)、ゴリゴリのガチ勢クラスタの人ばかりの会社で、GAFAM出身、メガベンチャー出身、外資系出身みたいな構成のチームになっていてほとんどの人は英語が話せて日本人はチームの2~3割程度でした。
(なぜ受かったのか、答え: コミュ力と運)
フリーランスエンジニアで労働してみた
基本的にやってること(やってたこと)は以下です。
- Reactを使ってフロントエンドの実装
- バックエンドもたまにそんなに難しくないところはやる
- 朝会に出て英語が聞こえているフリをしながらお決まりの英語を声に出す
- なお、ワイは英語が微妙なのでしったかぶりをしていると日本語で解説してもらうコース
途中からSlackのチャットも英語になってしまったので、とりあえず不登校から早稲田に入るまでに培った受験英語卍でワイもノリでシコシコと英語でコミュニケーションを取って作業をしていました。
実際に働いてみた体感としては、最初の1~8ヶ月目くらいはまあまあつらくて、Reactの大量のstate管理とかに結構苦戦しました。
ただ、8ヶ月目以降ぐらいからは「なんか分かる」という感じになりまして、フロントエンドの作業とそれに必要な難しくない部分のバックエンドは特に問題なく進められるようになった主観があります。
徐々に脳死でReact作業できるようになってきたので個人的には技術力的な成長はかなり鈍化してるなと思っていますが、技術力上げようと思うと勉強しないといけないのでそこがだるいというか時間がかかってだるいのでなんとも言えないところです。まる。
ちなみに自分の上司というかぼくを作業員Aとして管理してくれる人はCTOだったりGoogle出身のエンジニアで、学びがめちゃくちゃ深かった(深い)ので圧倒的感謝(Very xie xie)で人としてかっこいいのでリスペクトしています。
元々「おれはそこそこ頭がいい(イケる)から、そこをどけ」と思っていたんですけど、本当にできる人とかと関ってみると自分が底辺になったのでなんというか世界はすごく広いということを知りました。
最近のぼくのプログラミング
フリーランスになってからのプログラミングスタイルだぉ。
概要
25歳の頃にプログラミング始めた頃は「よし!1年に1個の言語をやるぞぉ!圧倒的成長💪」みたいなことを思っていたんですけど、28歳の今、気付いたらTypeScript以外やらなくなってました。
プログラミング言語に関してはいろいろ意見はあって、複数の言語をやるから違いから学びが深くなるとか、1個の言語がちゃんとできれば他の言語も余裕とか、って感じなんですけど、個人的にはとりあえずTypeScriptがフロントもバックエンドもかけて便利だしTypeScriptだけでいいやって思い始めてます。
バックエンドとかでどうしてもGO Langとかが必要になってやらないといけない時はやってもいいけどできればやりたくない(勉強をしたくない)ってスタンスで生きています。
フレームワークとかインフラ系とかも新しく使うものは本当に必要に迫られないと基本的に勉強しなくなりました。
最近は技術力はあんまり伸びてないなーってのは思い始めます。(2度目)
技術力とかキリがないのと技術力あげたたところで自分のナイスと思ってる姿にはどうも到達しなさげなので、選択と集中みたいな感じで技術力を上げるみたいなところからはもうあまり考えなくなりました。
というのが主観なんですけど、もしかすると現在進行形で技術力は実装しながらも伸びてるのかもしれません。
ぉれゎ、何も、分からない。
Reactについて
ぼくは一応Reactのフロントエンドメインでバックエンドもちょいとやるでぇってスタンスのウェブエンジニアになってきているんですけど、Reactの書き方とかもここ1年で変わったような錯覚を少し思います。
具体的にはちょっと技術っぽいところで、以下のやつらをめっちゃ(まあまあ)やるようになりました。
- グローバルステートの管理
- グローバルステートベースのコンポーネント配置
- カスタムフックにロジックをつっこむ
逆にここらへん以外はそこまで1年前と変わっていないんですけど、コンポーネントのstateやらpropsやらの管理とAPI繋ぎはやりまくってるので明らかに向上したなって思います。
わりと複雑なスパゲッティーコンポーネントもわりと扱えるけど、扱うと病むからできれば扱いたくないなって感じです。
コンポーネントやら値のmemoに関しては自分で書く時は脳死memo化をするんですけど、労働ではなんかmemo化したほうがいいんじゃね風な共通認識のあるやつだけmemo化しています。
フロントエンドのパフォーマンスなおす的なやつとかもわりと分かるっちゃ分かるぞってのは向上した気がします。
「む、むむむ、無限レンダリングなってるうううう…!!!」
みたいな頃が懐かしいです。
バックエンドについて
TypeScriptとExpressしか使ってなくて、MySQL力が少し向上したような気がしています。
昔インターンしてる頃に「クエリビルダー何それ怖いジョインしないでぇ><!」って思ってたんですけど、最近は少しずつSQLも書けるような分かっているような分かっていないようなスタンスになってきています。
prismaとか使っちゃうと雰囲気で使えちゃうからSQL全然わからないって思っていたんですけど、結局SQLが出力されている時点でなんだかんだでそっちに手をつっこみつつあるみたいな感じです。
とは言っても、自分の中ではSQLとかデータベースレイヤーは普通に苦手です。
インフラについて
クラウドのが便利ってことで「AWSやらなアカンでぇ」と思っていたんですけど、なんとなく本だけ読んだだけで特に何も実装していないので1年前と比べて出来るようにはなっていないです。
ただ、やればどうせある程度まではできるので必要に迫られたらやればいいかなって印象を受けてるんですけど、今のところはあんまやらなさそう。
AIについて
ChatGPTとかcopilotとかいろいろ出てきたのが2022~2024年だったんですけど、個人的にはまあまあChatGPTを使う程度に落ち着いてます。
元々、開発でハマったりやり方が分からん時は以下の解決策をやっていました。
- Stack Overflowを英語でググって真似する
- GithubのIssue
- 公式のドキュメントを読む
- ライブラリとかの関数のDocを読む
が、ここにAIが加わって、とりあえずAIにも気が向いたら聞いたりし始めています。
AIに聞くと普通に間違ったコードやら回答も出力するんですけど、個人的に間違っていようがどうでもいいので結構参考にしています。
現状でも画像と要件つっこんだらAIがコード出してくれるみたいなことは可能っぽいんですけど、結局のところは「そこはそうじゃねえ!」っていう微妙な違いが常にあるので自分で書く(コピペする)のとそこまで大きく生産性は変わらないなって印象です。
あと実際、コードを書くってよりも読んで理解して必要なところにコードつっこんだり消したり移動したりコピペしたりって作業が実装してる時間の大半なので、「AI最高すぎてソフトウェアエンジニアいらなすぎる件についてwww」みたいなのはまだあんまり想像できないです。
求めてる答えが明確なものとかはAIにサクッと出力してもらえるけれど、結局理解しないといけないんで生産性が微妙に上がったぐらい?な気がします。普通に「何も分からない。
ウェブエンジニアの中での立ち位置っぽいものについて
インターンしてた頃にクソメガネにdisられ高圧的にレビューでいじめられたり、上場企業入った時も陰湿なキモオタ達からめちゃくちゃtypoやらJavaを本で勉強しろだのと叩かれていたエンジニア1~2年目だったんですけど、最近はそういうのが皆無になりました。
これは単純に微妙に実装ができるようになったからなのか、そもそもいじめっ子メガネ達と関わることが現状ないからなのかはよく分かりません。
ただいろいろ聞いてみるとどうやら自分より下をボコボコにいじめるのは楽しいと言ってる人も結構いるので、なんていうかそういうことなんだなと思います。
ちなみにぼくはボコボコにするタイプではなくて、干渉をしないタイプです。
ウェブエンジニアフリーランスになって実現できたこと
場所と時間が自由に働ける♪
魅惑のフレーズ「場所と時間が自由に働ける♪」は、普通に正解で、実際ぼくもドバイに住みつつ稼働していたのでこれはウェブエンジニアフリーランスで実現できました。
ただ厳密にはちゃんとスキルがあって監視がない状況下でも一定の生産物が出てくるという条件付きなので、ゆるふわ系のクラスタに所属する人は厳しそうです。
ぼくもブルブルと再起的に震え続ける手を押さえながらReactを脳死でコピーペーストしています。
あと海外っぽいところで言うと、最近はタイのコパンガン島とかでデジタルノマドでも1ヶ月とかだけしようかなってマインドになりつつあるんですけど、1人で行っても寂しいしなかなか重い腰が上がりません。
ちなみに↑の動画は英語の勉強にもなるし、デジタルノマド系で安い価格帯の国の情報とかをいっぱい動画にしてくれてるチャンネルなので普通におすすめofおすすめです。
世界、広し。
働いた時間がスキルと実績になる♪
いわゆる積み上げ型の労働になるってのはフリーランスエンジニアだと間違いないと思います。
実際ぼくも1年フリーランスをやることで次の案件は1年前よりも圧倒的に楽に見つかるようになると思いますし(探してないけど)、スキルも当たり前ですが実装してるので向上しました。
特にぼくの場合はこんなのが1年で得られたなと思います。
- GAFAMクラスタエンジニアの仕事っぷり
- 海外エンジニアの仕事っぷり
- メガベンチャーエンジニアの雰囲気
- 英語で労働(英語の勉強にもなった)
- React力向上
- バックエンド力向上
- フリーランスの稼働の仕方(フリーランスやら副業してる人を実際に見る、話す)
- フリーランス1年やれたという経験(未経験と1年は超違う)
ただ成長曲線的なところで言うと、最近はかなり鈍化してるような気がします。
昔はできないことが多かったのでスライムを倒すたびにレベルアップしていたんですけど、最近はスライムを倒してもレベルアップしてない感があります。
あと余談として、ぼくはセブンイレブンのバイトと個別塾のバイトをそれぞれ2年と3年やっていたんですけど、それらの経験とこのフリーランスエンジニア的な労働から得られた収入と経験値の違いは違いすぎてバイトとは一体なんだったんだろうかというマインドになっています。
若い頃に低賃金で頑張って働くよりも勉強とか経験を積んで、後でお金を回収したほうが圧倒的に効率が良いんだけど、資本主義導き系の人や環境にいないとなかなかそうならないのが資本主義の難しいところです。
年収1000万円♪
これに関していうとウェブエンジニアだけの収入だとぼくは達成できませんでしたが、普通に1000万円はスキームとして全然狙えると思います。
あとはぼくの時給レベルでも普通に稼働しまくれば最初から年1000万円ぐらいは稼げましたけど、それはしたくなかったのでやりませんでした。
時給目安として、時給4000円だと大体年に700~800万円ぐらいで、時給5000円にのると大体1000万円ぐらいはホワイトな稼働で稼げるって感じです。
ぼくの時給はエージェント通して3000円なので、週5稼働で大体月50~54万円ぐらいです。(週4しかやってないので、月に仲介された後に入るのが38.5~44万円程度で、アベレージだと42~43万円ぐらいな気がします。)
結構マイナーなエージェントなので仲介パーセンテージはいくらなんだろう…?と疑問に思っています。
わりと高いと思う、ので、ここらへんを1年やったのでいろいろ調整したいと考えてます。
(まあでも、実務経験11ヶ月で海外からで初〜って条件だと普通に良い感じだったと思うので感謝かなって印象です。)
週2とか3とか4とかの稼働
ぼくは週4で労働してた(る)んですけど、週2とか3とかにも余裕でできるなって思いましたというか、できます。
働くのがだるくなったりウェブエンジニア以外が上手くいきまくったらシンプルにニートに戻るか、週2とか3とかにしてもいいのかなとも最近は思うんですけど、ドウシヨウカナーっていう悩みと迷いはあります。
金銭的にはやめれるのだけど、お金以外の働くメリットも多いし今の環境が結構好きだったり、ニートに戻ると時間はあってもダレるとか、いろいろと悩みが多い年頃です…🥲
フリーランスエンジニアをやってみた感じたメリットとデメリット
メリット面
メリットに関してはもう大体書いちゃったと思います。
- 働きながらスキルと経験と実績がつめる
- 好きな時間と場所で働ける
- 会社員でウェブエンジニアをやるよりも収入が高くなる
- 税金コントロールがかなりできる
- 働きたくなったら仕事はどうせある
デメリット面
一方でデメリット面もあると思いました。
具体的に箇条書きにしてみるとこんな感じです。
- 設計やアーキテクチャやビジネス要件的な部分には関わりにくい可能性がある(もっとコアなメンバーや社員がやるか経験豊富じゃないと無理)
- できないことを少し長い目でやらせてはもらえない(成長案件みたいなやつ)
- 契約終了(クビ)になるリスクは正社員よりも圧倒的にある
- 貯金がないと将来への不安が大きそう
- 社員は社員、業務委託は業務委託って感じの住み分けに基本的にはなる
- 正社員のほうがわりといろいろと会社に乗っかって成長やら経験は積みやすい
業務委託フリーランスから正社員になる人も実際めっちゃ多いんですけど、フリーランス業務委託をやってみると、確かにその気持ちは分からなくはないなって思ったりします。
業務委託フリーランスになると自分の身は自分でなんとかしないといけないっていうマインドが強まることとか、キャリア的なところも自分で調べて決めてハンドリングしないといけないのと、やっぱり将来への不安みたいなのは正社員をしてる頃よりも感じやすそうです。
あと実際気付いたらいなくなっている人もたまにいます。(普通にいる)
デメリットに関してぼくのことをちょろっと書いてしまうと、わりとお金的な側面だと余裕なので、不安は感じないタイプです。
あと、キャリアとかも正社員でソフトウェアエンジニアをずっとやるとかは普通につまんないし無理ぽよ〜ってことがもう分かっているので結局自分でハンドリングできるほうが好都合なタイプだったりするので、案外デメリット部分はうまくカバーできていたりします。
正社員のほうが成長しやすいとは言っても、成長できる系の案件とかをやる場合には労働時間外で勉強することになる確率が99.9%なのでなんとも言えないところではあるものの、キャリアを積むって側面だと正社員のほうがいいのかか?それとも危機感を感じつつ無理やり成長しないといけないフリーランスのがいいのかはどっちがいいかは明確には決められないと思います。
これからどうしよう問題
最近はhttps://timehub.jp/っていうウェブアプリを作っているんですけど(登録してくれ!!!!)、フリーランスエンジニアをやりつつ、他でキャッシュポイントを作っていきたいなーって思ってます。
26歳のぐらいの頃から働かなくても生きてはいける準備やらお金やらは整っているんですけど(FIREってやつっすね)、まあシンプルにそれだとつまらないのと慎ましく細く長く生きるみたいなのがめちゃくちゃ微妙なのといろいろ満たされてない欲望があるので、なんかしらぶち上げをかましたいなって思っているところです。
もしいろいろと不運とかが起こりまくっても、最悪の場合はプログラミングで労働する稼働時間を増やすなりすれば一般的にはそれなりに高収入にはなるしって感じで守りはできてるけど攻めが弱くて萎えぽよな状態です。
フリーランスになってからメガベンチャーやらミドルベンチャーやらに転職する人も多いんですけど、週5は労働したくないのでそのコースは多分なさそうかなぁ・・・って思ってはいます。
ちなみにGAFAMは普通に無理そうで、労働するとしても興味があるのはweb3系のNFTとかCEXとかDEX系はそっち系かもしれんです。
なんにせよ今の日々の生活は普通に退屈でつまらないので「ぶち上げ」を何かでかましてやる必要があるので「ぶち上げ」をするためにはどうすればいいのかっていう「ぶち上げ」に対して自問自答と試行錯誤を繰り返す日々になりそうです。
ただ、コアスキルっぽい感じになりつつあるプログラミングを完全にやめるのはまだ遠い未来になりそうかなって思っているんですけど引き寄せの法則的な側面で言うとそう思ってるとプログラミングをするという選択を続けてしまいそうで微妙なところです😵
全体的に文章が長くなるのはキモいからなのか。。。
まとめ
Reactでフリーランスエンジニア1年やったおって記事でした。
フリーランスエンジニアは最高だぞお!(情報商材)ってのは結構言われますけど、他の労働とかと比較するとまあまあ悪くはないと思いました。
というかぼくみたいな完全なる社会不適合者かつニート気質なタイプで出来る労働って多分プログラミングぐらいしかないかも?あとは労働タイプの歩合制のトレーダーとか?完全成果報酬の営業とか?らへん?
みたいなことを田舎家賃5万円3LDKよりお送りしました👀
最後にぼくが個人で作ってるアプリの宣伝です。
プログラミングとかフリーランスとか海外移住でもなんでもいいんですけど、質問とかがあればぜひ100円払っていただいて、https://timehub.jp/からご利用ください😄🙏(営業スマイル)
ユーザーも募集中だし、なんかいろいろと募集中だよ!