フリーランスの エンジニアに 必要なスキル

フリーランスへの道

フリーランスのITエンジニアになるための最低限必要なスキル

 

hillpoint
ITエンジニア半分、ブロガー半分。
複業フリーランスのhillpointです。

 

私、ITエンジニアとしては、10年以上、フリーランスとしても、3年目となりました。

会社員時代は、プロジェクトマネージャーしており、エンジニアの募集・採用を多数見てきました。

そんな経験から、フリーランスのITエンジニアになるための最低限必要なスキルはこの通りです。

・パソコン(特にOffice)が使えること

OS(特にLinux)が使えること

DB(つまりSQL)が使えること

・バージョン管理(GitもしくはSVN)が使えること

・Webページまわり(つまりHTML、CSS、JavaScript)が使えること

・メジャーなプログラミング言語が少なくとも1つ習得できていること

※ プログラミング言語だけ、使えるではなく、習得と記載しています。

習得とは、そのスキルを熟知しており、使いこなせること。使えるぐらいのレベルは不十分。

あとは、一般的な社会人としての常識があれば、オッケーです。

多い?少ない?

技術的なこと以外で、このようなスキルは、無くても大丈夫です。(今なら)

・営業力
・コミュニケーション力
・マネージメント力
・バイタリティ
・企画提案力

それぞれ、実例を交えて、説明します。

 

専門用語について

このサイトでは、ITエンジニアが使う専門用語を使用しています。
アイコンがついている専門用語は、「知らないと恥ずかしいITエンジニアの用語集」ページに説明を記載しているので、専門用語の意味が解らない場合、リンクをタップして、説明を参照してください。

 

フリーランスのエンジニアになるための最低限必要なスキル

冒頭にも書きましたが、フリーランスのエンジニアとしては、技術面においては、プログラミングができるという以外に、最低限必要なスキルがあります。

未経験な方は、大変でしょうが、これが使えないのでは、いくらプログラミングができても、システムを開発することはできません。

1個1個説明します。

 

パソコン(特にOffice)が使えること

まぁ、これは、そうです。

エンジニアは、パソコン使って仕事します。。。

特にOfficeで、ExcelやWord、Powerpointは、プログラマーと言えど、毎日使います。

パソコンどれにしたらいいか?迷ったら、この記事参考にしてください。

あわせて読みたい
フリーランスエンジニアがもつべきパソコン
フリーランスのエンジニアが持つべきパソコン

続きを見る

 

OS(特にLinux)が使えること

エンジニアが開発するシステムやサービスは、だいたいが、サーバと呼ばれるコンピューターに配置されます。

パソコンが、個人向けのコンピューターであるのに対し、サーバは、複数の人が使うコンピューターです。

このサーバに利用されるOSで最も多いのがLinuxとなります。

サーバは、ファイルやフォルダ等の考え方は、パソコンと同じですが、パソコンのようなデスクトップ環境ではなく、コマンドプロンプトにコマンドを入力して利用します。

サーバには、いろんな機能があり、突き詰めれば、かなりの勉強・経験が必要ですが、それらは、インフラエンジニアの仕事なので、普通のエンジニア(利用者)は、サーバへファイルを送信したり、サーバ上でファイルを移動したり、プログラムを実行したりできれば問題ありません。

使えるようになるというレベルで勉強は必要です。

OSとLinuxについて、基礎から学ぶなら、この記事見てください。


 

DB(つまりSQL)が使えること

エンジニアが開発するシステムやサービスでは、大半のシステムがDBを利用します。

DBを利用する際は、SQLというDBからデータを取り出したり、書き込んだりする言語を利用します。

SQLは、プログラミング言語の1個ではありますが、DBにあるデータの読み書きに特化するため、単純なプログラミング言語となります。

なお、DBもいろんな機能があり、突き詰めれば、かなりの勉強・経験が必要ですが、それらは、DBエンジニアの仕事なので、普通のエンジニア(利用者)は、DBのデータの読み書きができること、テーブル等の構成要素を変更できるといったDBを利用するための知識の習得だけで問題ありません。

DBとSQLについて、基礎から学ぶなら、この記事見てください。

あわせて読みたい
DB 超入門
データベース(DB)ってなに?から始めるDBの基礎知識とSQLの使い方

続きを見る

 

バージョン管理(GitもしくはSVN)が使えること

システムやサービス開発で利用される様々構成要素(例えば、プログラムのソースコードやドキュメント、設定情報等)は、バージョン管理ソフトを利用して、バージョン管理されます。

バージョン管理ソフトは、ファイルの履歴を管理するだけでなく、複数の人が1つのファイルを変更するような場合でも、そのファイルの整合性を保つ機能などもあります。

バージョン管理ソフトは、アプリを利用して簡単に利用できるので、利用方法を習得しておきます。

今は、Gitというソフトが主流です。

少し前までは、SVNというソフトが主流でした。

どちらかを使えれば問題ありません。

今から勉強するなら、Gitです。

Gitの基礎を学ぶなら、この記事見てください。

あわせて読みたい
Gitってなに?
Gitってなに?から始めるGitの基礎知識と使い方

続きを見る

 

Webページまわり(つまりHTML、CSS、JavaScript)が使えること

フロントエンジニアやWeb系のエンジニア以外であっても、Webページまわり(つまりHTML、CSS、JavaScript)が使えるレベルのスキルは必要です。

今時のシステムやサービスにおいて、Webページまわりを一切使用しないシステムはありません。

Webページまわり(つまりHTML、CSS、JavaScript)も、突き詰めれば、かなりの勉強・経験が必要ですが、それらは、フロントエンジニアの仕事なので、普通のエンジニアは、HTML、CSS、JavaScriptで、簡単なWebページが作れるレベルで問題ありません。

なお、フロントエンジニアやWeb系のエンジニアは、当然ですが、使いこなせるレベルの習得が必要です。

また、フロントエンジニアやWeb系のエンジニアは、JavaScriptも使いこなせるベルの習得が必要です。

HTMLの基礎を学ぶなら、この記事見てください。

あわせて読みたい
HTMLってなに?
HTMLってなに?から始めるHTMLの基礎知識と使い方

続きを見る

CSSの基礎を学ぶなら、この記事見てください。

あわせて読みたい
CSSってなに?から始めるCSSの基礎知識と使い方

続きを見る

JavaScriptの基礎を学ぶなら、この記事見てください。

あわせて読みたい
Java Script ってなに?
JavaScriptってなに?から始めるJavaScriptの基礎知識と使い方

続きを見る

 

メジャーなプログラミング言語が少なくとも1つ習得できていること

エンジニアとして仕事をするためには、プログラミング言語を使って、プログラミングができることが必須です。

プログラム言語は、いろんな種類があり、多種多様です。

全てを使えるようになることは、現実的に困難です。

ですが、多種あるプログラム言語でも、特徴こそあるものの、基本的な考え方は、どれも同じなので、メジャーなプログラム言語を最低1個、習得できていれば問題ありません。

メジャーなプログラミング言語とは以下のような言語です。

・Java
・Go
・Python
・Php
・Ruby
・Kotlin
・Swift

なお、先に書いたSQLや、Web系で利用されるHTML、CSS、JavaScriptもプログラミング言語と言えば、プログラミング言語ですが、領域や用途が限定されているので、習得しても、1個にカウントはできません。

JavaScriptを熟知していても、それだけでは不十分で、上記のメジャーなプログラミング言語を最低1個、習得しておく必要があります。

フロントエンジニアやWeb系であれば、上のようなメジャーなプログラミング言語に加えて、JavaScriptを習得する必要があります。

初めてのプログラム言語の選び方は、この記事見てください。

あわせて読みたい
初めての プログラミング言語
フリーランスエンジニアになるために最初に勉強すべきプログラミング言語

続きを見る

 

フリーランス向けの案件で求められるスキルの実例

ここに、フリーランス向けの案件(仕事)の求人数の一例を紹介します。

フリーランスエンジニア向けの求人サイトの【フリーランススタート】から調べてきました。

下の画像は、案件検索画面での言語ごとの求人数なんですが・・・

フリーランススタート 開発言語で探す

フリーランススタート 開発言語で探す(一部です。)

 

Java 2万件以上
PHP 1万件以上
Python 3千件以上

といった感じで、案件があります。

メジャーなプログラミング言語のどれか一つでも取得しておけば、案件はあるということが解ります。

なお、注意すべきが、フリーランス向けの案件は、必須スキルにプログラミング言語だけ記載されているケースがあります。

例えば、必須スキル:Javaとなっていたとします。

ですが、実際は、暗黙の必須スキルとして、以下があります。

・パソコン(特にOffice)が使えること
・OS(特にLinux)が使えること
・DB(つまりSQL)が使えること
・バージョン管理(GitもしくはSVN)が使えること
・Webページまわり(つまりHTML、CSS、JavaScript)が使えること

フリーランス向けの案件では、プログラミングができるということは、上のスキルも持っているということになります。

 

プログラミング以外のたくさんのスキル。どうやって習得するか?

未経験の方から見ると、プログラミング言語以外に、OSやDBやSQLとか、そんなにスキルが必要なのか?と思うかもしれません。

ですが、OSやDB、バージョン管理といったものは、所詮ツールであり、使うものなので、使い方を知るといった勉強となります。

現役のITエンジニアの人は、OSやDB、バージョン管理といったところは、常に使っているので、使い方を知っているというものです。

大工さんが、ノコギリ使うようなもんで、ノコギリの使い方を知っておけば良いというものです。

ある程度、これらのツールの使い方を理解したなら、プログラム言語の勉強の中で、OSやDBを使い、実践練習すると習得が早いです。

勉強というよりは、使うことになれる。という感じです。

具体的には、勉強で作ったプログラムであっても、バージョン管理ソフトを使って、バージョン管理をしたり、無料のサーバを借りて、サーバへアップしたり、Web上に公開したりすることで、これらの使い方を習得していくと良いでしょう。

 

なお、ここまでスキルの詳細を見てきて、自力、独学は無理そうと思った方は、プログラミングスクールに行くと良いです。

プログラミングスクールでも、当然、ITエンジニアに必要なスキル教えてくれます。

プログラミングスクールについては、この記事見てください。

あわせて読みたい
プログラミングスクールランキング(オンライン編)
【現役SEがおすすめする】実務に役立つプログラミングスクールランキング(オンライン編)

続きを見る

 

フリーランスのエンジニアになるために実は不要なスキル

フリーランスのエンジニアは、サラリーマンからの独立であったり、起業といった風にとらえると、技術面以外にも、いろんなスキルが必要じゃないか?って思いますよね。

例えば、これら。

・営業力
・コミュニケーション力
・マネージメント力
・バイタリティ
・企画提案力

などなど

思えば、会社員のころは、フリーランスなるなら、こんなスキルが必要で、とてもとても自分にはできないと思っていました。

自分で起業できるぐらいのスキルが無いと稼げないんじゃないか?と勝手に思っていました。

仕事が無くて困ってしまったり、お金が無くなって困ってしまったりするんじゃないか?と思っていました。

いざ、なってみると、意外に・・・特別???

このようなスキルは、無くても問題ないということが解りました。

どういうことか?解説します。

 

営業力

昔は、必要だったと思います。

フリーランス・個人事業主というものが、あまり認められていなかった時代であれば。

企業勤め、サラリーマンというものが絶対的だった時代であれば。

ですが、昨今、自由な働き方が重要視され、政策的にも追い風となり、特別、営業力を持たずとも、仕事が探せますし、仕事ができます。

時給いくら、月額いくらのSES契約であれば、営業力ゼロでも問題ありません。

また、フリーランスのエンジニアとして、活動していくと、今月の生活費が?とか、支払いが?とか、いろんな局面があり、サラリーマンの時は知らなかったいろんな事を知るので、営業力というものは、自然に身に着きます。

 

コミュニケーション力

これも昔は必要でしたが、今や特段優れている必要は無くなってきました。

コミュ障でも問題ないです。

逆に、フリーランスのエンジニアは、コミュニケーション力が低いほうが、それっぽいかもしれません。

また、新型コロナの影響もあり、リモートワークが当たり前となりました。

仕事探し、案件探しは、全てネットもしくはエージェントを利用し、面談・打合せもZoom利用。

実際の業務も、全てリモートといった案件も多数あります。

もちろん、コミュニケーション力って、重要ですが、自信の無い方は、自信が無いなりの案件の選び方、仕事の進め方が選べます。

 

マネージメント力

フリーランスのエンジニアに、複数の人をマネージメントする力がいるか?というと、いらないです。

だって、フリーランスですから。

個人事業主ですから。

ただ、フリーランスの案件には、プロジェクトマネージャープロジェクトリーダの案件もあるので、このようなポジションを希望する方は、必要です。

逆に、自分自身を管理する力は必要です。

フリーランスになると、時間の使い方が自由となります。

特にリモートワークや複数の案件をこなすパラレルワークとなると、自分の時間の使い方がとても重要となります。

どうしても家だとさぼってしまうとか、遊んでしまうなんて人は、人を管理するなんて事はほっておいて、自分自身の管理能力をつけたほうが良いです。

自分自身を管理するというよりは、モチベーション、やる気のほうが重要な気もします。

 

バイタリティ

「バイタリティ」とは、「活力」「生命力」「エネルギー」といった人間のいきいきとした旺盛さを表す言葉です。

独立・起業するような人には、必要です。

フリーランスのエンジニアにとっては、あるにこしたことは無いですが・・・

特別無くても、大丈夫です。

ああ。この案件無理。やめちゃおう。

ああ。フリーランス、無理。会社員に戻ろう。

ぜんぜんできます。

なお、フリーランスになってみようか?なんて考えている時点で、他の人よりはバイタリティあるというのも本当です。

 

企画提案力

無くても問題ありません。

極端な話、プログラマーであれば、企画・提案する機会はあまりありません。

システムエンジニアの場合、提案ベースでの仕様検討といったシーンはありますが、ビジネスレベルでの企画提案力というのは必要ないです。業務レベルの提案ですかね。

なお、起業するとか、自分のサービスなりシステムなり作り、売り込みたいというなら必要です。

それは、フリーランスのエンジニアのその先なので、フリーランスのエンジニアになってから身に着ける・習得することも可能です。

 

まとめ

実際のフリーランスのエンジニアは、独立と言っても、なにか自分でシステムなりサービスなりを作り、それを運用して生計をたてているわけでなく、(たてている方もおられるとは思います。)企業から募集される案件をやっていたり、会社員と同じように企業に入り込んで仕事されている人もたくさんいます。

もちろん、上に書いたスキル・力は、あるにこしたことはないです。

ですが、最初からはいらないと言うか、フリーランスのエンジニアになるために、必要か?と言われると特別必要なスキルでは無いです。

起業する!会社作る!世の中を変える!なんて人には必要です。

フリーランスのエンジニアになるならば、「代表的なプログラミング言語の1個が扱える」のほうがよっぽど重要なスキルです。

また、上のようなスキルは、フリーランスとして活動していけば、自然に身に着くスキルもあります。

なので、このあたりのスキルは、持ってようが持ってなかろうが、自信があろうが、無かろうが、フリーランスのエンジニアになれるというものです。

 

フリーランスのエンジニアとして生きていくために、スキル以外に大切なもの

最後に、これは、私の意見であります。

実際、今回紹介した最低限必要なスキルを保有するエンジニアがフリーランスになったら、フリーランスのエンジニアとして、特段問題なく活動できるでしょう。

おおよそ収入はアップするでしょうし、自分のやりたい事、したかった仕事ができます。

時間も自由度が増すでしょう。

ですが、フリーランスのエンジニアというのは、目的地でなく、通過点だと思うんです。

なんのためにフリーランスとなるのか?

フリーランスを経て、なにになりたいか?ビジョンが大切です。

将来、起業したいとか、会社を設立したいとか、みんなを幸せにする仕組みを生み出したいとか、いろんな夢・目的・ビジョンを持ってフリーランスになることが大切です。

大きな夢だけじゃなく、エンジニアが好きなら、どんなエンジニアになりたいのか?、プログラミングが好きなら、どんなプログラマーになりたい?どんなシステムを作りたい?など。

なぜなら、フリーランスのエンジニアになることは、簡単ですが、ある程度、仕事をしていくと、会社員と差が無い?といった感じになるからです。

仕事はしたくないけど、生活のため、仕事をして、お金を稼ぐ。

そんな感じです。

フリーランスは、ゴールではなく、自分のなりたいものになるための通過点であると思って、フリーランスになることが大切です。

-フリーランスへの道

© 2021 CuF. Powered by AFFINGER5