会社を辞めて、いざフリーランスエンジニアとして独立を考える時、「自分はフリーランスになれるのか」「フリーランスに向いていなかったらどうしよう」と不安になることがあります。私自身もそのような不安を持つ一人でした。
そこでここでは、「フリーランスエンジニアに向いている人の特徴」をまとめました。
ただし今の時点で以下のような特徴に当てはまっていなくても、フリーランスとしての独立を諦める必要はありません。大切なことは、「フリーエンジニアが置かれる環境」や「独立してから求められる能力」を知ることです。
それらを知ることで、フリーランスになって「想像と違った」ということが無くなります。
目次
自立している
フリーランスエンジニアに向いている人の特徴として「自立していること」が挙げられます。フリーランスになると案件の獲得から請求書の発行まで、すべて自分で行わなければいけないからです。
具体的には、以下のような人が「自立している」と言えます。
自己管理(体調、スケジュールなど)、オンオフの切り替えが得意
まずは「自己管理ができる」ことです。
フリーのエンジニアの場合、仕事を早く終わらせたいために、土日や深夜にも仕事をすることがあります。しかしそのような働き方をして、「身体を壊してしまうエンジニア」が多くいます。
フリーランスは会社員と違い、有給休暇はありません。体調を崩して仕事ができないと、収入を得ることはできません。そのため、「定期的に運動をする」「休みを取る」などの自己管理を徹底すべきです。
私自身フリーランスになってからは、基本的に土日は休んでいます。また、ジムに行ったり、ランニングをしたりしてリフレッシュしています。そうすることで、仕事をする時の集中力を保つことができています。
運動ではなくても良いので、自分なりのリフレッシュ方法を見つけておくことをおすすめします。
一人でいることが苦にならない
次に「一人でいることが苦にならない」ことです。
フリーランスエンジニアは想像以上に「孤独」です。会社員のときのように、上司に相談したり、仲の良い同僚と飲みに行くことはほとんどありません。
常に「誰かと一緒にいないと寂しさを感じてしまう人」はフリーランスの孤独に耐えられないことがあります。
また、「一人で黙々と仕事をすることが好きな人」もフリーランスエンジニアに向いています。社員の場合、オフィスにいると、取引先から電話が来たり、会議に出席したりする機会が多くなります。
フリーエンジニアは「外部のエンジニア」という立場なので、電話が来ることもなければ、会議に出席を求められることも少ないです。フリーのエンジニアは社員のような調整能力よりもむしろ、「黙々と開発を進める力」が求められます。
責任感が強い
「責任感の強さ」もフリーランスエンジニアには必要です。フリーランスエンジニアにとっては、取引先の企業から信頼を得ることが最も大切です。企業からの信頼を得ることができなければ、契約を切られてしまい収入が無くなります。
技術力よりも、責任感を持って任せられた仕事をやり遂げるエンジニアの方が、企業から評価され信頼されます。
私自身、独立した直後は技術力は周りのエンジニアに劣っていました。ただ、自分の力不足によって納期が遅れそうな時には、「休日を返上して仕事をする」など誠意を見せていました。その結果、継続的に仕事を依頼してもらい、単価も上げてもらうことができました。
どんなに技術力のあるエンジニアでも、「何度も納期に遅れる」「不具合を出してもすぐに直さない」など責任感のない行いをしていると企業からの評価は下がります。
取引先企業の信頼を得るために、誠実に仕事をする姿勢がフリーランスエンジニアには必要です。
お金の管理ができる
「お金の管理ができる」ことも自立している人の特徴です。フリーランスになると、会社員の時と比べて、毎月振り込まれるお金が一気に増えます。
そのため、「収入が増えた」と勘違いしてしまうことがあります。フリーランスの場合、毎月振り込まれる「売上」から経費や所得税、住民税などの税金を支払わなければいけません。
税金の支払い額は「確定申告」によって決まります。1月〜12月までの売上に対する税金の支払いは翌年の3月です(口座引き落としの場合は4月20日頃)。その時に貯金が無ければ、税金を支払うことができません。
「税金がどれくらいかかるのか」を意識し、お金を管理する力がフリーランスには必要です。
一方で、エンジニアとしての能力を高めるためには積極的にお金を使うべきです。有料の技術セミナーへ参加したり、書籍を購入するなどです。新しい技術を知らないエンジニアは企業から評価されません。税金の心配をして貯金をするばかりでなく、自分に投資をすることも必要です。
技術力とコミュニケーション能力がある
フリーランスエンジニアには「技術力」と「コミュニケーション能力」の両方が求められます。
ただ、極めて高度な技術や飲み会でのコミュニケーション能力は必要ありません。企業が求める技術力・コミュニケーション能力を身につける必要があります。
企業が求める技術力・コミュニケーション能力とは、以下のようなものです。
幅広い技術を使える
まず、幅広い技術を使えるエンジニアは企業からの評価が高いです。幅広い技術とは、「複数のプログラミング言語を習得している」「設計〜テスト工程までを経験している」「インフラ、サーバサイド、フロントエンドの技術に精通している」などです。
幅広い技術を使えることは、「基礎的な技術の基盤がある」ことを証明しています。そのため、「新しい技術の習得も早い」という印象を企業に与えます。
幅広い技術を使えるエンジニアは開発メンバーとしてだけではなく、「社内のエンジニアに対するアドバイザーのような役割も果たしてくれる」と企業が考えるため、評価が高くなります。
20代の若手エンジニアは、一つ一つの技術の経験年数はベテランエンジニアに劣るため、幅広い技術を身につけ企業から評価を得ることをおすすめします。
専門的な技術に特化している
「幅広い技術を持つエンジニア」とは正反対な特徴ですが、特定のプログラミング言語やWebフレームワークの経験が長く、「特化した知識を持っているエンジニア」も企業からの評価が高いです。
企業が導入している技術に精通しているエンジニアがいれば、プログラミング言語特有の不具合など、社内のエンジニアで解決できない問題を解決してくれることがあるからです。
社内エンジニアの教育に貢献してくれたり、ノウハウを残してくれるため、専門的な技術に特化したエンジニアは企業から求められます。
40歳を超えてからフリーランスになる場合は、上記のような「専門的な技術に特化したエンジニア」として企業に売り込むほうが単価が高くなる傾向にあります。
認識違いが起こらないようなコミュニケーション
企業が求めるコミュニケーション能力とは、「認識違いが起きないためのコミュニケーションをとる能力」です。
企業には「ITを使って作りたいサービス」があります。そのサービスを作るために、フリーランスエンジニアと契約します。つまり、企業の目的は「サービスを作ること」であり、「きれいなコードを書いてもらうこと」ではありません。これが、どんなにきれいなコード書けても評価されない理由です。
企業から信頼を得るには、プロジェクトマネージャと常にコミュニケーションを取り、開発中のサービスをより良くしていくことが必要です。少しでも認識にずれがありそうな仕様は確認しながら開発を進めることを徹底してください。
「開発後に仕様の誤りが発覚し、一から作りなおす」というプロジェクトは多々あります。また、その原因の多くは、エンジニアが確認をせずに開発を進めてしまうことにあります。
「コミュニケーションを取りながら開発を進めることができるエンジニア」は意外と少ないため、これができると企業から重宝されます。
安定よりも変化を求める
安定よりも変化を求める人はフリーランスエンジニアに向いています。フリーランスには会社員のような安定がありません。仕事環境、収入面において常に変化します。そのため、「変化を求めている」「変化を楽しみたい」人はフリーランスの環境を楽しむことができます。
「変化を求める人」は具体的には以下のような人です。
色々な環境で仕事をしたい
まずは仕事環境の変化です。フリーランスになると、会社員とは違い、複数の企業と契約して仕事をします。契約期間はさまざまですが、一緒に仕事をする人が3ヶ月ごとに変わることもあります。
「ずっと同じ人と働いているほうが楽」という人はフリーランスに向いてないかもしれません。
また、契約する企業によって「求められる役割が違う」こともあります。私の場合、週3日は企業に常駐してコードをガリガリ書いていました。一方で週2日は別の企業でプロジェクトマネージャとして、開発メンバーのタスク管理と進捗管理を任されていました。
企業によって求められる役割は様々です。そのため、「求められる役割に応じて柔軟に対応する」能力が必要です。「自分のやりたい仕事にこだわり過ぎる」とフリーランスとしての評価を下げてしまうこともあります。
新しい技術の習得に貪欲
次に技術に対する変化です。IT業界は技術のトレンドが5年単位で変わっていく業界です。今使われている技術が5年後には使われていないことを常に想定しておくべきです。
例えば、現在はWebフレームワークとしてRubyではRuby on Rails、PHPではLaravelが主流ですが、今後はGo言語やHaskellなどの関数型言語がWeb開発の主流になるかもしれません。
そもそも、Web開発にエンジニアが必要なくなる可能性もゼロではありません。そうなった時に、Web開発しかできないエンジニアは生き残ることができません。人工知能(AI)に使われる機械学習の知識や、機械学習のモジュールが豊富に組み込まれているPythonなどの言語を習得するなど、将来を見据えて技術を身につけておくべきです。
他にも、インフラの管理が、AWS(Amazon Web Service)からGCP(Google Cloud Platform)へ変わっていく流れもあります。AWSを使ったことがあるエンジニアは多いですが、GCPはまだまだ少ないです。自分でGCPを使いサーバを立ててみるなど、少しでも触れておくと良いでしょう。
収入を増やしたい
最後に収入の変化です。会社員では月収が上がるとしても、数万円単位です。しかし、フリーランスになると、10万、20万という単位で収入を一気に増やすことが可能です。
これは、フリーランスの収入が企業との契約によって決まり、交渉によって収入を上げることが出来るからです。
また、エンジニアの価値は企業によって変わります。同じ技術レベルのエンジニアでも、単価80万円が上限と考えるの企業があれば、100万円を超えても契約したいと考える企業もあります。企業によってエンジニアの価値が変わるため、フリーランスエンジニアは高く評価してくれる企業を常に探すべきです。
さらに、1つの企業とだけ契約していると、足元を見られ、単価を低くされてしまうことがあります。そのため、複数の企業と契約し、1つの企業に依存しない状況をつくることをおすすめします。
独立後に身につくこともある
フリーランスエンジニアに向いている人は、「自立している」「技術力、コミュニケーション能力の両方がある」「変化を求める」などの特徴があると説明しました。
ただ、独立する時にすべてを持っている必要はありません。フリーランスになり孤独に耐えるうちに、「一人でいることに慣れる」こともあります。「責任感」や「お金の管理」も独立後に身につける人が多いです。
技術力やコミュニケーション能力はフリーランスとして危機感をもっているほうが身に付きやすいこともあります。
重要なことは、フリーランスエンジニアが置かれる環境や必要とされる能力を理解し、それらを身につける努力をして成長し続けることです。