「実は僕、“実務未経験” でフリーランスエンジニアとして独立しました。」
初めまして!
フリーランス(個人事業主)としてエンジニアをしている有人(freese90)です。
実は僕、”実務未経験” でフリーランスエンジニアとして独立しました!
(急にどうしたw)
実務未経験の状態でいきなり独立し、そこから実務経験を積んでいきました。
そして、様々な案件で実務経験を積んでいき、現在では月単価90万を超えることができました。
いきなり、どうした?って感じなので、この記事の内容を先にお伝えします。
・僕が実務経験なしで独立した方法を解説
・”実務経験なし” でフリーランスは大変って話
・【結論①】実務経験なしで独立はオススメしない
・【結論②】でも、2年も3年も積む必要はない
・【結論③】正しい手順を踏めば、確実に独立できて年収も増える
サクッと読める内容なので、サクサク読んでいってもらえたら嬉しいです!
たった3分。
カップラーメンを作る時間で読むことができます。
目次
エンジニアとしての今
現在はWeb系の自社開発企業の案件に参画しています。
今は関西に引っ越し、東京の案件にリモートで参画しています。
(話は逸れますが、家賃の安い関西に引越し、単価の高い東京の案件を獲得するの、コスパ良すぎて最高です。笑)
主に利用している技術はRubyやVueで、PHPやJava、AWSなどの実務経験があります。
僕の場合、会社員としてのエンジニア経験がないので、「経験年数 = フリーランス歴」となりますが、僕が未経験で開発の現場に入ってから身につけてきたスキルセットは以下の通りです▼
【言語】
HTML | CSS | Ruby | Java | PHP | Python | Javascript
【フレームワーク】
Ruby on Rails | Laravel | Cake PHP | Vue.js | jQuery | Spring | Bootstrap
【AWS】
S3 | EC2 | VPC | Cloud Front | Lambda | ELB | ECS | Fargate | IAM | RDS(MySQL / PostgreSQL)| Redis | Cloud Watch
【DB / NoSQL】
MySQL | PostgreSQL | SQL Server | Redis
【SaaS / PaaS】
GitHub | GitHub Actions | CircleCI | Jenkins
【ツール】
git | Docker | Slack | Burp Suite | Swagger
【その他】
Capistrano | nginx | unicorn | Apache | Tomcat
※ 今後も追記予定
後でも少し話しますが、
エンジニアの技術力は、フリーランスとして独立した後でも全然身につけていくことは可能ですし、
IT業界は技術の移り変わりが激しいので、どんどん新しい技術をキャッチアップしていくことで、単価を上げていくことができます。
元々はプログラミング未経験
今では、そこそこの実務経験があり、大規模なウォーターフォール開発から、小規模なアジャイル開発やスクラム開発など経験をしてきましたが、元々はプログラミング未経験です。
後述しますが、元は未経験の状態から独学でプログラミングの勉強を開始し、6か月後にフリーランスのエンジニアとして独立しました。
これだけ聞くと、「めっちゃ早いなw」って感じると思いますが、苦労もありました。笑
今日の記事では、
① 僕がフリーランスエンジニアを目指した理由
② フリーランスになるまでのステップ
③ 注意点
などに触れながら、僕の体験談を交えてゆるーく解説していきます。
フリーランスエンジニアを目指した理由
まずは僕の会社員時代の話からしましょう。
僕は大学を卒業後、新卒で某大企業に入社しました。
従業員数も2,000名程度の割と大きめの会社でした。
新卒の歓迎会があった
新卒入社し、部署配属が決まり、研修が始まり、ようやく社会人としての一歩を踏み出した頃、部署で新卒の歓迎会が開かれました。
歓迎会ではお酒を交えながら、大学時代のこと、これからのキャリアプランなど、先輩や上司と色々と話し、そんな中で3つ上の先輩Mと仲良くなりました。
様々な話をしているうちに、「年収」の話になりました。
そして、その先輩M(入社3年目)が、なんと自分の年収を教えてくれたのです。
希望は一気に絶望へ
僕が大企業を選んで入社した理由は、シンプルに「お金」でした。
つまり、「しっかり稼ぎたい」という想いから大企業に入ったんです。
今思えば浅はかですが、大学生の頃の僕は、「大企業 = 安定」と思っており、「大企業に入れば年収も高く、安定した生活が送れる」と思っていました。
しかし、先輩Mと話をしているうちに、「それが間違いである」ということに気付いてしまいました。
なんと、入社3年目の先輩Mの年収が、月数千円ほどしか上がっておらず、新卒入社時の僕の年収と比較しても、そこまで昇給していなかったのです。
また、先輩Mの周りの同期で一番出世している人ですら、月1万円ほどしか上がっておらず、大企業へ抱いていた幻想は消え、一気に絶望に変わってしまいました。
「転職」の2文字が頭をよぎる
「稼ぎたい」という理由で大企業に入ったのに、「全然稼げへんやん」ってなって、最初に僕の頭によぎったのは「転職」の2文字でした。
やはり、会社という組織の中で生きていくのであれば、「3つ上の先輩の年収 = 3年後の自分の年収」ということになるので、「この会社にいても給料は上がっていかないんだな・・・」ということを痛感し、転職を考え始めました。
帰宅後、さっそくググる
飲み会が終わり、帰宅すると同時に、僕はパソコンに向かいました。
理由はシンプルに転職サイトを眺めるためです。笑
Googleで「年収 高い 仕事」「転職 年収 第二新卒」などのキーワードで片っ端から検索をかけました。
調べた結果、以下のような情報が目に止まりました▼
・エンジニアは平均年収が高い
・フリーランスとして独立する人も多い
・リモートワークで場所を選ばず働くことができる
これらの情報を見て、
と決断しました。笑
フリーランスになるまでのステップ
次の日、まずは【フリーランスエンジニアになるために必要なこと】をググり、メモしました。
大まかに分かったのは、以下の通り▼
・まずは1つ言語を決めて学習を開始するのが大事
・Progateってサービスを使えば月額980円で勉強を開始できる
・その後は、Webフレームワークについても学習をした方が良い
・1からポートフォリオを作ってみるべき(転職の際に話せる)
・転職活動は、ある程度のポートフォリオを作りきったら早めに開始すべき
・とにかく “実務経験” が大事
・実務経験は、必ずしも “正社員” である必要はない
・1年くらい実務経験を積めば、フリーランスには意外となれる
※ もっとありましたが、大まかにこんな感じでした
そして、僕は学習する言語をRubyと決め、この日からさっそくProgateに登録して、プログラミングの学習を開始しました。
ちなみに、Rubyを選んだ理由は、リモートの案件数が多いという情報を見たからです。笑
僕が未経験からフリーランスになるまでに取った行動は、大まかに以下の4つです▼
① Progateに登録
② Railsチュートリアル
③ 個人開発(ポートフォリオ作成)
④ 独立
① Progateに登録
Progateって色んな言語のカリキュラムがあるので、全てやってたらキリがありません。
なので僕は、以下の内容に絞って学習を進めました▼
・HTML & CSS
・Javascript
・Ruby & Ruby on Rails
・git
・Command Line Tool
僕が上記のカリキュラムに絞って学習を行った理由は、「とりあえずこのスキルを身につけたら、1つWebアプリを作ることができる最低限のレベルに到達することができる」と考えたからです。
また、エンジニアについて調べている中で、gitやCommand Line Toolを使えないと、プログラミング以前に仕事にならないとのことだったので、(その当時は何故なのか理由も分かりませんでしたが)とりあえずカリキュラムをこなすことにしました。
② Railsチュートリアル
Progateを一通り学習し終え、次にやった教材がRailsチュートリアルです。
この教材は、カリキュラム通りに進めていけば、TwitterのクローンアプリのようなWebアプリが完成するような内容になっています。
最初は全体の3割程度しか理解できませんでしたが、とにかく、教材を完成させることを目標に継続し、何とか1つの成果物が完成した状態になりました。
③ 個人開発(ポートフォリオ作成)
Railsチュートリアルを一通り終えた後、次に取り組んだのが個人開発(ポートフォリオ作成)です。
チュートリアルの場合は教材通りに進めていけば Webアプリが完成するようになってますが、個人開発はアプリを1から作る形になるので、より実践的です。
なので進めていく中でわからないことが出てくれば、ググって検索をしていく必要があります。
ただ、実際に開発の現場に入った場合はこれらを仕事で行っていく必要があるので、個人開発を行うことで、エンジニアに必要な「ググり力」を身に付けることができます。
僕が個人開発に取り掛かる上で意識した点は、明らかな未経験者のポートフォリオではなく、実際の「実務」でもありそうなものを想定して作ったという点です。
実際に僕が作った個人開発は以下の通りです▼
・ECサイト
・美容室の予約システム
※ いずれも、実在するシステムを想定して作ったもの
ただ、当時の僕は実務未経験。そもそもプログラミング未経験から少し毛が生えたようなレベル。
Webアプリの完成度はめちゃくちゃ低かったです。
例えば、ログインしてないユーザが見れてはいけないページが見えていたり、デザインのcssもぐちゃぐちゃ。笑
ただ、レベルは低いにせよ、とりあえず分からない箇所はググりつつ、何とか自作のWebアプリを完成させることができました。
④ 独立
個人開発を終えた後、いきなりフリーランスとして独立しました。笑
これだけ聞くと、
色々と意見が飛んできそうですが、おっしゃる通りです。笑
一般的に、フリーランスとして案件を獲得するためには実務経験が必要です。
1年以上の実務経験があればフリーランスの案件は探しやすいかと思いますが、僕の周りでは6ヶ月程の実務経験で独立している人もいます。
いずれにせよ、フリーランスエンジニアとして独立を目指すなら、正社員やアルバイト、インターンでもOKなので、開発ができる会社で実務経験を積むのが王道です。
※ フリーランスとして独立する前は「開発」の実務経験を積むのが普通です
ただ、
当時の僕はこんな感じでした。笑
正直、今思い返すと、「よくあんなレベルで独立したな」って本当に思うのですが、
当時は、
この思いが先走ってしまい、実務経験を飛ばしてフリーランスになることを決意しました。
知り合いの営業さん
当時の僕の技術レベルは、Progateを勉強し、Railsチュートリアルを一周し、個人開発で2つのWebアプリを作った程度・・・
ここからは、実際にどのようにフリーランスの案件を獲得していったかの話です。
結論から言うと、僕の知り合いにフリーランスのエージェントで営業をしている方がいました。
そこで、こちらからコンタクトを取って、相談をさせてもらいました。
↑こんな感じでした
最初の案件はJavaだった
やはり最初は、実務経験がない状態だったので営業さんもかなり苦戦していましたし、「流石に実務経験無しでは厳しい」という感じだったのですが、
粘り強く案件を探していただき、
こう言わました。
詳細を聞くと、
「営業さんが昔から仲良くしている企業の案件で急に開発要因(PG)で入っていたエンジニアが辞めて人手が足りなくなった。緊急性が高いので、とにかく面談を組めるエンジニアを探している。Javaでの開発にはなるが、Javaの経験が無くてもOK」
こんな感じでした。
まとめると▼
【急募の背景】
① PG(開発要因)として案件に入っていたエンジニアが急に辞めた
② システムの納品時期が迫っており、人手が必要
③ Java経験が無くても、キャッチアップできそうなら優先的に面談を組む
④ 営業さんが個人的にも仲良くしている会社の急募案件
とのことでした。
本音を言うと、今までRubyの勉強をしてきたので、Rubyの実務経験を積んでいきたいという思いがあったのですが、やっぱりこの状況ではわがまま言ってられません。
「まずは、エンジニアとしての実務経験を積むことが一番大切」という判断に至り、Java案件の面談をセッティングしてもらうことになりました。
すると…
なんと「合格」をもらうことができました!
案件の詳細は以下の通りです▼
【勤務地】五反田
【稼働】週5フルタイム(9:00 – 18:00)
【単価】月額35万円
【更新】3ヶ月更新
正直、決まると思っていなかったので、めちゃくちゃ嬉しかったです。
また、月単価35万円というのは、フリーランスエンジニアとしては、かなり低いですが、当時の僕のレベルは “実務未経験” だったので、逆によく月単価35万円も貰えたなって思います。笑
会社員時代の手取りは月20万円を切っていたので、月35万円貰えると聞いて、当時は普通に嬉しかったのを覚えています。
実務未経験でフリーランスになって困ったこと
実際にフリーランスエンジニアとして案件に入ってみると、困ることがたくさんありました▼
① チーム開発の概念が分からない
└ Githubの使い方、プルリクエスト(PR)の書き方
└ Slackやチャットワークなど、テキストベースでのコミュニケーション
└ ブランチ運用の理解(master、staging、develop…など)
└ コンフリクト(競合)が起きた際の対応
└ 要は、”仕事” としてプログラムを書くのが難しかった
② コードを書く際のお作法が分からない
└ 同じ処理は、極力まとめて同じコードをできるだけ書かないようにする
└ 何のための変数、メソッドなのかを名前から類推できるようにしておく
└ 何を修正 or 開発したのかわかるコミットを積む
③ テストの概念が分からない
└ テストとは何か?
・・・
他にもありますが、大きく分類すると上記の通りです。
要は、「業務として開発を行う」「チームとして一つのシステムを作る」という概念が分からなかったので、プログラミングのスキル以前に、“エンジニアとしての常識” が欠如していた状態でした。
ただ、その現場では、今述べたような「チーム開発の進め方」「チーム開発でのお作法」など “エンジニアとして常識的な知識” を学びつつ、他にも「設計〜テスト」までをしっかりと学べる環境でした。
↑こんな感じでした。
その6ヶ月後・・・
現場ではJavaの実務経験を積みつつ、引き続き自宅ではRubyの個人開発を進めていました。
6ヶ月が経ったある日。
営業さんに再度、Rubyへのスキルチェンジを相談しました。
すると、なんと面談をしてくれる企業が見つかりました。
面談ではJavaでの経験が評価されて、「Rubyは現場に入ってからキャッチアップしてくれたらOKです」と合格を貰うことができました。
そんな感じで、
実務未経験で独立し、最初のJava案件に入った6ヶ月後。
初めてRubyの実務経験が手に入りました。
今思えば、「営業さん、めちゃくちゃ頑張ってくれたな」と本当に感謝しています。
当時、実務未経験の僕に仕事を紹介してくれて、その後、Rubyへのスキルチェンジまで希望を叶えてくれた訳です。(神ですw)
※ 僕がお世話になった営業さんには、今でも直接案件を紹介してもらっているので、興味ある人はお繋ぎもできます。Twitterやブログの問い合わせフォームから連絡ください。
そして、Rubyの実務経験を手に入れてからは、本当に見える景色が180°変わりました。
・そもそも面談をしてくれる企業を探すのが大変
・リモートワークなんて夢のまた夢
・技術力以前に “エンジニアとしての常識” がない
・エンジニア同士の会話が全く分からない
・5〜10社から面談依頼が来るようになった
・別の言語の経験があれば、それをアピールして入れる現場もある
・前の現場の経験を活かして仕事ができる
・チーム開発を円滑に進めることができるようになった
やはり、
「実務未経験でフリーランス案件に入る難易度はかなり高いが、少しでも実務経験を積めば、案件を取る難易度はかなり下がる」ということを痛感しました。
Rubyエンジニアとして様々な案件に参画
その後は、Rubyエンジニアとして様々な案件に参画しました。
例をあげると以下の通り▼
・健康管理アプリの管理システムの開発
・オンライン採点システムの新規開発
・美容系求人検索サービスの機能追加・改修
・美容室・エステ予約システムの新規開発
・脆弱性診断ツールのWebシステム化
・AIによる特許情報管理システムの再構築
・業務自動化システム開発
…など
また、Ruby以外にもVue.js、PHP、AWSなど様々な実務経験を積んでいきました。
Java→Rubyという経歴でバックエンドの実務経験が大半を占めていた訳ですが、フロントエンドの実務経験も積んで、
「もっと単価アップ & 柔軟な働き方に寄せていきたい」という想いが強くなりました。
また、バックエンドやフロントエンドなどの “プログラミング言語” だけでなく、AWSなどの “インフラ” に関する知見も増やしていきました。
そして今では、関西に引っ越し、東京のフルリモート案件に参画し、月単価90万円を超えることができました。
新卒の頃と比較して、かなり手取りも増え、「余裕のある生活が送れてるなぁ」と本当に思います。
注意点
ここまで、
僕が実務未経験からフリーランスエンジニアになるまでの『全過程』を解説してきた訳ですが、最後に注意点があります。
これに尽きます。笑
解説した通り、「実務未経験でフリーランスになる」というのは、やっぱり難易度が高いですし、運要素がかなりあるんですよね。
例えば、僕の例だと、
① PG(開発要因)として案件に入っていたエンジニアが急に辞めた
② システムの納品時期が迫っており、人手が必要
③ Javaの経験が無くても、キャッチアップできそうなら優先的に面談を組む
→ だから運良く案件に入れた
こんな感じです。
僕自身は、上記の状況が重なって、無事に実務未経験からでも最初の案件を獲得でき、そこで得たスキルをアピールして次の案件を獲得すると言う方法で、無事にフリーランスエンジニアとしてやってこれましたが、
【再現性】という観点で見ると、かなり微妙なやり方だなと思います。
なので、これからフリーランスエンジニアを目指す方には是非、僕の真似はせず、実務経験は積んでからフリーランスになることをオススメします。
ただ、「2年も3年も実務経験を積むことが必須か?」というと、全くそうは思いません。
実際に、実務経験が1年程度あれば、普通に案件は探せますし、
僕の周りでも実務経験は6ヶ月程度だけど、フリーランスとして独立して案件に入ってスキルをメキメキ付けているエンジニアも多くいます。
重要なのは、
正社員、派遣、アルバイト、インターン…
何でもOKなので、「実務経験を積みましょう」ってことです。
また、記事の冒頭【実務未経験でフリーランスになってから身につけたスキル一覧】でも述べた通り、
僕がフリーランスとして独立した後で身につけたスキルセットは多岐に渡ります。
技術力は、独立して現場に入ってからでも全然身につけていくことは可能です。
ただ、エンジニアとしての常識(チーム開発経験や最低限の基礎知識)は身につけてから独立した方が、現場に入ってからが楽かなと思う訳です。
・”実務未経験” でフリーランスになるのはオススメできない
・正社員、派遣、アルバイト、インターン… 何でもOKなので、”実務経験” を積みましょう
・ただ、2年も3年も実務経験を積むことが “必須” な訳ではない
・実務経験は1年程度〜が目安
※ 個人差もあって、6ヶ月程度の実務経験で独立して案件の中でスキルを付けてるエンジニアも割といる
今後も大切にしたい価値観
ここまで読んでいただき、ありがとうございました!
僕が何故、フリーランスのエンジニアとして情報発信を続けるかと言うと、
シンプルに、 “プログラミング” という「手段」で人生が激的に変わったからです。
昔は自分がスキルを身につけるので精一杯で、情報発信をする余裕なんて無かったですが、
今では、そこそこ実務経験も詰めて、エンジニアとしてのレベルも上がってきた自負があります。
今度は「僕の情報発信によって、誰かの人生を少しでも良くしていきたい」という想いが強くなってきたのが、情報発信を続ける一番の理由です。
僕はこれまで、70名以上のエンジニアの独立に携わってきた訳ですが、
「自分のスキルで独立できるか不安だったけど、案件決まりました!」
「相談したおかげで、今の自分に足りてないポイントが分かりました!」
「相談して思い切って独立したおかげで、年収3倍になりました!」
▲このような感謝のLINEが日々届くことが増え、情報発信にやりがいを感じているのが1番の理由です。
今後も “フリーランスのエンジニア” としての情報発信を通じて、一人でも多くの人生を、少しでもプラスの方向に持っていけたら嬉しいなって思ってます!
※ この記事は今後も更新していきますので、是非また見に来てください(^-^)
本気でフリーエンジニアを目指したい人へ
TwitterやYoutube、ブログやInstagram等で情報発信をしていると、よく以下のような相談をいただくことがあります。
「今は未経験だけど、これからフリーランスを目指したい」
「既に実務経験があり、フリーエンジニアとして独立を検討している」
「現役のフリーランスだけど、もっと単価を上げたい」
☝️昔の僕がそうだったように、こんな目標がある方も多いと思います。
僕はどうせなら、自分だけではなく、周りでも「稼ぐ」エンジニアがもっと増えたらハッピーだなって思ってます。
また、単に「稼ぐ」だけではなく、「時間」や「場所」に縛られず自由に働けるエンジニアが周りに多いと、そのエンジニアの人たちと一緒に事業を作ったり、次の挑戦に向けて一緒に切磋琢磨できるので、
僕の周りに「お金」「時間」「自由」の3つが揃っている人たちが増えて欲しいなって思ってます(^-^)
そこで、公式LINE「最速で月収50万を達成するためのLINEマガジン」を用意し、具体的なノウハウの情報発信や個別の相談会を開催する取り組みを始めました。
登録者限定で、以下のプレゼントを準備しています▼
🎁 僕が月収88万を稼いだスキルシート(pdf)
🎁 フリーエンジニアを目指す教科書
✔︎『未経験からフリーランスを目指す方法』
✔︎『フリーエンジニアになれるスキル基準』
✔︎『フリーエンジニアが年収を底上げする方法』
✔︎『稼げるスキルシートの書き方』
✔︎『フリーエンジニアの面談対策』…など
🎁 【完全無料】個別相談会への参加(※ 実務経験のある方向け)
✔︎『自分のスキルで本当に独立できそうか?』
✔︎『今のスキルでどれくらいの単価の案件を獲得できそうか?』
➡️ 一人ひとりの状況に合わせた相談は、是非こちらで質問していただけたらと思います(^-^)
🎁 エンジニアに関する『質問』『相談』もできます
『独立相談会』を実施中▼
公式LINEで、フリーエンジニアを目指したい方の無料相談会も実施中です😁
✔︎ 対象
エンジニアの実務経験がある方
『相談会希望』とLINEをいただけたら、フリーエンジニアを目指すための相談にも乗れます🚀
※ 公式LINE限定特典や独立相談会は、完全無料です。
こちらをタップして参加できます▼