着実にプログラミングの独学を継続できる『CODEPREP』
GEEK JOB編集部
「プログラミングをやってみたいけど、難しいイメージしかない…」
「独学でも学習できるって聞いたけど、何をどうすれば良いのか分からない」
あなたはこんな悩みを抱えていませんか?
結論から言えば、プログラミングは独学でも習得可能です。
しかし、独学が挫折しやすいのも事実。
自分に合った学習方法を見つけることがスキル習得の成功率を左右します。
独学の方法は無数にあるからこそ、各学習方法のメリットやデメリットを把握して試行錯誤する必要があります。
この記事では、未経験から独学でプログラマーになる方法やおすすめのプログラミング言語、求人の探し方などを解説します。
「仕事のできるプログラマーになりたい!」
そんな方は、ぜひ最後までじっくり読んでみてください。
目次
前述した通り、プログラミングスキルは独学でも習得可能です。
ただし、「独学でも簡単確実」というわけでもありません。
プログラミングに限らず、全く知らない分野のスキルを独学で身につけるためには多くの時間を必要とします。
ここでは、独学でプログラマーになるために覚えておくべきことを解説します。
まずはここを読んで、プログラミングを独学する際の基礎知識を補完してみてください。
「そもそも、独学でプログラミングを学んでプログラマーに就職ができるのか?」
といった不安をお持ちの方もいるかと思います。
安心してください。
就職において、プログラミングをどんな方法で習得したかどうかは殆ど関係がありません。
大学までプログラミングに触れてこなかった方が、プログラミングを習得する方法は大きく分けて、
という2つの選択肢がありますが、独学でプログラマーになるにあたって
「スクールを卒業していた方が就職しやすそう」
「独学だと書類が通らなそう」
のように、独学だと就職に不利だというイメージを持っている方も少なくないようです。
実際のところはどうなのかというと、多くの企業ではプログラミングを習得した方法によって採用結果に差をつけるということはありません。
大事なのは、「どうやって学んだか」ではなく、「どれだけの技術を身につけているのか」という部分。
ですので、独学であってもしっかり知識が身についていればプログラマーへの就職は可能です。
さらに言えば、自分の力だけで成し遂げたというアピールができれば独学の方が有利に働くケースもあります。
実際に独学でプログラマーへ転身した方も多く、全くの未経験からスキル習得に成功した事例も沢山あります。
「独学でプログラマーを目指すのは難しい…」と思っている方でも、プログラマーに必要な知識を的確に補完できれば、転職や独立を果たすことは可能です。
「プログラミングスキルは独学可能」で「独学でもプログラマーになれる」ことは間違いありません。
時間も縛られず、自分の好きなことを好きなように学習できるのは非常に魅力的に感じると思います。
しかし、独学に挑戦した人の半数以上が、プログラミング学習に挫折しているということも忘れてはいけない部分です。
自分のペースで学習でき、お金をかける必要もない分、独学には挫折しやすい要因が複数あるのも事実です。
現在は、初心者が独学しやすいように作られた教材も多く、プログラミング学習を始めた初期はモチベーションも高く維持しやすいです。
ただ、学習段階が上がっていくと
といった壁が立ちはだかり、躓く瞬間が必ず来ます。
数日、試行錯誤したものの解決できないというのもよくあること。
プログラミング学習に必要な時間のほとんどは躓いている時間とも言われており、独学で行うのであれば、こういった壁を自力で乗り越える覚悟をしておくことが大切です。
では、プログラマーへの道に挫折することなく独学を成功させるにはどんなことを意識したら良いのでしょうか?
結論から言えば、なぜ学ぶのかという目的意識を持つことが重要になります。
目標を定めずに勉強してしまうと、いつしか勉強することが目的になってしまい「何のために勉強しているんだっけ…」とモチベーションを失ってしまうことにも繋がります。
そうならないためにも、「自分はプログラマーになって何がしたいのか」を明確に思い描いておきましょう。
将来の自分やプログラマーとしての働き方が鮮明にイメージできるようになれば、壁にぶち当たった時も「これも将来の自分のため」と足を前に進められるもの。
自由度の高い独学だからこそ、ハッキリした目的意識が非常に重要と言えるでしょう。
仕事に活かせるレベルのプログラミングスキルを独学で習得する際の時間の目安は1000時間と言われています。
「絶望的に長い…」
こんな意見も聞こえてきそうですが、プログラミングを仕事にしたいなら1000時間は費やしたいところです。
なぜなら、1つの言語を習得するとしても、覚えることは山のようにあるからと言えます。
ここで1000時間の独学期間を3パターンほど考えてみましょう。
在職中の社会人の方からすると2番の「1日2時間+週末8時間」が現実的です。
この場合、8ヶ月ほどでプログラミング学習を完了できる計算になります。
人によっては「時間がかかりすぎ」と思うかもしれません。
しかし、予算をかけずに仕事に活かせるプログラミングスキルを習得すると考えると、そこまで悪くないでしょう。
「目的意識を明確にして1年ほどプログラミング学習をすれば、プログラマーとしてデビューできる知識やスキルが身につく」
プログラミングを独学していくなら、短期的な視点ではなく長期的に目標を達成する意識が重要と言えるでしょう。
ただし、これは全て独学で進めていった場合の目安です。
前述の通り、プログラミング学習に必要な時間のほとんどは躓いている時間と言われていますので、躓いた際に質問できる相手や、要所でアドバイスをもらえる環境を用意することができれば、必要な時間を200時間以下に削減することも可能です。
プログラミングの独学には、何よりも挫折しないことが最重要。
ということで、ここではプログラミング初心者のための学習サービスを紹介します。
ITテクノロジーが発展し、転職市場でもプログラマーへのニーズが増している今、無料で学習できるサービスも充実してきました。
ここで紹介するプログラミング学習サービスを活用すれば、スキル習得への一歩を踏み出すことができるはずです。
プログラミング経験が全くない人には、初心者向けに公開されている学習サービスをおすすめします。
ここでは特徴の異なる2つの初心者向けプログラミング学習サービスを紹介します。
無料で使える部分が多いので、プログラミング学習の第一歩として、まずは触ってみると良いでしょう!
1つ目は「progate」です。
progateの特徴は
となっています。
プログラミング初心者向けの参考書と、環境構築不要で実際にコーディング体験ができるサービスが合体しているのが魅力です。
指示に従ってコードを入力し、実際にWebサイトやアプリ開発ができるようになっており、初心者が基礎知識を身につけるのに最適なサービスになっています。
毎回小テストを受けるように学習できるため、繰り返し手を動かすことで着実にスキル習得ができる学習サービスです。
スマホアプリ版もリリースされており、移動時間でもプログラミングに触れることができます。
基礎からみっちりプログラミングを学習したい人に向いていると言えるでしょう。
2つ目は「ドットインストール」です。
ドットインストールの特徴は
などがあります。
プログラミング知識のない初心者にとって「bodyタグ内にdivタグでclassを作ってください」と書かれていても、具体的に「この手順で操作していくんだな」というイメージは浮かびづらいものです。
その点、ドットインストールであれば動画を見つつ操作を真似するだけで、自分で入力したコードが画面に反映されるため、初心者が陥りがちな「何がわからないのかもわからない」という状態を回避することができます。
動画の説明は非常にシンプルかつ実践的です。
そのため、動画を真似して作業しているだけで「このコードはこういう意味があるんだ!」と体感することができるでしょう。
非常に初心者向けに作られており、「プログラミング学習の入り口はドットインストールだった」という方も多いです。
テキストベースではなく、動画で直感的に学習していきたい人に向いていると言えるでしょう。
基礎的なプログラミングスキルを習得できたら、より応用力を試されるレベルの学習にも挑戦してみましょう。
基礎を身につけておくことはとても大切なことですが、実際にプログラマーになった後は応用力が必要になります。
問題が起こった時に広い視野から解決策を見出だせるようになるには、以下の2つのようなサービスを活用するのがおすすめです。
1つ目は「paizaラーニング」です。
paizaラーニングの特徴が
などがあります。
paizaラーニングでは、練習問題を解くことによりコーディングの復習から応用まで行うことができるのが魅力。
動画を見て覚えていくという点で、ドットインストールを使って学習したことがある人にとっては入りやすい学習サービスです。
学習途中でバグが出たり、詰まってしまった場合はエンジニアに質問することも可能です。
progateでは基礎知識を身につけることができますが、progateのカリキュラム内で完結してしまう分「このWebサイトと同じものを作ってください」といった、0からコーディングしていく能力は身に付きづらいという点もあります。
paizaラーニングを活用することで、実際にコーディングする力をつけることができるので、最終的に1つのWebサイトを1人で作成する力を身につけることができます。
全てのカリキュラムを閲覧するには有料の会員登録が必要ですが、月額600円(税込)からと非常に手軽なのも特徴です。
2つ目は「udemy」です。
udemyの特徴は
などがあります。
大きな特徴は、一般の講師やエンジニアが自分のノウハウを動画にして販売しているという点です。
より自分が知りたい情報に特価した講座や、より開発現場に近い視点から作られた講座など、自分に合った内容を見つけることが可能です。
「HTML・CSSの基礎は分かったから、実際コーディングを始める手順が知りたい」、「問題が起きた時の解決方法を知りたい」、など基礎学習を終えて、より実践的な作業内容を知りたい方に最適なサービスと言えるでしょう。
各講義は基本的に有料ですが、無料のものや低価格で視聴できるものも沢山あります。
応用力を身につけるため、目的に特化した学習がしたい方にピッタリのサービスです。
プログラマーへの一歩を踏み出すには、最初に学習するプログラミング言語を何にするかも非常に重要です。
難易度も高い上に、自分のやりたいことと関係が無い言語を選んでしまったりしたら、学習を続けるのはとても辛いですよね。
では、一体どんなプログラミング言語がおすすめなのでしょうか?
前述したように、プログラミングを独学する上で大事なのは続けること。
いかに挫折しないかが重要になります。
だからこそ、初めて学習するプログラミング言語は、あなたにとって最もモチベーションが上がる言語にするべきです。
モチベーションが上がるプログラミング言語とは、
などがあるでしょう。
人間誰しも楽しんで学習しなければ継続していくことができません。
どのプログラミング言語が楽しいと感じるかは人によって異なります。
プログラミングを活用して、どんなものを完成させたいのかという目的によっても選択すべき言語は変わってくるはず。
注意するべき点は、「この言語は稼げそうだから」、「最近流行っているから」という表面的な理由で選択しないこと。
知識のないプログラミング未経験者は、飽きずに学習を続けられるプログラミング言語に的を絞るべきです。
1つの言語を習得すれば、他の言語も基礎の考え方は共通です。
まずは学習しやすい言語を1つ習得し、そこから派生させて他の言語も習得していくのがおすすめです!
まずは、下記で紹介する目的別のおすすめ言語を参考にしてみてください。
世界的に最も普及しているプログラミング言語と言えるのが、「Java」です。
Javaは、
などの特徴があります。
Javaを活用することで作れるサービスは非常に幅広く、Webアプリ、Webサービス、デスクトップアプリ、スマホアプリなど様々なものを作成可能です。
またBlu-rayプレーヤーや電子部品のモジュールなどにもJavaが利用されています。
「幅広い分野で活躍するプログラミング言語」
日本国内でも最も求人数の多いプログラミング言語となっており、「プログラマーになる」という目的には最も適した言語と言えます。
できることが多彩かつ奥の深いプログラミング言語で、学習難易度は少し高めですが「オブジェクト指向」というプログラミングにおいて非常に大切な考え方を理解できるのが特徴です。
Webサイトの作成に特化したプログラマーになりたいなら、「PHP」と「HTML/CSS」がおすすめです。
PHPは、Webサイトの作成に特化したプログラミング言語で、Webサイトの中身を記述するHTMLと非常に相性の良い言語です。
簡単に説明すると、
HTML/CSSは、Webサービスを作っていく場合は必須のスキルになりますので、他の言語を使う場合も確実に習得しておくべきです。
PHPは、市場で最も多く利用されているCMS(ブログやホームページを作成できるソフト)であるWordPressを使ったWebサイトのデザインや機能を作るのに必要で、現在のWebサイトには欠かせないプログラミング言語とも言えるでしょう。
習得の難易度も低めで、初心者向けの教材も多く出回っています。
今後もWebサイトは着実に増えていくことが予想できるため、覚えておいて損のない初心者にもおすすめのプログラミング言語です。
ただし、Webサイトに特化している分、他の用途には使うことが殆どないので、アプリや効率化のシステムが作りたい場合には他の言語を選ぶことになります。
コーディングのしやすさで日本企業に大人気なのが、「Ruby」です。
プログラミング言語の中では珍しい日本人によって開発された言語で、効率的かつ素早くサービスを開発することができます。
簡単に言うと各言語の良いとこ取りをしたプログラミング言語。
Webサイト、Webアプリ、Webサービスなどを効率的かつ迅速に開発可能で、少ない表記で開発が行える仕組みになっています。
Rubyを最大限活用するには、Ruby on Railsというフレームワーク(効率よくプログラミを書くための土台のようなもの)を利用するのも特徴的。
とにかくスピードが求められるスタートアップ企業で多く採用されています。
Web系のスタートアップ企業への就職を目指すのであればぜひ習得しておきたい言語ですが、未経験からの就職を目指す場合、Web系企業では未経験OKの求人自体が少ないことは念頭に置いておきましょう。
競争率は高いですが、学習するだけではなく、自分のスキルを見せられる成果物を作るところまでできれば、採用の可能性はぐっと上がります。
Apple製品に関するアプリ開発が行いたい人におすすめなのが、「Swift」です。
Swiftは、AppleがiOSアプリを開発するために作ったプログラミング言語で、iPhoneやiPadで動作するアプリ開発に特化しています。
Swiftが使えるようになれば、iPhoneアプリはもちろんApple WatchやMac向けのアプリ開発もできるようになります。
swiftは2014年に発表されたため、新しいプログラミング言語として注目されています。
新しい言語=改善された言語
という特徴があり、以前の言語よりも効率的にアプリ開発することが可能です。
以前、Apple製品のアプリに使用されていたObjective-Cという言語よりも高速に処理ができるという点も優れています。
Apple製品向けのアプリ分野で活躍したい方に最適なプログラミング言語と言えるでしょう。
Appleが開発した言語だけあり、開発にはMacが必要になります。
SwiftはiOSアプリの開発に特化していますが、Android向けのアプリ開発を行いたいのであれば「Kotlin」を学習するのがおすすめです。
使い道が特化している分「とりあえず就職」というのには向いていませんが、絶対にスマートフォンアプリの開発がしたい!という場合は、これらの言語を使ってアプリを作り、それを成果物として就職活動に挑めば、採用の可能性は十分にあります!
学ぶべき言語が定まったところで、次に気になるのは「どうやって勉強するか?」
ここでは独学の学習方法一覧を紹介します。
各学習方法にはメリットとデメリットがあるものです。
人によって合う合わないがありますので、独学を始める前の1つの参考にしてみてください。
1つ目の独学方法は、前述したオンライン学習サービスを使うことです。
オンライン学習サービスで独学するメリットは、
などがあります。
ちょっとした空き時間や急遽仕事が休みになった時など、スキマ時間を利用して自由に学習できるのが最大のメリットです。
不得意な内容を何度も反復練習できるのもオンライン学習ならでは。
また多くのオンライン学習サービスが無料で始められるので、リスクなくプログラミング知識が身につけられます。
オンライン学習で独学するデメリットとしては、
などがあります。
オンライン学習サービスを進めていくには、自分自身をコントロールしていかなければなりません。
問題を解決できずフェードアウトしてしまう人も少なくないので、強い意思が必要と言えるでしょう。
2つ目の独学方法は、プログラミングの教則本で勉強することです。
教則本で独学するメリットは、
などがあります。
本はネット上の情報と異なり、1つの分野に対して網羅されているものが多いです。
そのため、各言語や機能に対して深く知識を掘り下げられる内容になっています。
各コードが示す意味や、そのコードが誕生した背景など、プログラミングを根本的に理解したい方に最適な方法と言えるでしょう。
教則本で独学するデメリットとしては、
などがあります。
教則本は「読む」という行動がメインになりますので、手を動かして直感的に理解できるオンライン学習とは趣旨が異なります。
また、そもそも活字を読むのが苦手な人にとってはおすすめできない独学方法と言えるでしょう。
じっくり読書しつつ理解度を深めていきたい方に向いています。
3つ目の独学方法は、Qiitaで検索と質問をすることです。
Qiitaとは、プログラマーの情報共有に特化したサービスです。
Qiitaで独学をするメリットは、
などがあります。
Qiitaには、過去に投稿された質問や対策法などが沢山あります。
投稿の中には独学時につまずきがちな疑問も見つけられるでしょう。
疑問点を検索しても見当たらなかった場合、質問を投稿することも可能です。
プログラマーは疑問を自分で解消する力も重要なため、Qiitaを活用することで「できるプログラマー」への一歩を踏み出せるようになるでしょう。
Qiitaで独学するデメリットとしては、
などがあります。
Qiitaで質問をする際は、「どんな問題があり、どんな解決法を試したのか」などを明確にしないと回答が得られないことも。
「HTMLが反映されない」といった抽象的な質問ではなく、具体性のある質問をするように心がけましょう。
また、無数の投稿から問題解決に合った投稿を見つけるためには検索スキルも必要です。
目的に合わせて必要なキーワードを入力できるようになれば、問題解決もスムーズになるはず。
4つ目の方法は、プログラマーの勉強会に参加することです。
ハンズオンイベントで独学をするメリットは、
などがあります。
基本的には、「connpas」などから自分にレベルに合った勉強会を探してみるのがいいでしょう。
初心者向けの勉強会も多数開催されています。
勉強会に参加すれば、あなたと同じようにプログラマーを目指している人と繋がることができます。
切磋琢磨できるライバルを見つけることで独学のモチベーションも保ちやすくなるはずです。
イベントの内容によってはプログラマーとしての最先端の情報に触れることもでき、参加者がどのように学習を進めているのかも確認できるメリットがあります。
ハンズオンイベントで独学するデメリットとしては、
などがあります。
規模の大きなハンズオンイベントには、多くのプログラマーが訪れます。
そのため、「こんなにライバルがいたら就職なんてできないのでは?」と不安になってしまうことも。
またイベントの内容によっては理解が難しく手応えが得られないこともあるでしょう。
自分に合ったイベントに厳選して、「自分は自分」と意識しつつ参加することが大切です。
今回は独学のためのノウハウをご紹介してきましたが、もしもあなたが「自分はプログラマーになる」と決めているのであれば、就職支援付きのプログラミングスクールに入学するという選択肢もあります。
まとまった時間が必要になりますが、習得に必要な時間は大幅に減らすことができるはず。
就職支援付きのプログラミングスクールであれば、
という3ステップをスムーズに実現可能です。
また、オフラインで通学するスタイルのスクールであれば、同じ教室に通う仲間ができるのも大きなポイントです。
切磋琢磨する相手がいるか、悩みを共有できる相手がいるかで、プログラミング学習のモチベーションは大きく変わってきます。
当社が運営する「GEEK JOB」は、最短22日でプログラマーとして就職できる実践的なプログラミングスクールになっています。
プログラミング学習と就職活動それぞれに専門のメンターが付き、あなたのプログラマーへの就職を完全無料で支援します。
受講生の多くが未経験者で、パソコンを触ったことも殆どないという方もプログラマーに就職できた実績があります。
「プログラマーになりたいけど、どうやって学習すればいいかわからない」、「せっかくプログラミングを身に着けても、面接の場でどうアピールすればいいのかわからない」といった悩みも、GEEK JOBなら全て解決できます。
プログラミングの体験も毎週行っていますので「まずは少しプログラミングをやってみたい」という方も、ぜひ遊びに来てみてください!