プログラミングは独学で習得可能!言語の選び方から習得するまでのロードマップ例を紹介

「プログラミングを勉強して、エンジニアとして就職・活動したいけれど、独学は可能だろうか」と考えているなら、安心してください。

プログラミングは独学可能です。

この記事では、プログラミングを独学したいという人のために独学でプログラミングを習得するためのやり方とロードマップ、注意点をまとめました。

これからプログラミング学習を始めるという人は参考にしてください。

プログラミングは個人開発レベルなら独学可能

プログラミングは、個人開発レベルなら独学が可能です。

企業に所属し、チームでプロダクトを作るようなプログラミングは独学で習得するのが難しく、そういったカリキュラムのあるスクールやメンタリングサービスを利用する必要があります。

実際、会社に勤めながらプログラミングを独学し、サービスをリリースしている個人もいます。公にリリースしていなくとも、Excel VBAを使い業務の効率化を測ったり、会社の業務を短縮するためのスクレイピングプログラムをPythonで書いたという人は、数多くいます。

フリーランスエンジニアとしての独立するなら、チーム開発の経験は必須です。個人開発レベルのサービスやアプリを開発し、それを売却することで生計を立てていくならともかく、助っ人エンジニアとして開発に携わるつもりでフリーランスを目指すなら、ある程度独学が終わった時点でチーム開発の経験をつめる環境に身を置く必要があるでしょう。

関連記事:フリーランスにスキル不足でなると失敗します!自分がつけるべきスキルを知るための手段とは

フリーランスエンジニアを目指すなら独立前に勤める必要がある

フリーランスエンジニアを目指すなら、独立前に最低でも3年から5年、企業に勤めてプロジェクト開発に携わった方がいいでしょう。

実際、今の時点でフリーランスエンジニアとして活躍している人も「これからフリーランスになるなら、独立前に下積みを」と勧めているくらいです。

フリーランスエンジニアとして活動する上で、企業に勤めないと得られない知識の代表的なものにこの4つがあります。

  1. 業界内の常識・非常識
  2. チーム作業の手順や進行ノウハウ
  3. 専門性が高く、大規模な案件の見識
  4. フリーランスに外注する側の常識・非常識

どんなにスキルレベルが高くても、プロジェクト開発のチームの一員として難があるようではフリーランスとしての仕事は多くありません。

一時期、新卒フリーランスともてはやされていた人たちが「メールの一本もまともにかけず、仕事がやりにくい」と噂になっていましたが、どの業界でも一緒です。

エンジニアとしてフリーランスになりたいなら、その業界の常識・非常識を知り、人脈を作るためにも勤めておくべきです。

フリーライドと言われないためにも、きちんと企業に貢献できる形で勤めるとなおいいですね。

独学でプログラミングレベルがある程度のレベルになった人は、業界未経験でも受け入れ先を見つけてくれるエージェントを利用するといいでしょう。個人開発ができるレベルのスキルがあるなら、比較的すぐに受け入れ先が見つかるはずです。

関連記事:未経験でもIT業界に転職できる!転職活動を始める前に知っておきたいこと・やるべきこと

プログラミングを独学するときの言語の選び方

プログラミングを独学してフリーランスになりたい人が、一番最初に悩むのが「どの言語を選択すればいいのか」です。「プログラミングでこんなことをやりたい」「あの人みたいなエンジニアになりたい」といった希望があるなら、その道を選ぶのが最短ルートです。

しかし、「稼げるフリーランスエンジニアになりたい」といった漠然とした理由でプログラミングを独学する場合は、どうやって選べばいいか悩みますよね。

言語選択の際に参考になるものにはこんなものがあります。

  • やりたいこと・なりたい姿で選ぶ
  • 言語別の年収
  • 現時点での求人数
  • 業界内のトレンド
  • 業界動向や海外の流行

関連記事:【初心者向け】おすすめのプログラミング言語8選!メリット&デメリットも解説

やりたいこと・なりたい姿で選ぶ

プログラミング学んでやりたいこと・なりたい姿で選ぶのが、最も学習モチベーションを保ちやすく、成功に近づく道です。

ただし、「こんなエンジニアになりたい」というモデルがいる場合は、その人がやっているジャンルがどれくらい稼げるのかについての下調べはしておいた方がいいでしょう。

その人が上位10%の稼げる層なだけで他の90%はほとんど稼げないジャンルである可能性もあるからです。

言語別の年収

言語別の年収で学ぶ言語を選ぶのも手です。

例えば、ハイクラス転職サイトのビズリーチではプログラミング言語別の年収平均を出しています。

1位 2位 3位
2016年 Python(651万円) Perl(633万円)
Ruby(606万円)
2017年 Scala(626万円) Python(601万円)
Kotlin(577万円)
2018年 Go(600万円) Scala(600万円)
Python(575万円)

※参考:ビズリーチ「プログラミング言語別 平均年収」を発表! 1位と最下位では約200万円の差

統計を取った時点での年収の平均値なので、今後もその言語の年収が高い確証にはなりませんが、参考にはなるでしょう。

現時点での求人数

現時点で求人が多い職種の中から、よく使われている言語を選ぶこともできます。

エンジニア向けの求人サイトの中には、職種別・言語別に求人数を表示しているところがあるので参考にしましょう。

エンジニア転職,求人

このサイトでは、業務系アプリケーションエンジニアの求人数が最も多いですね。ここから絞り込み検索をしていくことで、言語別の求人数の差がわかりますし、未経験求人が多い言語にどんなものがあるのかも判明します。

求人情報の詳細をみれば応募に必要な経験年数もわかるので、エンジニアとして転職したい時期から逆算して学習期間を決めることも可能です。

業界内のトレンド

数年前まではAIや機械学習エンジニアがトレンド、その前はRubyによるWebアプリケーション開発がトレンドでした。

こういった業界内のトレンドを把握して、素早く乗るという手段もあります。

短い学習期間でスキルをつける必要があるので、独学だけでエンジニア転職するには効率が求められます。しかし、流行っている言語は求人数が多い傾向があり、現場で働きながら実力をつけることで素早いキャリアアップも可能です。エンジニアデビュー間もない頃は辛い思いをするかもしれませんが、覚えておくといいでしょう。

業界動向や海外の流行

業界動向や海外の流行について把握してから「今度はこの言語が来る」とあたりをつける方法もあります。

業界動向や海外の流行は、転職エージェントの面談の利用やその業界のセミナーへの参加、有識者のSNSをフォローすることで得ることができます。

プログラミング言語の種類の見当もつかないうちは、未経験でも利用可能な転職エージェントに登録して、業界内の動向を探るのがいいでしょう。

プログラミングを独学するなら関連言語とフレームワークも一緒に学ぶのが効率的

プログラミングの学習というと「1つの言語のチュートリアルが完璧にできて、オリジナルサービスを作れれば終わり」と考えている人もいますが、そうではありません。

オリジナルサービスを作るにせよ、アプリを作るにせよ関連言語を学ぶ必要があるのです。

メインになる言語をマスターするのも大切ですが、自分が行きたい職種でどんな関連言語・フレームワークが使われているかをチェックし、効率的に学ぶ必要があります。

プログラミング 独学

例えば、ゲーム開発の求人では、データベースのMySQLの知識が問われますし…。

プログラミング 独学

サーバー系の求人では、LinuxやOracleの知識も必要になってきます。

「独学=全てを自力で学ぶ必要がある」と意気込む人もいますが、効率よく学びたいなら、プログラミングスクールのカウンセリングや転職エージェントのカウンセリングを上手に利用して、メイン言語で稼ぐために必要な知識を得ておくべきでしょう。

どの言語を選んでもWeb系言語は学習して損はない

言語選択に悩んだときは、Web系言語を学習しておくと損しません。

Web系言語は、大きく分けて3つのブロックにわかれています。

  • マークアップ:HTML/CSSなど
  • フロント:JavaScript/jQueryなど
  • サーバー:Java/C/Python/Perlなど

これらの言語は、Web系の職種に就く限り切っても切れない縁があります。Web系エンジニアになりたい人は、履修しておくにこしたことはありません。

Web系言語を履修するときは、マークアップからフロント、サーバー言語にステップアップしていくと挫折が少ないです。

マークアップ言語は、自分がプログラミングした内容がすぐに結果として表示されます。成果が確認しやすいため、モチベーションが下がりにくく、ミスも見つけやすいのです。

プログラミングの独学の進め方(ロードマップ)

プログラミングを独学する場合の進め方をご紹介します。このロードマップ通りにする必要はありませんが、この進め方で学習を進めていくのが一般的です。

最終的にオリジナルのWebサービスやアプリを作るものとして作成したので、参考にしてください。

  1. 学びたい言語を選ぶ
  2. はじめての〜と書かれているできるだけ薄い・短い教材を購入
  3. 書籍に合わせて開発環境を整える
  4. 書籍に沿って一通りやってみる
  5. 巻末に出ている参考・もっと学習したい人のためにを購入し学習
  6. 作ったサービスやアプリを公開しフィードバックをもらう

学びたい言語を選ぶ

最初に学びたい言語を選びます。先ほどご紹介した手段を使って選ぶといいでしょう。

学びたい言語や作りたいサービス、勤めたい職種が決まらないと学習教材の買いようがありません。

本も動画教材もプログラミングスクールに通うことを考えれば高額ではありません(2,000円から5,000円程度)。

気になる言語があるならひとまずそれを学習する言語にしてもいいでしょう。

はじめての〜と書かれているできるだけ薄い書籍を購入

最初に購入する教材は、できるだけ薄い・短いものを選びましょう。

書籍なら厚さが1cmに満たないもの。動画教材なら5時間から8時間程度で1日で見切れるものがいいでしょう。

というのも、厚い・長い教材を購入しても最後までやり切れる人はなかなかいないからです。一度で覚えられるわけではなく、何度も繰り返す必要がありますが、厚い・長い教材を購入してしまうと1回やり終えただけで満足する可能性が高いのです。

「はじめての〜」「漫画でわかる」「超初心者」とタイトルにあるような教材で、試し読みや講義内容の目次を見たときに「わかりそう」と感じたものが、買うべき教材です。

ちなみに、「入門」と書かれている本でも分厚いものは避けましょう。出版社名を明らかにするのはひかえますが、「入門」と書かれていても全然入門書ではない書籍があるのは、エンジニア界隈では有名な話です。

プログラミングの入門書はAmazonや大きな書店で購入できますし、動画教材なら、Udemyを利用すると質の保証された教材を手に入れることができます。

教材に合わせて開発環境を整える

教材を購入したら、教材の指示にしたがって開発環境を整えます。インターネット環境がないと環境構築は難しい場合がほとんどです。ネット環境には注意したいですね。

多くの教材が、WindowsでもMacでも開発できるように解説されています。iOSアプリの開発はMacでしかできないので、Macを持っている必要がありますよ。

教材に沿って一通りやってみる

開発環境が整ったら教材に沿って一通りやってみましょう。このときのポイントはこれらです。

  • その教材が最終的に目標としていることを把握しておく
  • 目次やインデックスで今後の流れの全体像を把握しておく
  • 100%の理解を目標にしない
  • 例題はわからなくて当たり前と考える
  • コードは丸写しでOK

プログラミングの学習は、外国語の習得に似ています。

英語を学習するときに、一度参考書をやっただけでは文章を書けるようにならないように、プログラミングの学習も一度教材をやっただけではコードを書けるようになりません。

同じ教材を何度も繰り返すつもりで、一度で完璧を目指さないようにしましょう。

巻末に出ている参考教材を購入し学習

最初に購入した教材が終わったら、参考教材を学習します。

参考になる教材は書籍の場合は巻末に、動画教材の場合は最終章に紹介されています。

動画教材の場合は、同じ講師が中級者向け教材を作成している場合も多いので、講師のプロフィールを見てもいいでしょう。

最初に買った教材を修了したとする目安はこのあたりです。

  • 課題になっているコードを自力で書ける
  • エラーが出たときに自分で解決できる
  • 書籍に出てきた専門用語を理解している

最初の教材をやり切った段階で、基本知識はついたはずです。

作りたいサービスやアプリがある人は、どういう方向に進めば作れるのかを調べながら、関連教材を購入していきましょう。

作ったサービスやアプリを公開しフィードバックをもらう

サービスを作ったら、公開してフィードバックをもらいましょう。

自分で作ったサービスを公開するのは気が引けるという人もいますが、公開してフィードバックをもらうことがよりよいサービスにつながります。

ポートフォリオとして利用するなら、どのみち公開しなければいけません。

中には、辛辣な意見もあるかもしれませんが、耐えましょう。エンジニアとして活動するなら避けては通れない道です。

プログラミング独学の最大の敵はモチベーションの低下

プログラミングを独学する上で最大の敵は、モチベーションの低下です。「プログラミング自体が楽しくて仕方ない」という状態になればいいのですが、現役のエンジニアの中でも「プログラミングが好きでたまらない」という人は稀です。

特に学習の初期段階では、つまづくことも多く「簡単そうに見えるのにできない」というジレンマに襲われます。モチベーションが下がった結果、学習を放り投げるとこれまで費やしてきたお金と時間が無駄になってしまいもったいないです。

モチベーションを下げないための工夫を紹介しますので、参考にしてください。

  • まずは全体像を見る
  • わからないのが当たり前で手を動かす
  • 少しやさしいと感じる教材から手をつける
  • 5分でもいいので毎日やる
  • 似た立場の知人を作る

まずは全体像を見る

プログラミング学習を続けていると「自分が今、何を目的にしてコードを書いているのか」わからなくなる瞬間があります。

「この教材は何ができるようになるために購入したのか」
「自分が取り組んでいるのは、全体のどの部分なのか」
「ここをクリアすることでどんな理解が得られるはずなのか」

そういったことを把握して学習しましょう。

全体像を把握してから学習することで学習の目的を見失わずにすみますし、「ただ教材のコードを写すだけの作業」から解放されます。

わからないのが当たり前で手を動かす

最初はわからないのが当たり前です。また、1度や2度の反復で全てできるようになるのは、一部の天才だけです。

エンジニア界隈には、「グダグダ言ってないでコードを書けよ、ハゲ(Shut the fuck up and write some code)」という言葉があります。手を動かすことでしかサービスは作れませんし、理解も深まりません。

わからないなら調べる、コードのエラーはデバッグする、素直に動くコードはないと思って取り組みましょう。

少しやさしいと感じる教材から手をつける

難しい教材から入ると、あまりにも思うように進まず、挫折につながります。

「ちょっと簡単かな?」と思える教材から入って、その教材の全てを説明できるくらいになりましょう。

特に、基礎本は大切です。「悪質なプログラミングスクールは基礎を疎かにし、受講生になんとなくでも形になるものを作らせ、エンジニア業界に放出する」という悪い噂があります。基礎をやっていない受講生の多くが現場で使い物にならないというのです。

独学での学習も同じで、基礎こそしっかり理解しましょう。やさしい教材から入ることで基礎の習得での挫折率を下げることができます。

5分でもいいので毎日やる

5分でもいいので毎日学習しましょう。

受験生時代に、「今日くらいはいいか」と勉強をさぼって、学習習慣が途切れてしまったことはありませんか?

疲れているときはパソコンを開くのも億劫になりますが、パソコンを使わなくてもプログラミングの学習はできます。

本を読むだけ、昨日学習した内容を振り返るだけ、そんな程度でもいいので毎日プログラミングのことを考えるのが、学習継続のコツです。

似た立場の知人を作る

仲間もいない状態の完全な独学で成功できる人もいますが、似た状況の仲間がいた方が学習がはかどる人もいます。

そういう人は、駆け出しエンジニア向けのコミュニティに入ったり、もくもく会に参加して仲間を増やしましょう。

プログラミングスクールを利用しなくても独学仲間は作れます。

ライバルやメンター、先輩の存在で学習がはかどるなら、利用しない手はありません。

まとめ:プログラミングは独学で習得可能!やり方は間違わないで

プログラミングは独学で習得が可能です。ただし、挫折しやすいのも事実なので、自分のモチベーションを下げない工夫をしながら学習を継続する必要があります。

社会人からの学習は背伸びをしがちです。「これくらいならできるだろう」と難しい教材に手を出すのではなく、「少し優しすぎるかな」程度のものから徐々にレベルアップしていきましょう。

やり方さえ間違わなければ、3ヶ月から半年程度で初心者を脱出することができますよ。

もし、「独学は無理そう」と思ったなら、プログラミングスクールを利用するのもありです。スクール選びの参考になる記事がありますので、そちらも参考にしてくださいね。