この記事の目次
フリーランスエンジニアとは
フリーランスは言い換えると以前からある個人事業主のことです。
会社などの組織として行動するのではなく、あくまで個人として活動するため仕事の方向性・目標なども含めてすべて自分で決めながら活動するわけです。職種は人それぞれで、マーケティング、コンサル、デザイナーなど非常に多彩な種類があります。
なかでも特に人気が上昇しているのがIT系エンジニア職でしょう。
ただし、エンジニアと言っても以下のように仕事内容はさまざまです。
・インフラエンジニア
・フロントエンドエンジニア
・バックエンドエンジニア
・システムエンジニア
・フルスタックエンジニア
・組み込みエンジニア
他にもさまざまなエンジニア職がありますが、特に業界未経験の人が最初に目標とするならば以下の2つでしょう。
・インフラエンジニア
・フロントエンドエンジニア
どちらも未経験からステップアップしやすいのと、学習するための材料が豊富に存在するからです。具体的な学習方法については次の章から詳しく見ていきましょう!
企業のエンジニアとの違い
企業エンジニアで経験を積んでいくではなく、独学で「フリーランス」として活動する理由としてどのようなことがあげられるのかを紹介していきます。
独学ならではのメリットやデメリットもいくつかあげますので、比較をしてまず自分に合っているのは、どちらかを吟味することはとても重要です。
働く環境
大きな違いとして、企業に所属するということは「休日」と「出勤」が決まっており、ある程度の制約はあるものの立場が「保障」されているということです。また、働いた分だけの給与も保証されています。
一方「フリーランス」はお休みや出勤を自分で決めたり、好きな場所で仕事をこなすことができ、場合によっては企業に勤めるより収益を増加させることも可能です。
しかし、全てを自分で管理する必要があり独学の時間も確保する必要もあるため、セルフマネジメント能力が求められます。
業務内容
企業エンジニアは「会社」の求めるものを作成する必要があり、ある程度の自由はあったとしても、会社の意向に沿うものを作成する必要があります。しかし、研修などもあり基礎を十分に固めたうえで業務を遂行することが可能になります。
フリーランスは、自分に合った仕事を請負えるメリットがあり自由度が高いのが魅力です。
ですが、さらなる向上のための独学時間の確保や考える力を多く求められますし、交渉など自分で行う必要があるので、交渉力や場合によっては訴訟等の公的手続きの知識も必要とされています。
独学でもフリーランスエンジニアになれる?
前項での比較で、独学フリーランスと企業エンジニアの大まかな違いについて紹介しました。
企業に所属することなく、独学でフリーランスエンジニアとして学んだり開発を行い、それをベースに企業に売り込み、自分の作品を新たに作成する、そういったことが可能なのかここでは考えていきましょう。
情報収集が簡単にできる
昨今では、基礎となる情報を独学で行う際、図書館やエンジニアの知識を身に付けるために学校へ通うだけでなく、技術書や参考書、インターネットなどを活用すれば、多くの情報を得ることができます。
しかし、自分のだけでは理解できなかったり、目的を明確化しなければ必要な言語もわからないまま何となくで終わってしまうため、注意が必要となります。
エンジニア不足の現状
現代のIT業界は急成長し、様々な発明や開発が日々行われており、それに対応できるエンジニアが少ないため深刻な人材不足といわれています。
ITという文化は2000年代から急速に成長しており、人材としては比較的若い業界ですが、少子高齢化も伴い先駆者は退職し、後継者がいないにもかかわらず常に成長・発展していくという現状にあります。
そのため、夢半ばで引退してしまうという現象が悪循環となっている現状もあり、その知識の専門性の高さや環境面から簡単になれるものではありません。エンジニアは常に世の動きを敏感に察知し、先回りが必要となり誰よりも最先端を独学で知る必要があります。
独学でフリーランスエンジニアになるための勉強法9つ
ここでは、独学でフリーランスエンジニアになるための学習方法を提供していきます。様々な学習方法がある中で、自分に合った独学方法を見つけていくと、明確に自分がどんな独学フリーランスエンジニアになりたいのか指針が見え、より有効な独学方法が見えます。
独学でフリーランスになるための勉強法1:開発したいものを決める
まずは、フリーランスエンジニアといっても様々な種類があることは前項で知っていただけたのではないでしょうか。
その中で、自分は何がしたいのか、どういった作品を発明したいのかを考えてみましょう。例えば、健康管理のアプリを作成したい、農業等年々人口減少傾向にある第一次産業の手間を助けるような管理アプリやAIの作成をしたい等目標を明確にすることが重要です。
この時は、明確なシステムのことを考えるのではなく、こういうものがあれば便利だな、どのようにすれば目標とするものを作れるのかといったように、あくまでも構想を練ることが重要です。
独学でフリーランスになるための勉強法2:必要な言語を選択する
開発目標がないと、学ぶべき言語も決まらない為、まずは開発したい題材を選択しましょう。目標が決まったら、今度はその分野で必要な言語を取得する必要があり何が必要かを確認することが重要です。
有名な言語では、C/C++(通称C言語)やPython、HTMLなどがありますが、分野によって求められる知識は様々ですので、下記大まかな分野の中から必要な言語を取得していきましょう。
アプリ制作の場合
アプリに使用されている言語は、iOSでは「Objective-C」または「Swift」を主に使用します。
現行の主流は「Swift」で、Appleの開発した言語であるため、今後この言語を主として採用されていくと言われています。
また、Androidは「Java」または「Kotlin」という言語を使用しアプリを作成します。
「Java」はスマホアプリ以外にも幅広い分野で使用されており、汎用性が高いもので人気の言語ですが、今後はJava言語と完全な互換性を持っている「Kotlin」という数年前に開発された言語が主流となると考えられています。
AI開発の場合
AIとは「人工知能」のことで、組み立て計算式などをコンピューターが「予測・分析・動作」と繰り返し、学習することによってシステムが成長するといったものです。
AIの開発に必要な言語は、開発系のプログラミング言語として高い人気を誇る「Python」を主として利用します。「Python」は他言語よりシンプルである分、技術を求められます。
ただし、AIは開発準備段階にかなりの時間を要し、費用も膨大な為より精密な組み立てが必要となりますので一朝一夕にできるものではないと言えます。
Webサービスの場合
「JavaScript」はWebサービスの開発に欠かせない言語とされており、Webコンテンツに動的な処理を追加でき、オブジェクト指向言語のため、まとまりのある分かりやすいプログラムを書けるのが特徴です。
また、Webサービスを作成するうえで必要な唯一無二の言語であるため比較的学習ハードルも低く、敷居も低めで学びやすくなっています。
独学でフリーランスになるための勉強法3:IT系学習サービスを活用する
ここ数年でIT系のエンジニアになるための基礎知識を学習できるWebサービスが一気に増えました。
ヘタな参考書を購入するよりも学習効率が高く、インタラクティブに学べるので理解もしやすいのが特徴です。一般的な学習サービスとしては以下のようなものがあります。
・ドットインストール
・Paizaラーニング
・Progate
・Udemy
動画を見ながらさまざまなプログラミング言語やサーバー開発などを学習できるものが多く、レベルに応じて高度な知識も合わせて学べるようになっています。
Progateに関しては、インタラクティブなコードエディタにプログラムを書きながら学習できるスタイルなので、より実践的な知識が得られるでしょう。スマホアプリを活用すればいつでもスキマ時間に勉強することもできます。
また、このような学習サービスを活用して得た知識はそのままにするのではなく、ブログなどにアウトプットしておくのも重要です。
何を勉強して、どんなことが出来るようになったのか?また、どこが難しかったのか?…など、あとから読み返しても分かるように書いておくのが良いでしょう。オススメはエンジニア向けのブログサービス【Qiita】を利用することです。
現役のエンジニアも利用しており、コメントで誤りを訂正してくれたり意見交換できる仕組みがあるので、思わぬ発見があるかもしれません。
独学でフリーランスになるための勉強法4:ツールの使い方を学ぶ
プログラミングや開発を行う際にツールを活用することで、作業効率や生産性が大幅に上がります。
ツールはエンジニアにとって、使用することで劇的に改善する場合もありますがその数は多く、その中でも人気なツールはJavaやC/C++特化の「Eclipse」や、Web開発で必要なHTMLなどに特化している「Coda2」などがあります。
また、どうしても自分に合ったツールを見つけられない場合は自身で「ツール」の開発を行うエンジニアも少なくありません。
独学でフリーランスになるための勉強法5:資格の勉強で基礎を固める
学習系サービスでなんとなくプログラミングや開発の知識が得られたら、体系的に基礎を学んでおくのが良いでしょう。
インターネットから得られる知識はどうしても断片的な情報になってしまうので、知識をより確かなものにするためにエンジニア向けの資格勉強をすることをオススメします。資格を取得するというよりも、あくまで勉強の延長線上で挑戦するのがポイントです。
理由としては、ITエンジニアが一般教養として学習しておくべき内容があらかじめ体系的にまとめられているからです。
資格の種類はたくさんありますが、特に未経験の人に最適なのが【ITパスポート】です。
広範囲のITリテラシーが身につくのと、フリーランスとして活動するのに役立つ経営戦略やマネジメントの知識も得られるからです。
主な学習内容は次のとおりです!
・ネットワーク構築・運用
・ITセキュリティ全般
・データベースの操作
・コンピュータシステム全般
・プログラミングの基礎
・マネジメント全般
・経営戦略
これからエンジニアを目指すならITパスポートの参考書を1つ購入するだけで、上記のような幅広い知識を一気に学習できるわけです。
しかも国家資格なので、取得しておけば最低限のIT知識を持ち合わせている証明にもなるので一石二鳥と言えるでしょう。
独学でフリーランスになるための勉強法6:書籍・動画教材で反復学習をする
学習において、知識を定着させるために反復学習は欠かせません。書籍や動画教材を使えば、研修やスクールで学ぶのとは異なり、自分のペースで反復学習ができます。
昨今ではインターネットでも多くの情報を入手できますが、書籍にしか載っていない情報などがある場合もあります。また、動画教材であれば聞き逃してしまった部分や、もう一度聞きなおして理解を深めたい部分などを、改めて見直すことができます。
独学での反復学習におすすめの勉強法であると言えます。
独学でフリーランスになるための勉強法7:リアルイベントに参加する
ITエンジニア向けのイベントは日本全国で開催されており、大きなものから数人レベルの勉強会まで幅広く実施されています。
主要な都心部だけでなく、地方でも積極的に開催されていたりするので、気になる方はIT系のイベント情報を発信している【TECH PLAY】をチェックしておくと良いでしょう。
まずは自分が現在勉強している、またはこれから勉強しようと検討している勉強会に参加してみるのが良いでしょう。同じジャンルの勉強をしている共通の友人・知人を作れるのが特に魅力で、分からないことや疑問に思っていることをイベントや懇親会で聞いてみるのも効果的です。
慣れてきたら、LT(ライトニングトーク)に参加するのも非常に効果的です。
LTは大抵のイベントで実施されており、5分程度の短い時間で自分の興味あることを何でも良いのでプレゼンするというコーナーです。
例えば、次のような話を5分くらいにまとめて発表すると面白いでしょう。
・こんな勉強法が効果的だった話
・初心者でも勉強するとこんなWebサイトが作れた
・これを実施して失敗した話
・自分のフリーランスとしての活動
・勉強にオススメのサービスまとめ
積極的にリアルイベントへ参加して知人の輪を広げることは、将来的にビジネスへと転換するきっかけにもなることがあります。
独学でフリーランスになるための勉強法8:既存のサイトやアプリを真似する
真似をするということは、決して悪いことではなく「模倣」というものはどんな面でも創造のきっかけとなります。
完全に、模倣したものを自身が開発したと発言することはいけませんが、誰しもがインスピレーションを受けた作品があるのではないでしょうか。そのインスピレーションをオマージュすることで自身の作品を作っていき、最後はオリジナルを作るということも出来るでしょう。
そういった過程として取り組んでいくことが、学習の第一歩となるのです。
独学でフリーランスになるための勉強法9:実際にサイトやアプリを開発する
独学である程度の知識がついたら、今度は実際にフリーランスエンジニアとして活躍するために開発をしていきましょう。
どうやれば、自身の理想に近づくか思考を練り、形作っていきます。開発をする過程で、学んだことを反芻しさらに新たな発見をすることも出来るでしょう。そして、作品を仕上げたらテスト&エラーを繰り返し、次の発明に生かしていくことが重要です。
独学で学びやすいエンジニアの基礎知識6つ
フリーランスエンジニアであろうとそうでなかろうと、何事も基礎を固めるということは重要です。基礎がなければ盤石な足元はできず、開発も発明もできません。
その為、十分な独学や理解は重要となり、エンジニアにとっての基礎知識は本項以下の通りですが、この中でもどのようなものを創造し、どのように利用していきたいかを基に自身で言語や利用するベースの取捨選択していくことが必要になります。
独学で学びやすいエンジニアの基礎知識1:HTML
主にフロントエンジニアが利用する言語のひとつで「マークアップ言語」といわれています。
Webサイトを構成するうえでの基本となり、比較的学びやすい分類の言語となります。 具体的には、検索エンジンがWebページの構造を把握して解析したり、 ブラウザがWebページ内の各要素の意味を理解して閲覧しやすいように表示することなどが可能になります。
このようにコンピューターが理解できるよう、文書の構造を定義することこそが、HTMLの重要な役割と言えます。
HTMLは比較的独学でも学びやすい言語であるので、フリーランスエンジニアとして活躍するのであれば覚えておいて損はないでしょう。
独学で学びやすいエンジニアの基礎知識2:CSS
CSSは上記「HTML」の要素に装飾を加え、見た目を整えるために必要な「マークアップ言語」の一つです。
その為、フロントエンジニアとして活躍するうえで重要な役割を担っています。CSSは、Webページ内の各要素の意味や情報構造をどのように装飾するかを指定します。
しかし、HTMLの次世代バージョンとなるHTML5では、
独学で学びやすいエンジニアの基礎知識3:PHP
「PHP」は「JavaScript」と同じスクリプト言語ですが、サーバー側でプログラムを実行する特性があり、現在世界の約4割がこの言語を利用しているという結果も出ているので独学しておいて損はない言語です。
この言語は、主にバックエンドエンジニアが利用しています。また、PHPを利用する事で「HTMLソースコード」も生成されるため、HTMLの一部分のみPHPで生成し、HTMLで入力されたユーザー情報を「PHP」で受け取ることが可能です。
独学で学びやすいエンジニアの基礎知識4:WordPress
「WordPress」はホームページを制作するうえでHTMLを理解していなくてもホームページを作ることが出来ます。
しかし、それであれば面倒なHTMLを組み立てなくてもサイトを作ることが出来るのではと感じられる方もいるかもしれませんが、コードを組み込んでいない分動作としては遅くセキュリティ面で脆弱な部分があります。
独学で学びやすいエンジニアの基礎知識5:Bootstrap
「Bootstrap」は、有名な会社であるTwitter社が開発したフレームワークで、Webデザインに適応しています。「Bootstrap」には既存でCSSやjavascriptが組み込まれているので、HTMLやCSSに詳しくなくても利用しやすいシステムです。
現在は、アメリカの航空宇宙局やMSNBCに採用されています。HTML5やCSS3にはサポートが不完全ですが、主要なWebブラウザとの互換性があるので大きなデメリットとは言えませんが不便な部分もあるでしょう。
独学で学びやすいエンジニアの基礎知識6:Photoshop
「Photoshop」は、今までのものと違い写真やイラストの加工などに利用するAdobe社の製品で、エンジニアでなくても様々な面で利用する事が多いため、独学で覚えておくとフリーランスで別職種に就くことも可能になります。
写真やイラストを明るく加工したり、手ブレを修正したりよりクリエイティブに変化させたりと様々な面で活用されており、スマートフォンでもソフトを購入しておけば利用できます。
独学でフリーランスエンジニアを目指すときのポイント6つ
学習方法を知ったら、次の課題となるのは独学でどこまでやれるのかです。独学でフリーランスを目指す場合、様々な障害があることでしょう。
無から有を作り出すのは一筋縄では行かないからです。フリーランスエンジニアを目指す上でのポイントをいくつかご紹介していきます。
エンジニアを目指すときのポイント1:必要な知識はさまざまである
独学での勉強ポイントで述べたように、必要な知識は様々ですが目標を明確化したら基礎となる知識をつけ、フリーランスで仕事を行うためには付随する他言語も利用できるようになる必要があります。
また、自分がやりたい分野であっても向き不向きがあることも十分に考えられます。
様々な分野で実践を行い「時間を忘れて没頭できる」「プログラミングが楽しい」など長い目で見たときに自分がこのような幸福感をどこの分野(ネットワーク構築が楽しい・システム設計が楽しい等)で感じられるかによっても、目指す道は変わってきます。
エンジニアを目指すときのポイント2:仕事の環境を整える
どんな業務においても、仕事の環境は重要ですが、フリーランスで行う場合はより独学が出来て、開発が出来るなどの環境を整える必要があります。
特に、フリーランスはどこにいても仕事をする事が可能だと言っても、集中力を要する為、騒音が少ない環境で安定したネットワーク回線状況などを整えておく必要があります。
また、開発を行う際は、様々なものを開く為デュアルモニターを採用しているエンジニアを数多く存在します。
エンジニアを目指すときのポイント3:市場の動向を把握する
IT市場は、日々目まぐるしく発展していて、少し前まで主流であったものが自分が会得した時には、もうすでに新しいものが主流になっていたということも多くあります。
また、日本においてはIT市場拡大を背景にIT人材へのニーズが高まってきていますが、労働人口を見るとITエンジニアの有効求人倍率は上昇を続け、人材を採用することが非常に難しくなっています。
その為、市場の動きなどトレンドを常に把握し、自身のセンスを独学時間の中から磨き、研究開発をする必要があります。
エンジニアを目指すときのポイント4:ポートフォリオを作る
独学フリーランスとして活躍する際は、企業に自分を売り込む必要があります。その際に有効であるのが「ポートフォリオ」で自身の作った実用的な作品を売り込むことが有効とされています。
作品も実績もない場合は、自身を売り込む武器がない丸裸な状況です。そのような状況下では企業が相手をしてくれるかどうかというのは、自身が企業側だとしたら……と想定すると容易に想像はつくでしょう。
そのようなことが起きないように、自身が独学で学んだ結果、どのような目的でどのような作品を作ってきたのかというアピールは、フリーランスとしてやっていくうえで重要です。
エンジニアを目指すときのポイント5:相談できる人を探す
いくら独学で学びフリーランスとして活躍するための開発をするといったとしても、開発をする際はだれしも悩みもなく新たな開発をできるということは少ないでしょう。
そういったときに相談できるフリーランス仲間やエンジニア仲間がいれば心強いものです。相談できる相手は、勉強会などのイベントに参加し知り合うことができ、同じような悩みを経験した人にも出会えます。
エンジニアを目指すときのポイント6:実践と学習を繰り返す
独学の際、何事もトライ&エラーが必要です。学び、それを基に作品を制作し、エラーを修正してより良い作品を作り上げていくことが重要です。
実践を行う上では、しっかり新しいものを取り入れ学ぶことが必要となります。独学の分、現場での経験値が圧倒的に少ないため学んだことを実践に生かすことは大変です。
その為、学習から実践のトライ&エラーの繰り返しが大事ですが、膨大な力が必要になりますので、フリーランスエンジニアの夢をあきらめる人も少なくありません。
フリーランスエンジニアの仕事の受注方法4つ
ここまでは、フリーランスを目指すうえでの独学で学ぶ方法やポイントなどをお伝えしてきました。
本格的に、フリーランスとして活躍する場合「仕事を受注する」ということが必要になる為、本項は受注の方法で主な4つの方法に触れていきます。
フリーランスエンジニアの仕事受注方法1:クラウドソーシングの活用
クラウドソーシングは簡単に言えば【仕事をお願いしたい人】と【仕事がほしい人】をオンラインでマッチングしてくれるサービスのことです。
個人依頼もあれば企業からの依頼もあるなど、その案件は非常に幅広いのが特徴です。主なクラウドソーシングサービスとしては、以下の2つが定番になるでしょう。
・クラウドワークス
・ランサーズ
しかしながら、仕事が欲しい人の方が圧倒的に多くて単価が安くなる傾向もあります。
そのため、ITエンジニアの学習をしている人がクラウドソーシングを利用するなら、より実践的な経験を積むために活用するのがベストでしょう。
現時点でどんな仕事が多いのか、何を求められているのか、納期は?、単価は?…など、リアルなエンジニアの現状を知るには最適で、その中から案件を獲得して実際に納品するまでを経験できるのは将来的に必ずプラスになっていくはずです。
フリーランスエンジニアの仕事受注方法2:エージェントに依頼する
独学でフリーランスとして仕事をする場合、一朝一夕に依頼は来ません。その為、エージェトといわれる仲介業の方へ依頼することも有効になります。
フリーランスの自分に代わって、仕事を獲得したり取引をしてくれるので、単価は下がりますがある程度の収入を確保することが可能です。エージェント内での成績によっては、有能と判断され企業からのスカウトオファーなどが来る場合もあります。
フリーランスエンジニアの仕事受注方法3:知人に紹介してもらう
勉強会などのイベントで知り合った友人知人の中には、現役で活躍しているメンバーもいる場合があります。
現役で活躍しているメンバーも独学で学んでいる場合がありますので、その方から知識もお仕事も取り入れることが可能です。
コネクションは業界の中では重要であり、その人からの紹介であればその人の顔を立てることもあり下手な仕事はできなくなりますし、今後のお互いの信頼関係にも影響していきます。
その為、信用できる人との関係性を意識していき依頼してみるのも一つの方法です。
フリーランスエンジニアの仕事受注方法4:求人サービスを利用する
ここまでの流れで、ある程度エンジニアとしての基本スキルが身についてきたらいよいよ本格的にフリーランスとして活動を始めるタイミングでしょう。
と言っても、実際に仕事に繋がる案件が勝手に舞い込んでくるわけではありません。
そこで活用したいのがフリーランス向けの求人サービスです。例えば、フリーランスのエンジニアを積極的に採用する【PROsheet】はオススメです。
案件の受注から企業面談・契約まで全面的にサポートしてくれる支援体制が素晴らしく、仕事を進めていくなかで発生する不安や心配事などにも対応してくれるのが特徴です。
業界未経験の人が初めての一歩を歩き出すには最適なサービスでしょう。
また、インフラエンジニアに最適な【FEnet】もオススメでしょう。
未経験者でも獲得できる案件が豊富にあり、面倒なレポート提出など実際の業務以外の雑務もほとんどないのが特徴です。
実際に業界未経験の人が案件を獲得して今でも自身のスキルアップを同サイトを通じて活動している人も少なくありません。
独学でフリーランスエンジニアを目指そう
独学でフリーランスエンジニアとして活躍するのは、とても大変ですがその分様々な創造をすることが可能で無限大の可能性を秘めています。
初めのうちは苦悩や収益の安定化が図れないなど不安があるかもしれませんが、フリーランスとしてやっていく上では誰しもが通る道です。
自分から学ぶ姿勢は素晴らしく、手に職をつけようと決めた姿勢は素晴らしいものです。その為、学び、出会い、自分でプログラミングをしていき素敵なフリーランスエンジニアを目指していきましょう。