フリーランス
エンジニア

フリーランスエンジニア,年収,転職

フリーエンジニア(フリーランス・エンジニア)とは


会社組織に属さず、個人事業主(自営業)として活動するエンジニアのことを言います。

プログラマーやシステムエンジニアとして働く場合、大きく分けると次の3つの働き方があります。

企業に正社員として就職し、エンジニアとして働く(正規雇用)契約社員やパート・アルバイトとして働く。(非正規雇用。派遣会社、もしくは特定の企業と契約する。)独立、起業して、エンジニアとして活動する。

このうち、3つ目の独立、起業については、さらに3つに分類されます。



1)法人を作って社長になる

1つ目は、自分で会社を立ち上げ、組織を作っていくという方法。

例えばこんなパターン。

「こういうアプリを世界に広めたいっ!」という想いがある。ベンチャーキャピタルへのプレゼン成功!投資してもらう。共感してくれる人を雇ってチームを作る。早いスピードで製品やサービスを展開。世の中に受け入れられて収益化に成功!

上手くいく可能性にかけて、最初に大きな資金を準備して大きくスタートするパターン。

最初に大きなお金が必要になるので、ある意味「賭け」でもあります。


2)個人事業主として1人で活動する-自分でアプリ・ゲーム・webサービスを作る

自分で考えたアイデアをネットやPC上で動くものにして、サービスを展開する。一人での活動なのでスピードが遅く、マネタイズをどうするかが鍵になってくると思われます。

収益化までに時間がかかるので、そこまでの生活資金をどうするかが課題になりますが、逆に言えば、副業でコツコツ開発していき、上手く収益化の道が見えてから独立に踏み切る、という手が硬いのかもしれません。


3)個人事業主として1人で活動する-開発プロジェクトの1メンバーになる

そして最後に、大きな開発プロジェクトの1メンバーとして働く、という道。個人事業主として活動されている多くのエンジニアがこちらに当たるかと思います。当サイトで掲載している「フリーランス エンジニア」のお話は、基本的にこの形態を指しています。

エージェントさんから「こんなプロジェクトがあるんですけど、どうでしょう?」と打診が来る面談する場所と日時が決まり、開発現場に通うプロジェクトが終わる頃、最初に戻る

雇用されているか個人事業主か、という違いはあるものの、「大きなプロジェクトの中で、1要員として働く」という意味では、正社員も派遣社員もフリーエンジニアも変わりません。


向いているエンジニア、向いていないエンジニア


実際にフリーエンジニアになってみると、いろいろと見えてくることがあります。

やはり良いことばかりではないですし、人によって向き不向きもあるだろうなぁ、と感じたことをまとめてみます。


フリーランスに向いているエンジニア


自己管理が出来る人

フリーエンジニアになると、様々な場面で「自己管理力」を問われます。

特に、大きいのはお金と時間でしょうか。

お金の管理

確定申告は年に1回ですが、結局は毎日のお金管理の積み重ねです。お金を使ったら後できちんと記録する、というのをホボ毎日繰り返すので、こういった管理をきちんと出来る必要があります。

とは言え、お金の管理については税理士さんに記帳の代行をお願いすれば解決できる話でもあるので、こちらはそれほど深刻ではありません。

時間の管理

重要になってくるのがこちら。なにしろ他人に委ねることが出来ません。

入ったプロジェクトによって忙しさはまちまちになりますが、余裕のあるときに、出来た時間をどう使うかで、将来は大きく変わってきます。

人間、つい易きに流れるもの・・。早く帰宅できた時に、テレビを見てビールを飲むか、自分の夢のために活動するか、自分を試される場面は毎日訪れるような気がします。

自宅に帰ってしまうと、ついだらけてしまう・・というのが分かっているなら、例えば帰る途中のマクドナルドによって強制的にPCに向かう、読書する等の工夫が必要になってきます。

お金にしても時間にしても、日々の使い方が積み重なって、数年後に大きな違いが生まれるのだと思います。

夢を持っている人

「独立してフリーエンジニアになること」が目標になってしまうと、それはちょっと違うような気がします。

デメリットの記事をいくつか書いたように、プロジェクトが変わる毎に人間関係をイチから構築しなくちゃならなかったり、結構な孤独感を感じることもあります。

そんな時に大切なのは、何のために今の仕事をしているか、という理由ではないかと思うのです。

例えば、将来自分の手で世の中の役に立つWebサービスを作りたい、という夢がある。

それに没頭できるのが理想だけれど、生活費を稼がなければ家族が路頭に迷ってしまう・・。

そんな場合の収入を得る手段として、フリーエンジニアという手段も選択肢の1つとして考えれば良いかと思います。

もちろん時間的に拘束されるのはサラリーマンでも同じなので、夢のために使う時間を捻出するのは大変です。

ただ、会社にばれることを恐れてコソコソしなくても良いので、メリットの記事でも書いたように、例えば勉強会やセミナー等に参加して多くの人と名刺交換する、という活動が気兼ねなくできるのは大きなメリットかと思います。



フリーランスに向いていないエンジニア


プログラミング・開発「だけ」やっていたい人

長いスパンで考えると、「コーディング大好き!開発だけがやりたいんだっ!」という方には、僕はお勧めしません。

とある大きな企業で、大きなプロジェクトが立ち上がって、人が足りなくなる。そこで、プロジェクトマネージャーが人を手配するためにいろいろな会社に声をかけ、その中の1メンバーとしてフリーランスのエンジニアが参画することになります。

企業側としては、自社の社員であれば「成長してほしい」「スキルを身に付けてみんなを引っ張っていって欲しい」という「育てる」という考えもあるでしょうが、人手が足りないプロジェクトに呼んだフリーランスエンジニアに対して、新技術にチャレンジしてもらおうとか、成長してほしいなんていう期待は持っていないわけです。

企業側の上流エンジニアが設計した仕様書に基づいて、淡々とコーディングして仕事をこなしてくれればいい。単なる1人工(にんく)としてしか捉えられていません。

また、大量の画面があって、淡々と同じようなコーディングを繰り返していく、なんていうお仕事も多くありますし、燃え盛ってるプロジェクトに投入されて、延々Excelにエビデンス用の画面キャプチャー貼り付けるだけ・・なんてことも実際に経験しています。

フリーランス・エンジニアになる、というのは、ゴールじゃないんです。単なる手段だと思っています。

恐らく、プログラミング・開発「だけ」やっていたい人は、例えば完全リモートワークOKな会社に正社員として転職する等、別の手段を検討された方が良いかと思うのです。

 

動機が「現状回避」の人

転職動機のトップはなんと言っても人間関係。これは仕方のないことかな、という気もします。

ただ、これって運の要素も大きいんですよね。フリーエンジニアになると、半年~1年程度で契約が終わり、毎回、全く別の環境に移っていくというのを繰り返します。(僕の場合、最短で2ヶ月というのがありました。)

毎回思いますが、やはり関わる「人」によって仕事のやりやすさは随分違います。


収入アップ(=お金)のみが目的の人

きちんとシミュレーションして、収入アップが望めるのであれば、フリーエンジニアの道に進むのもアリかと思います。

が、お金だけが目的だと、そのうちまた悩むんです。

例えば、「このまま60歳を過ぎたとき、どうなるんだろう?」とか・・。

しかも、フリーエンジニアに仕事を依頼する側の心理を考えてみれば分かると思うんですが、与えられる仕事って、基本的に「代わりが効く仕事」なんですよね。


自立心のない人

フリーエンジニアになると、確定申告を初めとしたお金に関する面倒なモロモロが 増えてきます。

また、何に時間を使い、自分がこの先どんな道を進んでいくのかをきちんと考えないと、どんどん流されていってしまいます。

恐らく、エンジニアの人というのは知的好奇心や探求心の強い人が多いかと思います。

新しい技術や開発言語に興味を持ち続けるのも大切なことですし、日々のインプットは欠かせません。

が、フリーランスになると、技術的な興味以外にも、自分がこれからどう生きていくのか?について探求していかなければなりません。

サラリーマンの時には、会社がある方向を指し示していて、あっちへ行くぞ!と経営者から号令がかかっていました。

今度は、その号令を自分自身が発しなければならない訳です。

自立するということは、最終的にはエージェントさんに頼らなくても仕事に困らない状況を作ること。

スバラシイ自由を手に入れたとも言えるし、反面、自分自身で自分の道を切り開いていかなければならないという、恐ろしい道でもあります。


フリーランスのエンジニアになると決めたら


エージェントさんに話を聞きに行く

実際に行動に移す前って、不安に思うことがたくさんあるかと思います。

独身でまだ若い方ならエイッ!と飛び出してみれば良いかもしれませんが、僕のように妻子ある身で家族を養う必要がある場合、きちんと裏を取ってからじゃないと怖くて動けません。

逆に言えば、きちんと一次情報が得られれば、ある程度安心できるのではないでしょうか。(ネット等の二次情報を信じるのはまずいです。特に時期や地域によって話が違ってくるので、直接「人」から情報を得るのをお勧めします。)

本当に仕事があるのか?いきなりフリーランスになって、食いっぱぐれるようなことはないか?現時点での求人/求職の需給バランスは?デスマーチなプロジェクトに突っ込まれるようなことはないのか?病気になったりしたらどうなるんだろう・・。休みは取れるんだろうか?

…などなど、不安な点や疑問点がたくさんあるかと思います。

そういった不明点は、実際に現場の人に聴いて解消した方が早いです。

誰に聴けば良いかと言うと、エージェントと呼ばれている、いわゆる営業さんです。

フリーエンジニアが仕事に就くとき、多くの場合はこのエージェントさんに依頼することになりますし、前出の不安に対して一番正確な情報を持っているのもこの方達です。

ネットのバナー等でもフリーエンジニアに関する広告を見かけますし、コンタクトするのは特に難しくないかと思います。

が、実は最初にどの会社に話を聞くか?は非常に重要。

例えば、

エンジニア欲しさのあまり強く勧められて契約したが、実はエージェントさんの居場所がメチャ遠かった最初だけ会ってくれたけど、その後はほったらかしどうやら間に何社も入っていて、中間マージンがたくさん抜かれているっぽい・・

なんて話も聞きます。

かと思えば、月に一回程度のペースで連絡をくれて、「近くまで行くのでランチしましょう」とサポートしてくれるエージェントさんもいます。

担当のエージェントさんが、良い人かどうかは当たってみないと分かりませんが、少なくとも条件面は、きちんと確認しておいてください。


将来のことをきちんと考える


フリーランス、フリーエンジニア、とカタカナで書けば、なんとなく良い響きかも知れませんが、結局のところただの個人事業主。大海原に放り出された小舟みたいなもんです。

何も考えず国民年金だけ入ってたら、年を取ってから悲惨な状況になるのは目に見えています。

きちんとした企業に就職して勤め上げた人は、退職金があるから(もっと言えば、退職金としてお金が勝手に貯まっていき、さらに税金が優遇される、というシステムがあるから)老後の暮らしが安定するわけで、フリーエンジニアになったあなたは、自分自身で将来のお金のことをマネジメントしていかなければなりません。

せめて、「個人型確定拠出年金」「小規模企業共済」ぐらいは知識として持っておき、活用してください。

また、たまにはきちんと時間を取って、

何のために、今、この仕事をしているのか?この先、どうなりたいんだっけ?仮に景気が悪くなっても、自分は大丈夫だろうか?

といったことを思索してみる必要があります。


俯瞰しながら、きちんと自分の人生をデザインする、という習慣を身に付けて下さい。

あまりそう思いたくはないのですが、「世の中の心配事の大半は、お金で解決できる」ことも、実のところ真実ではあるなぁ、と思うんです。

ちょっとイメージしてみて欲しいんですが、世界大恐慌みたいなことが発生して、世の中の多くの企業が稼働しなくなったとしたら、どんな人が生活に困るでしょう?

恐らく、エンジニアや職人さん、製造部門、事務部門の方たちだと思います。会社から給料が支払われなくなり、そうなるとお金を得る手段が途絶えてしまいます。

逆に、そんな状況でもなんとかなる人は、営業職の人たち。もしくは、自分で直接「売る」ということを行っている商店や自営業の人だと思います。

何かの価値をお金に換える瞬間、そこに直接携わる人たちは、多分大丈夫です。

つまり、世の中が大きく変わったとしても、エージェントさんは大丈夫。でも、エンジニアはどうでしょう・・?

フリーランスのエンジニアとして活動している方で、エージェントに頼らず自分で仕事を取れる人というのは、かなりの少数派かと思います。

例えば、自分のスキルを活かして小さな企業の業務改善をしたい、と思ったら、自分で仕事を取りに行けばいい。でも、多くのエンジニアは、そういった経験が無いので、結局のところエージェントさんからの仕事にそのまま従事し続けることになります。

逆に、エンジニアがマーケティングや営業のスキルを身に付ければ、生きていくうえで最強のスキルを手にすることが出来るんじゃないかと思っています。

例えば、僕ならセミナーを開催して経営者とのつながりを作るでしょうし、もしくはネット広告を回し続けて、コンサルティングにつなげていくと思います。


必要なスキル


案件によって当然言語が変わってきますので、その言語に関する知識は必要ですが、どれくらいの深さが必要か?となると、実のところかなりマチマチです。

参加したその案件に依っては、ガリガリコーディングを進めることを求められる場合もありますし、なんだか資料作成ばっかり頼まれてコーディングできないストレスが溜まる・・なんていう場合も。

共通して感じるのは、言語特有の細かい部分よりは、

Subversionやgit等のバージョン管理がきちんと使える結局はDB使うので、SQLの経験は高い方がいい人のマネジメントは多分しないので(される側なので)リーダー経験はほぼ不要

といった辺りが重要な気がします。

面談時に、どこまでのスキルを求めているのか?はきちんと確認すべきですし、不安であれば技術面が分かる主任クラスの人とお話した方が良いかもしれません。

が、基本的には先方も「フリーランスのエンジニア=スゴイひと」なんてことは全く思っていないので、過度な期待はしていません。イメージとしては「C#初級編」のような書籍の内容が分かっていれば、それほど問題にはならないかと思います。

あとは、業務系が多いので、SQL周りは習熟度が高いと喜ばれます。複雑なjoinなんかを読み解けるスキルはあると良いかと思います。


Javaの人手が足りない、という声をよく聞きますし、ニーズの高さでいえば、Java・C#になるかと思います。

なんとなくの感覚ですが、phpのニーズはあるものの、大抵は上記の2つに比べて単価が低く設定されているような気がします。

フリーランスになる前に、Java・C#のプロジェクトを経験しておいた方が、選択肢は広くなるかと思います。