「フリーランスに興味はあるけど、自分のスキルや経験でやっていけるの?」
「まだまだエンジニアとしては実務経験が浅いけど、フリーランスでやっていける?」
そんな不安や疑問を抱えているエンジニアの方は多いのではないでしょうか?
フリーランスエンジニアとしてやっていくために必要だと思うスキルについて、プログラミング経験半年で独立し、フリーランスエンジニアとして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の案件としては、他にテスターやサーバー監視、テクニカルサポートなどもあります。
未経験でもフリーランスエンジニアになれる!3つの方法をご紹介
エンジニアとしてスキルアップし続けたいなら会社員がおすすめ
エンジニアとして「新しい技術に触れること」や「スキルアップをすること」の優先度がかなり高い人は、一概には言えないのですが、フリーランスよりも会社員として転職を検討する方が良い場合もあります。
フリーランスとして独立する場合、当然ですが、自分の収入を自分自身で作っていく必要があります。
経験スキルをそのまま活かせる仕事の方が高い報酬を稼げるので、自分が即戦力としてコミットできる案件を選びがちです。
できないことにトライしようとすると、金額は下がってしまうため、なかなかスキルを拡張していくことが難しくなってしまいます。
そのため、「プログラミングをすることが好きで、常に技術を突き詰めていきたい」という人は会社員として毎月安定した収入を確保しながら、次の開発で新しいフレームワークを使ってみよう、新しい言語を触ってみようということができる環境を選択するのが良いかもしれません。
フリーランスや独立に興味のあるエンジニアの方へ
株式会社adanでは、独立やフリーランスを目指すエンジニアの方への転職・キャリア相談やフリーランス案件の紹介・サポートを行っています。
ご紹介しているのは、大手企業や人気企業の案件が中心で、安心で働きやすい優良求人のみを取り扱いしています。
「もっと年収アップしたいけど、どうしたらいいかわからない」「エンジニアとしてのキャリアに悩んでいる」「フリーランスに興味があるから、話だけ聞いてみたい」という方は、お気軽に下記よりお問い合わせください。
現役のエンジニアとしても活動していますので、同じ視点でアドバイスやお力になることができると思います。
企業の情報やエンジニアとしてのキャリアアップの方法、現在の待遇(給料・報酬)、未経験からのステップアップ方法などのご相談を受け付けています。
お気軽にお問合せください。