これがあれば大丈夫!フリーランスエンジニアに必要なスキルを現役フリーランスが解説

「フリーランスに興味はあるけど、自分のスキルや経験でやっていけるの?」
「まだまだエンジニアとしては実務経験が浅いけど、フリーランスでやっていける?」

そんな不安や疑問を抱えているエンジニアの方は多いのではないでしょうか?

フリーランスエンジニアとしてやっていくために必要だと思うスキルについて、プログラミング経験半年で独立し、フリーランスエンジニアとして10年以上やってきた僕の所感をまとめてみました。

フリーランスエンジニアとして活躍するために必要なスキルセット

フリーランスとして、平均以上の単価で、スムーズにお仕事を受けるために必要だと思うスキルセットはこんな感じです。

■必要な知識

  • オブジェクト指向の理解(MVCモデリングのフレームワーク)
  • インフラ周りの知識(Linux系のサーバーやWindowsサーバーなど)
  • バーション管理が使えること

■経験

  • MVCモデリングのフレームワークを使った開発経験2~3年
  • クラウドサーバー(AWS,GCPなど)での開発経験

最も重要なのはオブジェクト指向の理解

面談の際には、基礎であるオブジェクト指向の理解があるかをしっかり見てきます。

組織がしっかりしている発注先は面談中に試験的にプログラミングをさせてくる面接官もいます。

基礎的な考え方がしっかりしていれば、キャッチアップは早いという事実を知っているからです。

なので、基礎を大事にするという考え方は、未経験言語の開発案件に参入する際にはかなり重要なポイントになってきます。

それに、そもそもですが今やほとんどの言語がオブジェクト指向を採用しています。

なので、フリーランスとしていろんなプロジェクトに参加する場合、コードはオブジェクト指向を用いて書かれていることがほとんどです。
※10年前に書かれたソースコードがそのまま残っていいて実際に業務で使われているケースも多々ありますが。。。

プロジェクトの全体像を把握した上で、自分の担当部分の機能実装をするためには、オブジェクト指向で書かれたコードやその構造を理解する必要があります。

オブジェクト指向が分かっていないと、「あれ?この処理ってどのクラスに書くべきなの?」と迷いながら適当に書いてしまった結果、ものすごく見通しの悪いコードを量産してしまうということになりかねません。

フレームワークを使った開発案件をたくさんありますが、そのフレームワークを使ったことがなかったとしても、オブジェクト指向が分かっていれば、キャッチアップがかなり容易になるので、そういった観点でも必須のスキルだと思っています。

環境構築スキルとバージョン管理の経験もあると良い

フリーランスとしてお仕事を受ける場合、必ず初めに開発環境の構築をする必要があります。

そもそも環境が作れないと、開発自体ができないので、コードを書けること以外に、ソフトウェアやサーバーなどのインフラ周りの知識も必要になってきます。
実務レベルでサーバーをいじった経験とかがあるとかなり強いと思います。

また、ほとんどの企業で、gitやsubversionといったプロジェクト管理ツールを使ってプロジェクト管理を行なっているので、こういった管理ツールを使ったことがあると理想です。

チーム開発をしたことがあるという経験は、フリーランスになる上でとても評価される経験・スキルなので、何人ぐらいのどんなプロジェクトでどのような役割を担っていたのか、を話せるようにまとめておくと良いです。

年収をあげたいならコミュニケーション能力を磨くべし

必要なスキルセットについて解説してきましたが、上記のスキルセット以外に、フリーランスのエンジニアとして継続的にお仕事をもらうためには「コミュニケーション能力」が欠かせません。

これまで色んな会社でフリーランスでお仕事を受けていて感じるのが、企業側は技術よりもマインドを重視しているという点です。

コミュニケーション力って何よ!?

ざっくりいいますと、「こいつ、ほっといてもなんとかしてくれるぞ」感を出すことです。
「ほっといても、提案してくるぞ」「ほっといても改善してくれる」と思わせることです。
どんなに高いスキルや経験があったとしても、「なんでも気軽に相談しやすい」「連携が取りやすいから仕事を進めやすい」と企業側に思ってもらえなければ、継続でお仕事をもらうことは難しいです。

エンジニアってどちらかというと「コミュニケーションが苦手」という人が多いので、逆にコミュニケーション力が高い人はそれだけで評価されやすいといえます。

どうやってコミュニケーション力をアピールするのか!?

結論から言うと、「再現性」を言葉で説明することです。
どういうことかというと、

  • どういうトラブルが起きて、どのように感じて、どのように解決したか
  • どんな状況で、どのように感じて、どんな提案をして、どのように改善させたか

を言葉で説明することです。
上記の状況はどの企業でも起こり得ることです、
そのような、トラブルやお仕事に関する改善(予期せぬ状況)に関して、
「あなたの企業でも再現してあげます」と自信を持って言ってあげることです。

予期せぬ状況が起きた場合にどう対応して改善に向かっていけるかを伝えてられた面接官は
「こいつ、コミュニケーション力があるぞ!」と判断します。

これマジっす!

あとは、趣味の話や、興味のある話を適当にすればOKっす。

高い報酬が出る案件ほど、希望者も多いし、優秀なエンジニアが集まる傾向が多いので、そういった案件の面接ほど、技術面よりも人柄を重視しているケースが多いです。
基本的に実務経験が2〜3年あれば、多少新しい技術でもキャッチアップできるだろう、と考えているので、スキルよりも人柄を優先する傾向にあります。

コミュニケーション能力を磨くことは、そのまま年収アップにつながると思います。

未経験OKのフリーランス案件も存在する

実務経験2~3年あると、フリーランスエンジニアとして十分に活躍していけると思います。
では、実務経験がそれ未満だったらフリーランスとして独立するのは難しいのかというと、そんなことはありません。

実際、実務未経験(初心者)OKのフリーランス案件というものも存在します。

PhotoshopやIllustratorのデータをHTMLに落とすなど、HTMLのコーディング系の案件でそう言いった募集が多いので、実務未経験だけど、フリーで仕事を受けたいという方は、この辺りの案件を探してみるといいと思います。
月40万円ぐらいの相場なので、生計を立てていくことは十分可能です。

エンジニア案件とは少しズレますが、未経験OKの案件としては、他にテスターやサーバー監視、テクニカルサポートなどもあります。

※「フリーランス エンジニア 未経験」の記事の内部リンクを貼る

エンジニアとしてスキルアップし続けたいなら会社員の方がオススメ

エンジニアとして「新しい技術に触れること」や「スキルアップをすること」の優先度がかなり高い人は、一概には言えないのですが、会社員としてキャリアを続けていく方がいい場合もあります。

フリーランスとして独立する場合、当然ですが、自分の収入を自分自身で作っていく必要があります。

経験スキルをそのまま活かせる仕事の方が高い報酬を稼げるので、自分が即戦力としてコミットできる案件を選びがちです。

できないことにトライしようとすると、金額は下がってしまうため、なかなかスキルを拡張していくことが難しくなってしまいます。

そのため、「プログラミングをすることが好きで、常に技術を突き詰めていきたい」という人は会社員として毎月安定した収入を確保しながら、次の開発で新しいフレームワークを使ってみよう、新しい言語を触ってみようということができる環境を選択するのが良いかもしれません。


プロに聞いてみる
株式会社adanはエンジニアのキャリアに真剣に向き合っています。
企業の情報エンジニアとしてのキャリアアップの方法、現在の待遇(給料・報酬)未経験からのステップアップ方法などのご相談を受け付けています。
お気軽にお問合せください。