フリーランスエンジニアになって約 1 年半が経ったので振り返り【2019 年+ 2020 年】
こんにちは、フリーランスになって 1 年半くらいの Nash です。
この記事は「フリーランスのエンジニアになって約 1 年半くらい経ったので、その振り返りについてまとめた記事」です。
結論ですが、だいたい自分がイメージしていたものとズレはそこまでなかったので、安心でした。
では、見ていきます。
フリーランスの活動報告
もともとエンジニアとして仕事をしていたのですが、縁があり 2019-01 くらいからプライベートの時間で仕事をしていました。
きちんと、開業届けを出して本格的にフリーランスとして活動したのが 2019-05 くらいです。
なので、開業してからだいたい 1 年ですが、実質としては 2019-01〜2020-05 で 1 年半くらいフリーランスとして活動した感じです。
まとめると下記みたいな感じ
2019-01 | フリーランス稼働開始 |
2019-05 | 開業届 |
2019-01〜2020-05 | この記事での振り返り |
やった仕事
2019-01〜2020-05 の間で 3 案件の仕事をしていて、請負 1 つと、準委任 2 つです。
ざっくりの技術スタックとかは下記です。
案件 | 内容 |
---|---|
請負 A | Rails で 1 人開発。フロントは erb + SASS。 |
準委任 B | Next.js + Firebase(CloudFunctions + Firestore) でフロント+バックエンド開発。 |
準委任 C | Rails + ReactNative でフロント+バックエンド開発。気付いたらにインフラと Vue もやってた。 |
一応補足すると、契約の違いは下記の認識でだいたい合ってるかと。
契約 | 内容 |
---|---|
請負 | 「成果物」を納品する形での契約 |
準委任 | 「時間給」に対する契約 |
学んだこと、感じたこと
フリーランスを通じて学んだこと、感じたことを書いてきます。
請負契約は今後は基本的にやらない
請負契約と準委任契約では準委任契約のほうが低リスクなので、請負契約はあまりやらないようにするべき、と感じました。
というのも、初手で請負契約での仕事をしていたのですが、正直結構キツかったです。。。
というのも、今まで Rails はそこまでやってなかった状態だったんですが受けた仕事の技術スタックが Rails だったから。この案件自体は知人からの紹介で回ってきたのですが「まぁ、どうにかなるっしょ」でやってみたわけですが、割とどうにかならなかったです。
いや、まぁ完成してどうにかなったんだけど、完成させるまでにかなり時間がかかったので、準委任で契約していたケースに比べちゃうと大赤字でした。
というわけで、今後は請負契約で仕事を取るなら下記の 2 面がない限りは基本的に今後は見送る方向にしようかと思ってます。
- その技術スタックにかなりの自信がある
- 契約に、かなりこちらに優位な条件
今回は痛い目を見ましたが、小さい案件だったので被害も少なく済んだので、まぁよしとします。
週 2 でのジョインは割とツライ
限られた稼働数の中で成果を出さないといけないからです。
準委任の案件を「週 2 +週 3」の 2 つのプロジェクトを並行してジョインしていたのですが、特に週 2 は予想外のツラミがありました。
例を挙げてみます。週 5 で仕事をしていて、開発している機能が思ったよりもうまく作りきれずに遅延したとします。それも長めで 2 週間とかの遅延のケースとかです。
週 5 稼働していて遅延が 2 週間だとしたら、週 2 稼働だと遅延は 1 ヶ月くらいになります。
もちろん単純な稼働日数は変わらないですが、やっぱりリリースが遅れているわけなのでプロダクトオーナー側の心証とかにも、かなり影響を与えちゃうわけです。
それだけでもなく、自分自身としてもその状況で仕事をし続けるので、割といい感じにメンタルが削られます。
なので、全然知らない技術スタックでの週 2 ジョインは結構キツイので注意しておいたほうが良いです。
契約リスクと曖昧さ
フリーランスとして活動して感じたのは、「法律的に」成果物に対する責任が高すぎるように感じました。
基本的に各会社さんと契約をしてジョインするわけなのですが、その契約書についてちょっとリスクが高いなーと思うように感じます。
というのも、契約書の基本方針は「準委任」としてあるんですけど、条項で「成果物」に対して責任をもたせてくる企業が多いです。他にも損害賠償の条項についても、期限・上限を契約書に書かれてないことも多いです。
正直、そこらへんをゼロリスクに調整したいところではあるんですが、会社さんとしても契約書を変えるコストや稟議とかスピード感とか、諸々を考えてこっちがその契約で飲むようにしているんですが、世の中のフリーランスエンジニアって同じなんですかね・・・?
とはいえ、実際に損害賠償になるケースや、後追いで修正を依頼されるケースは周りを見てる限りに話しにも聞かないですが、 「この方針で数十年もフリーランスを続けてたら、どこかで確実に事故るなー」、とは感じます。
それとも、自分が少し過剰に考えすぎなのか。 とはいえ、どういう方針がいいのか正直わからないですね。。。
もう最近は諦めて「仮に損害賠償になったら、もう自己破産するわ」という不健全な考えを持つことで精神衛生を保ってます。
キャリア 2〜3 年のある Web エンジニアの案件・仕事探し
予想していたとおり、すぐに見つかります。
まず、「フリーランスのリスクの 1 つに仕事の受注が不安定なので、仕事がなくなるリスクがある〜」はよく言われるかと思います。
ただ、「Web エンジニアの場合はメチャクチャ売り手市場だから、そのリスクって実質ないんじゃないかなー?」という考えもあって、えいや、とフリーランスになったのですが、答え合わせです。
すでに書いてありますが、割と簡単に見つかりました。コロナだろうが超売り手市場でした。ただ、コロナになってからは、やや求人の数自体が少なくなった印象ですが。
以前は、エージェントも使ってたんですが必要なくなってきたのでやめました。今の自分の仕事探しは基本的に Twitter + Wantedly を今はメインにしてます。
具体的には、Twitter に「仕事探してます〜」みたいな投稿すればぼちぼち案件も来るので、それと平行しながら Wantedly で仕事を探してました。2 回ほど仕事探しをやりましたが、どちらも約 1 週間〜2 週間で新規案件にジョイン出来てます。
ある程度の生存バイアスがかかってるかとも思いますが、少なくとも条件面を妥協すれば再現性はかなり高いかと思います。具体的には単価を下げる、微妙な技術スタック、リモートでなくオンサイトな現場、などです。
ということで、2〜3 年のキャリアのある Web エンジニアなら食いっぱぐれはほぼ 100%ないように見える、というのが現場からの報告です。
仕事探しの心理的障壁は完全になくなった
フリーランスとして活動をはじめてからは、仕事探し・転職とかに対しての心理的障壁はなくなりました。
というのも、Twitter で 2 回ほど案件を探してたり、Wantedly でいろんな企業さんに話をしてきました。
拡散希望です! 開発のお仕事、募集してます
— Nash⚡️ReactNative書いてる (@snamiki1212) May 7, 2020
仕事:React+バックエンド
契約:準委任フリーランス希望
時期:即日可
背景:コロナショックとか
経歴:Webエンジニアそろそろ3年目
連絡:DMお待ちしてます
詳細:https://t.co/plfl5D1v1s
よろしくおねがいします🙏#twitter転職 #hiyokonitsuduke
昔は、案件探し・仕事探し・職探しはかなり心理的な障壁が高かったですが、さすがに何度も繰り返せば慣れてきます。
とはいえ、案件探しをしている時は「落とされるんじゃないかな、、、」と少しドキドキしたり、不安にはなりますが。
仕事探しのための基盤は用意しておくこと
「仕事探しをしよう!」と思った瞬間に募集をかけられる準備を作っておくようになりました。
Wantedly・Linkedinに職務経歴を書いてたけどエージェント使うと「PDFでくれ」っていうケースが多いからMarkdownで管理することにした
— Nash⚡️ReactNative書いてる (@snamiki1212) April 25, 2020
・md-to-pdf: PDFで提出する用
・Wantedly: ベンチャー系
・Linkedin: 英語圏、外資系https://t.co/9PUJpNHFWq
具体的には、経歴書などの書類とアウトプットなどのポートフォリオをまとめたペライチなページがあると便利です。
仕事探しで一番面倒だと感じるのは経歴書とかの資料を準備する点だと思います。ですが、実は、一度きちんと整備すれば diff 更新はそこまで大変ではないです。「最終更新日〜今日」の diff を更新すればいいだけで、周期を短くメンテナンスすれば、毎回 5 分くらいで最新情報にアップデートできるようになります。1 年位ほっておいても、そこまで diff も増えませんね。
あとは自分のアピールしたいアウトプットなどをまとめておけば、この URL を渡せば OK です。URL を渡してるのに、同じような質問をチャットでしてくる人もたまにいましたが、「この URL 見てください」だけ返信して塩対応してました。
ちなみに、エージェントを使って仕事探しをする場合は、PDF などでデータを渡すことになるので情報は markdown で管理しつつ、markdown to pdf 系のパッケージでビルドしたものを良いかと思います。Excel・Word とか管理したくないからね。
アウトプットの意識が格段に上がった
フリーランスになってからは、ポートフォリオ・アウトプットに対する意識も格段に上がったので良い傾向です。
いままでQiitaとブログの書きわけが適当だったけど
— Nash⚡️ReactNative書いてる (@snamiki1212) April 23, 2020
・Qiita:「今日学んだこと」レベル
・ブログ:それなりにまとめたいレベル
で、試してみるかな
正社員のときは、「わかっちゃいるけど、そこまでアウトプット出来てない」みたいな状態でした。なので、転職する直前に焦ってアウトプットをまとめる感じですね。
フリーランスになってからは、いつ案件が終わるかわからないので、細かく常にアウトプットするようになりました。なので、最近はインプットする時間を取る時は、アウトプットする時間も確実にセットにしています。
気になるならとりあえず 1 回やってみるはアリ
「フリーランスを 1 回やってみたい」と気になってるなら、とりあえず 1 回でいいからフリーランスやってみるのは個人的にはアリだと思ってます。
というのもフリーランスと正社員って可逆性なので、フリーランスから正社員に割と簡単に戻れるからです。
実際、「フリーランスとして案件を探してます!」といって、案件を探し回ってると、かなり高い頻度で「ぜひぜひ正社員で入りませんか?」みたいな声がけが多いので、買い手側的にはむしろ正社員のほうが欲してるところは大きいですね。
あと、Web エンジニア界隈を見ていても、フリーランスから正社員に戻るムーブをしている人はそれなりに多いようにも見えます。
ということで、気になるならとりあえず 1 回経験しておくと今後の人生の選択肢の幅が広がりやすいのでアリだと思います。
1 年目は仕事をかつかつに入れないでバッファを持つこと
メインの仕事以外にも意外とやることが多いからです。
理由として、大きく 3 つです。
- 会計などの事務処理
- 炎上・遅延時に追加稼働
- + α をする
1 つずつ見ていきます。
1 つ目が会計です。フリーランスとして活動すると、特に「会計」について自分ですべて担当します。そして、会計についての知識がないので、わからないことは基本的にググりながら進めるので、それなりに時間的コストが必要です。2 年目からは、すでに知っている内容が多くなるので、学習コストが減りそうですが、特に 1 年目は知らないことだらけなので、それなりに大変でした。
一応、外注するのも 1 つの方法ではありますが、個人的には 1 度は自分でやるべきだと思いますので。。。
2 つ目が追加稼働です。抱えている仕事・案件が忙しかったり、遅延したときに、普段の稼働数よりも少し多めに稼働しないといけないケースがたまに出てきます。もともと仕事をカツカツに入れてると、どうあがいても時間が足りなくなるときがあります。土日を返上したところで足りなくなるレベルです。
3 つめが+ α の何かをする時間です。個人的に、正社員と比較したフリーランスの最大のメリットは「仕事時間を管理できる」という点にあるかと思っています。例えば、仕事量を減らして仕事は週 2 だけで、残りの週 5 はひたすらゲームする、とか。
自分の場合は「仕事をしない日程」を意識的に作って、技術学習・ブログ更新・英語学習なども行ってました。まぁ、「3)の+ α の何かをすることがない!」って人は、バッファで空けていた時間に更に仕事をするのもありですが。
というわけで、個人的には1年目のカツカツに仕事を入れないほうがよかった、という振り返りでした。
会計、契約、税とかの教養はなくてもどうにかなった
割とここらへんのリテラシーが低い状態からはじめましたがどうにかなりました。
生存バイアスなところもあるかと思いますが、基本的にその場その場でググってました。
会計については、Freee を使えばかなり薄っぺらな知識でもどうにかなります。
とはいえ、欲を言えば会計の知識は正社員の時点で知っておくべきだったです。具体的には簿記の資格を取っておくべき。そのばその場でググってるので、知識が一本線を通ってないし、知識も薄い状態で進めるので「俺達は雰囲気で会計をしている」な状態です。
契約については、契約をするときに内容などをググれば今の御時世ならかなり情報を集められます。気をつけるべきなのは、納品義務がある請負で契約する場合はリスク高いので注意したほうが良さそうです。
外税と内税は明確にしておく
契約時、契約前の金額交渉のときに外税・内税を明示して伝えるべきでした。
というのも、これによって、収入が 10%変わります。
(説明が少し細かくなるので、必要ないひとは読み飛ばしてください)
まず、前提として我々フリーランスは「技術力」を商品・サービスとして各企業と契約します。企業側は、我々の技術力を「消費」するので消費税を国に収める必要があります。ですが、この消費税を誰が収めるか?は、職種によって異なりますがエンジニアなら我々フリーランスが収めるのが一般的です。
そのため、単価と含めて消費税もまとめて企業からもらっておき、確定申告の時期にフリーランス側が納税をする形になります。
そして、個人事業主は開業から 2 年間、または 2 年後も年収が 1000 万円を超えなければ消費税の納税義務がありません。
そのため、消費税の分はまるまる収入になります。これを踏まえて外税・内税の単価を考えます。
例えば、下記の2つの現場があったとします。
- 現場 A:単価 4300 円
- 現場 B:単価 4000 円
これだけ見ると、現場 A のほうが単純に多く稼げるように見えますが、もし内税・外税が下記のケースならどうでしょうか。
- 現場 A:単価 4300 円(内税)
- 現場 B:単価 4000 円(外税)
この金額での最終的な単価は下記のようになります(消費税は 10%)
- 現場 A:得られる金額 4300 円(単価 3909 円+税 391 円)
- 現場 B:得られる金額 4400 円(単価 4000 円+税 400 円)
というわけで、現場 A のほうが単価が高いように見えましたが、実は現場 B のほうが単価が高い、というケースもあるわけです。
単価が高いと思って契約したら内税だったので、実は他の候補の単価のほうが高くて良い条件だった、みたいにならないようにしておきたいです。
そのため、事前に内税・外税は明確にしておくことで、どの企業と契約するかの判断材料も正確になります。
正社員時代にやっておいてよかったこと
フリーランスになる前の時期にやっていてよかったことをまとめておきます。
アウトプット、ポートフォリオは作っておく
ボリュームは少なかったですがアウトプットはしておいてよかったです。
具体的には、自分のブログを Gatsby で 0 から作って、その内容などを記事化していました。この当時はアウトプットのボリュームがやや少なかったので不安でしたが、Gatsby + Netlify みたいなモダンな JAM Stack を採用している点とかで受けがよかったです。
最近では仕事をしながら
- ライブラリの開発
- 個人開発プロダクト
などにも手を出し始めたので、アウトプットのボリュームが全体的にリッチになってきたので、面接の中で自分の技術力の証明をする必要がなくなってきて楽に案件探しができます。
飛び道具として SNS を育てておく
特に Twitter を育てておいたのは良かったです。
具体的には、技術系フォロー・フォロワー数を増やしておいて、投稿もできる限り技術色を強めの Twitter です。
というのも、エージェント経由で仕事を探す場合は、残念な感じですが使ってきた技術スタックの「経歴年数」がめちゃくちゃ重視されちゃいます。2〜3 年くらい経ってないと、エージェントから足切りされる感じです。
新しい技術を学びたかったり、今の技術の経歴が短いケースだと、エージェントをうまく使えない感じですね。特に自分の場合はバックエンドからフロントへ主戦場を移したこともあり、経歴年数が溜まってないのでエージェントとの相性が悪かったこともあり、Twitter での案件探しはかなり重宝してます。
「それ、別に Twitter じゃなくて Wantedly だけでも良くない?」という意見もあるかと思うんですが、Wantedly も使ってました。Twitter を使うと、単純にチャネルが倍になるので選べる幅が倍に膨らむ感じですね。
フリーランス仲間がいる状態
1 人でもフリーランスの知り合いがいると困った時に聞けるので、めちゃくちゃ助かります。
あと、知り合いからの紹介でも仕事をしていたので、こういう旨味はかなり大きいですね。
もし単純に情報収集という観点で見るなら今どきならオンラインサロンとかに入るのもありかもですが、ややビジネスライクになりそう?なのかな。
あとフリーランス仲間だけでなくて、経営層などのレイヤーなどの知り合いもいると、直接仕事を回してもらえる可能性が更に上がりそうです。
おわりに
年度の中途半端な時期ですが、ふと思い立ったので書きなぐっていきました。
年末年始に「フリーランスになって 2 年たった〜」みたいな記事をまた書こうかと思うので、それまで健康な生活をできていることを願う限りです。
(追記)2 年目の振り返りを書いた