エンジニアの世界は、スキル不問!の様な謳い文句があったり、逆に上を見れば見るほどハイスキルな方々は途方もなく存在します。
私自身、プログラミングが全く得意ではなかったので、
周りの人のレベルの高さに、エンジニアとしてやっていけるのか崖っぷちだった位です。
その為フリーランスエンジニアはフルスタックで、途方もないスキルを保有している人の集まりとさえ思っていました。
フルスタックエンジニアとは、システム開発やウェブ開発などのエンジニアリング業務において設計から開発・運用まで全ての行程を手掛けることができるエンジニアを指します。
~中略~
サーバーサイドの開発であろうがインフラストラクチャの設計であろうが、分野にとらわれずに幅広い仕事をこなせる点はフルスタックエンジニアの特徴です。
引用元:https://www.bigdata-navi.com/aidrops/3126/
私自身まだまだ修行の身ではありますが、いざ自分がフリーランスエンジニアになり同業者を見渡してみると、特に途方もないスキルが必須という訳でもないと思うこの頃です。
未経験からフリーランスエンジニアを目指す場合の記事もありますので、併せてご覧ください↓

フリーランスエンジニアになる上で必要なスキルを、フリーランスとエンジニアの視点で分けて考察していきます。
企業との準委任契約という前提での考察となりますので、ご了承ください。
準委任契約とは
受注者が約束した時間だけ「発注者の仕事を手伝ってあげる」「代わりにやってあげる」という契約で、仕事を完成させる義務を負いません。
引用元:https://www.atmarkit.co.jp
フリーランスエンジニアは極論、誰でもなれる。
スキル云々の前に、やはり最初に述べておくことはこれだと思います。
フリーランスエンジニアは医者や美容師などとは違い、必須資格が必要ありません。
その為、明確にこのスキルが必須!と述べることは難しいです。
なので「こんな考え方もあるんだな~」と有用な部分がありましたら参考にしていただけたら幸いです。
エンジニアのスキル編
まずは、フリーランスエンジニアの「エンジニア」部分を考察していきます。
プログラミングスキル
前提として、求められるスキルレベルは環境によって変わるので断言はできません。
そのため採用面談の際には、自分のスキル感をしっかりと先方企業に伝える必要があります。
とは言え大抵の案件は、コードが読める事は大前提です。
私としてはプログラミングスキルは最低限必要なスキルという位置づけです。
通訳の人なのに、その言語を中々話せない人がいたら仕事になりませんよね?
エンジニアにも同じことが言えるかと思います。
また、駆け出しの頃やりがちなパターンとして
という姿勢の方もいらっしゃいますが、この状態は絶対にNGです。
その一行が原因でバグが埋め込まれるなんていうのはザラにあります。
最低限調べながらでも、設計書に記載された内容を実装できる力があれば食らいつけるかと思われます。
ただ基本はスケジュールが引かれており、納期との勝負となります。早く正確に実装できるに越したことはありません。
その為全てを調べて実装していたら納期に間に合わなくなりますので、
案件の設計書を見た際に、どれくらいの実装期間がかかるか見積もる力が必要です。
顧客折衝(コミュニケーションスキル)
エンジニア未経験者の方だと、
と言うのを見るのですが、エンジニアはあくまでもものづくりで、案件依頼者の要望をかなえる人です。
いかに案件依頼者の要望を汲み取れるか、顧客とのコミュニケーションが重要だと考えています。
要件の摺り合わせをせず独りよがりな実装を行った結果、実は認識違いで要望と違う実装をしてしまうパターン。
プログラマーの方にありがちなのですが、コミュニケーションが苦手で悪い例を引き起こしている方は本当に多いです。
案件チームのスキルにはよりますが、設計書の記載漏れや考慮漏れなんてパターンは往々にしてあります。
設計書だけに頼らず、機能を実現する際に、顧客に対して提案していくところも必要だと感じています。
またこれらのスキルは、顧客の信用にもつながり、案件の継続にも繋がってきます。
学び続ける力
エンジニアは学びの連続です。プログラミングができてはい終わり、ではありません。
恐らく現状に満足して、学ぶのを辞めたフリーランスエンジニアは中々いないのではないでしょうか?
先端技術というのは日々進化し続けていきます。
例えば私はスマホエンジニアですが、iPhoneなんて毎年新しい機種とOSが出ています。
その毎年の変更に対して、しっかりとキャッチアップしていかなければなりません。
また契約先の案件によって開発手法が違ったり、様々な案件の特色に対応していかなければいけないので、業務上で学ぶ点も多く存在しています。
現状に満足せず、学ぶ姿勢を常に持つのもスキルの一つではないでしょうか?
フリーランスのスキル編
次はフリーランスとしてのスキルを見ていきましょう!
適正単価の判断力
どれほどのスキルを持っていたとしても、適正単価を判断できていなければフリーランスと言えど低単価の契約に持ち込まれます。
これはエージェントの営業でもそうです。大抵の場合、
と言う話から始まります。
この場合、営業は大抵希望単価の案件しか持って来ないといってもいいでしょう。
なぜなら高単価案件でも、その分だけエージェントがマージンを抜いている可能性があるからです。
搾取されないためにも、
・自分のスキル感
・現状の技術分野の相場
・人材供給度
等は常に変動するので、しっかりと把握するスキルを身につけておいた方がいいです。
案件の判断力
フリーランスエンジニアは案件の条件によって左右されます。
その案件が自分のスキル感にマッチしてるか、ブラック案件じゃないか等を判断するスキルは必要です。
こちらは別途記事まとめておりますので、併せてお読み下さい↓

費用・経費管理力
ここが案外後回しにしがちなのですが、自分が経費として使ったものをしっかりと計上する事です。
忙しいからと後回しにして、年末阿鼻叫喚の嵐になるのは毎年恒例なのではないでしょうか。
芸能人の方でも、滞納してたみたいなニュースがちょろちょろ耳にしていると思います
最近だと徳〇さんとか…
私の周りにいる個人事業主の人たちは、毎月しっかりと経費を計上し、管理できている方が多い印象があります。
また、会社員とは違って自分で納税しなければなりません。
故に報酬が口座に入りますが、全てが自分のものではありません。納税分を残したお金のやりくりが必要になってきます。
よくTwitter界隈では自称フリーランスの方々で、フリーランスになった途端に
みたいな人たちが出ますが、税金分は残しているのかな?年内の月収目途は立っているのかな?と心配になります。
浪費せずに、お金を管理するスキルは必須かと思われます。
体調管理
いうまでも無いかもしれませんが、体調管理も立派なスキルのうちの一つです。
フリーランスは会社のように有給はありません。
この身一つが資本なので、ケガや病気で入院したら収入はゼロです。
いかに自分を律して生活できるかが肝になってきます。
特に自分の休みなども決定できるので、
夏休みなどの長期休暇時に、昼夜逆転していたような方々は要注意です。
まとめ
冒頭でも触れた通り、フリーランスエンジニアは誰でもなれます。また、年齢制限はほぼありません。(たまに年齢制限は見かけますが、それ位です)
その為焦ってなるものではないと考えています。
またフリーランスは会社員のように給料が担保されていないため、メンタル勝負になるところが多いです。
(とはいえ自分でフリーランスエンジニアになる自信がつかない事にはなれませんが…)
フリーランスエンジニアを目指す方々は、上記に挙げてきたスキルが自分の中で納得したレベルに達した時、挑戦してみるのも良いと思っています。