プログラミングの独学は不可能ではない!挫折しないための3つのポイント!

はてブ

これからエンジニアを目指すためにプログラミングを勉強しようと考えている人もいるかと思います。そんなプログラミングの勉強をしようと考えている人に、経験者たちは独学では無理だからプログラミングスクールで勉強する方がいいというアドバイスをする人が少なくありません。確かにプログラミングスクールでは、専属の講師や現役のエンジニアによる講義を受けることができるので、効率的に勉強をしていくことができます。ですが、プログラミングスクールでの勉強は非常に高額な費用や、プログラミングスクールに通える環境でなくてはいけません。すべての人がプログラミングスクールに通うことができる環境ではありませんので、独学でプログラミングを学んでいきたいと考える人も少なくないはずです。そこでこの記事では、果たして本当にプログラミングを独学で学ぶことはできないのか、プログラミングを独学で学ぶためにはどうしていくのがいいのかなどを解説していきます。

プログラミングの独学は無理だ!と言われたことがあるけども…

プログラミングを独学で勉強することは不可能と言われたことがある人も少なくないかと思います。ですが、本当に独学では無理なのでしょうか。確かにプログラミングスクールに通うことで、エンジニアなど現役のプログラマーに教えてもらえることができたり、過去に卒業してプログラマーになっている人がいるように実績はあるかもしれません。ですが、だからといって全ての人に対してプログラミングスクールが向いているとも限りません。人間には向き不向きがありますので、プログラミングスクールでの学習よりも独学の方が向いている人も少なくありません。また、プログラミングスクールは、通うことに高額な費用が必要になるだけでなく、自宅から近くにスクールが無い人もいてます。ですので、万人がプログラミングスクールに通える環境ではありません。そして、本人のやる気や目標があれば独学でも可能という声も少なからずあります。そこでここでは、本当に独学ではプログラミングを勉強することが無理なのか、仮に独学でしていく場合に、プログラミングを習得するまでにどれぐらいの時間が必要なのかを解説していきます。

独学は無理じゃない!

結論から言うとプログラミングを独学で学習するのは無理ではありません。勘違いしている人が多いようですが、プログラミングスクールに通ったからといって100%プログラマーになれるわけではありません。塾などに通うことで100%志望校に合格できるわけではないことと同じで、プログラミングスクールでは、プログラマーになるために必要なカリキュラムや講師による指導といった、勉強するために必要な場所を提供してくれるだけで、プログラマーになれるかどうかは本人の努力次第になってきます。ですので、独学だからといってプログラマーになることができないとは言い切れません。ですので、プログラミングが独学では無理ではありませんが、それは人によるもので独学でもキチンと勉強できるのであれば問題ありませんが、独学ではどうしても甘えが出てしまうので、講師による指導がないと不安なのであればプログラミングスクールの方がいいでしょう。結果プログラミングを独学で学習することは不可能ではありませんが、本人が挫折することなく継続していくことができればという条件はついてしまいます。

プログラミングを独学で習得できるまでの期間は?

ではプログラミングスクールに通うにしろ独学で勉強するにしろ、どれぐらいの期間プログラミングについて学習すればいいのでしょうか。それは、3ヶ月間およそ200時間程度勉強するといいでしょう。この期間みっちりと勉強することで最低限業務がこなすことができるようになります。それほどプログラミングを学習するということは難しいことであり、逆にこの期間である程度の芽が出てこなければプログラミングは諦めた方がいいかもしれません。長く継続することで理解することができるという人もいますが、プログラミングを学習する人のほとんどが途中で挫折してしまうほどに辛いものになっています。その辛い学習を半年や1年続けていくことはほぼ不可能になり、挫折して終わってしまいます。ですので独学で勉強していくにしても3Kかヶ月間と期間を決めてその期間はミッチリとやる短期集中で勉強していくといいでしょう。この期間である程度プログラミングの基礎を理解し、業務ができるようになったのであれば、フリーランスコミュニティやプログラマーとして就職するなどして継続して学習していくといいでしょう。

独学は何からはじめる?プログラミングの初心者に向いている言語とは

これから独学でプログラミングを学んでいこうとしているのであれば、まず準備をしっかりしておかなければいけません。当然必要になってくるのがパソコンですが、プログラミングに使うパソコンとしてWindowsとMacでよく比較されていますが、プログラミングを学んでいくのであればMacがおすすめです。Macの方がWindowsに比べてハイスペックであるだけでなく軽量でコンパクトですので、持ち運びにも便利です。自宅でするのであれば持ち運びにを考える必要はありませんが、今後勉強していく中でセミナーやインターンに参加する可能性もありますので、持ち運びに便利なノートを選ぶのが良いでしょう。当然既にWindowsを持っているのであれば無理にMacに買い換える必要もありませんが、目標としてiOSアプリの制作を考えているのであればMacは必須となります。プログラミングを学習する環境を整えることができたら、学習するプログラミングの言語を選択する必要があります。プログラミング言語には全部で200種類以上の言語があり、そのすべてをマスターすることは不可能になっています。ですので、自分の目標に必要な言語を正しく選択して効率的に目標に向かっていく必要があります。そこで初心者におすすめの言語ですが、Swift・Java・Kotlin・HTML・CSS・Rubyなどの言語が比較的初心者向けの言語になっているのでおすすめです。ただし、先ほども説明したようにそれぞれの言語には、iOSアプリやAndroidアプリやWebページを作成するのに必要な言語ですので、とりあえずどれかから始めるのではなく、自身の目標にあった言語を選ぶようにしましょう。

プログラミングの独学を挫折しないためには

プログラミングを挫折してしまう人が少なくありませんが、何が原因で挫折してしまうのでしょうか。多くの人はプログラミングへの理解ができずにモチベーションを保つことができずに挫折してしまいます。ですが、モチベーションを保つことができない人の多くは、プログラミングを通じて何をしたいのかなどの目標が明確に定まっていない場合が多いようにも感じられます。人間というものは目標があることで、そこに向かってやっている間はモチベーションも高く、色々な事を吸収しやすくなっています。そこでプログラミングを挫折しないためにも、将来設計などプログラミングの学習を通してどうなりたいかなどの目標が重要になってきますただし、目標設定だけではモチベーションを保つことが困難になってしまうこともあります。そこでここでは、モチベーションを保つ事以外でもできるプログラミングを挫折しないためにできることを紹介しておきます。

ステップ1:作りたいものを決める

まず最初に目標設定をします。ただし、ここでの目標設定はプログラミングを通じてどうなりたいとかの大きな目標ではなく、今目の前でできることについての目標です。今自分はどのようなものを作りたいのか、このような小さな目標を少しづつクリアしていくことで、次第に大きな目標を達成することができるようになります。特に独学の場合は、誰に相談することもできませんし、プログラミングを理解するために一から教えてもらえるなんてことはありません。教材などを利用しての学習がメインになりますので、その教材を理解することでプログラミングスキルを上達させていく方法がメインになってしまいます。ですのでいきなり大きな目標を目指すのではなく、このようなウエブサイトを作りたいとか、身近に達成可能な目標を設定していくようにしましょう。また、どうしても作りたいものが決められないのであれば、将来目標から作りたいものを探すのも一つの方法です。たとえば今はAIの時代でAIに関する市場で働きたいと考えるのであれば、そのAIの分野で働くには何を作れるようにならないといけないのかを調べ、まずはそこから始めていくのもモチベーションを保ちながら挫折しないで独学でやっていく方法の一つになります。

ステップ2:学ぶべき言語を決める

造りたいものが決まったら、学ぶべきプログラミング言語を選んでいきます。プログラミング言語には200種類以上の言語がありますので、それらを全て理解しようということは不可能と言ってもいいでしょう。また、仮に色々なプログラミング言語を学んで行ったとしても、自分の目標に向かっていないのであれば、挫折してしまう可能性も高く、プログラミングを学習する上で遠回りでしかありません。ですので、先ほど設定した作りたいものに対して必要であるプログラミング言語を選定し、それを勉強していくことが一番目標に向かっていくことになり、独学であっても挫折しにくくなってきます。たとえばiosアプリを作りたいのであれば、初心者でも扱いやすくiosアプリの開発に必須となっている【Swift】や、Androidアプリを作りたいのであれば、Androidアプリだけでなく様々な分野で取り扱うことができる【Java】や、ウエブアプリを作りたいのであれば、ウエブアプリには必須の【HTML・CSS・Ruby on Rails】などといったように、作りたいものに特化して必要な言語を選択しましょう。

ステップ3:環境構築とツールの使い方を学んでみる

プログラミングを独学する上で必要になってくるのが環境構築で、環境構築とはパソコンでプログラミング言語を動かせるようにするために、周囲の環境を整えていくことです。ここでいう周囲の環境とは、プログラミング言語を使えるようにするために、ソフトウェアを導入したり、その設定をしていくことです。この設定までをキチンとしておくことによって問題なくプログラミング言語を起動できるようにします。例えば一般家庭でもエアコンやテレビなどを購入しても、ただ置いているだけでは使うことができません。ですので、エアコンの室外機の設置やブレーカーの調整などをしていくかと思いますが、プログラミングを学習していくための用意をしておくことと考えておくと分かりやすいかもしれません。また、自分ですべてを整えるのが難しいとここで挫折してしまう人もいますが、IDEと呼ばれるソフトウェアを利用することで、ソフトウェアを開発するのに必要なツールが全て揃っている便利なソフトウェアですので、特に難しく考えることなく設定することができます。他にも目標に合ったツールを揃えることで、自身が目標にしていることの作業を出来るようになります。例えば、Macを使ってiOSアプリを作成していきたいのであれば、Xcodeと呼ばれるツールを利用することでiOSアプリの作成に役立つソフトウェアが用意されています。ただし、このXcodeはMacにのみ対応しているので注意が必要です。他にもAndroidアプリを作成したいのであれば、Android Studioを利用することでAndroidアプリの作成に役立てることができます。Webサイトの場合では、テキストエディタとWebブラウザがあれば作成をすることができるなど、それぞれ作成したいものに応じたツールを選ぶ必要があります。

独学でプログラミングできるまでの期間目安は?

次にプログラミングを独学でこなしていくことができるようになるまでの期間の目安としては、先ほども少し解説しましたが3ヶ月を目安に考えるのがいいでしょう。3ヶ月でおよそ200時間勉強することである程度プログラミングに対する向き不向きを判断することができ、この期間でプログラミングについてある程度の理解ができないのであれば、それ以上勉強してもプログラミングをマスターするのは難しいと言われています。これは、人間が集中して学習できる期間が短いこともあり、それ以上勉強しても集中することが難しく、長く続ければ続けるほどに挫折しやすくなるからで、1年以上続けて挫折するぐらいであれば、3ヶ月と期間を決めてそこまでにある程度理解できなければ止めると決めるのがいいかもしれません。いつまでもダラダラと続けて最後に挫折するぐらいならば、期間を設けてそこまでに出来なければ諦める方が、より集中して学習に取り組むこともできますし、仮に諦めることになったとしても新しい道へ早くに進むことができるようになります。ですので、まずは人間が集中できる3ヶ月を目標にしておき、3カ月で理解することができたのでああれば、就職など新しいステージに進んでいくようにするのがいいでしょう。ただしプログラミングを習得したかの判断基準は、人によって様々でプログラミング言語を一つマスターしたから習得なのか、簡単なアプリなどの制作ができるようになったから習得なのか、これだけでも大きな違いとなってきます。ここでは、簡単なアプリでも制作できるようになることを習得と前提として、Webサイトの制作・アプリの開発にかかる期間について紹介します。

Webサイト(単一)の場合

それぞれプログラミングを学習していく目標があると思いますが、目指すものによってできるまでの期間は違ってきます。まずWebサイト製作ができるようになるまでの期間ですが、おおよそ1ヶ月程度である程度製作できるようになるまでになると言われています。Webサイト製作では、HTMLとCSSをプラウザ上で組み合わせることができるようにならないといけませんが、HTMLとCSSとグラフィックの知識があれば十分にWebサイトを制作することはできるようになります。HTMLとCSSを学習する上で必要なのがブラウザとテキストエディタで、この二つさえあれば十分に対応していくことができます。また、HTMLはそれほど難しいものではないので、挫折することなく1カ月程度あれば十分に習得することができます。CSSはコードが非常に多くすべて覚えることは現実的に不可能ですが、どのように構成されているのかさえ理解していれば、辞書で調べることができますので、どこを調べれば答えを見出すことができるのかさえできるようになれば基礎知識としては十分合格点と言えます。

総合サイトの場合

先ほど紹介したのはWebサイトでも単一のサイトになりますが、総合サイトでは単一サイトとは少し違ってきます。総合サイトでは、単一サイトを制作するよりも非常に難易度が高く、基礎ができているから問題ないというレベルではありません。先ほどから説明している目安の期間200時間とは、エンジニアとして就職できるレベルになっていて、現在はエンジニアが少ないこともあり、比較的短い時間で身につけた基礎さえできていれば就職できる世の中になっています。そして、就職してからサービス開発ができるまでを仕事をしながら覚えていくような感覚になっています。ですので総合サイトのような複雑なサービスが一人でできるようになるまでには、200時間ではとてもじゃありませんが足りません。結果として総合サイトを一人で開発できるようになるまでは、およそ800時間は必要と言われています。これを独学だけでこなしていくと、毎日8時間勉強したとしても3ヶ月必要になり、ほとんどの人が1日に8時間もの時間を割くことができません。実質社会人などで毎日勉強可能な時間でいうと3時間程度かと思いますが、それでは習得までに9ヶ月は必要となり、挫折をしてしまうことになるでしょう。ですので、多くのエンジニアは就職して実務をこなしてスキル取得に励んでいるのが実情になっています。Web総合サイトを制作したいのであれば、基礎部分を200時間程度でマスターしてしまい、就職したのちに実務経験を積んで制作できるようになるのがいいでしょう。

アプリの場合

最後にアプリの制作ですが、作りたいアプリの種類や性能によって異なってきますが、当然アプリ制作にもプログラミングの基礎と言語を学習する必要がありますが、他にもサーバーやデータベースの知識を学ぶ必要があるため、プログラミングの学習時間としては300時間ぐらいは必要と言われています。そして、プログラミングの基礎を学んでから実際にアプリの制作にかかる時間ですが、電卓や日記などの比較的単純なアプリであれば、基礎知識さえあれば半日程度で作れるようになります。他にも2チャンネルなどといった掲示板をアプリで制作するとなると240時間以上必要と言われています。

挫折の最大の壁は自分

プログラミングは途中で挫折してしまう人が非常に多いですが、それは単にプログラミングが難しいからというわけではなく、モチベーションを保つことができないなどの、自分で自分に壁を作ってしまうことが原因となっています。特に独学で勉強する場合には、周囲からできたことに対して褒めてもらうこともなく、相談相手がいないことも災いして、自分で自分を追い込んでしまう傾向にあります。そういった自分の壁を打ち破らないことにはプログラミング学習を独学でしていくのは難しくなってしまいます。また、プログラミングを勉強して自分はこうなりたいとか、こういったものを作っていきたいなどの目標がなく、ただ単になんとなくプログラミングを覚えようかといったあいまいな感じでは、モチベーションを3ヶ月もの期間継続するのは非常に難しくなってきます。ですので、まずは自分がプログラミングを勉強してどうなりたいのか、明確に目標を作ることが大事になってきます。そして、その目標に向かっていくためにはどのようなことが必要なのか考える必要があります。そいった一つ一つを少しづつでもクリアしていくことで、人間はモチベーションを高めていくことができます。これからプログラミングを勉強していこうと考えているのであれば、プログラミング学習の最大の敵は自分であると常に意識しておきましょう。

独学から就職や転職をするために必要なことは?

独学であってもプログラミングスクールに通っている人でも、就職では自分がいかにできるかをアピールしなければいけません。プログラマーとは、過去に自分で制作したものが財産になり、企業側としてはそれらを参考に採用するかを判断しています。特にプログラマーを採用したいと募集をかけている企業では、年齢や資格で判断することはほとんどありません。いかにこの人材が自分たちが求めているものを制作してくれるかが最大の判断材料になります。ですので、面接に行く際には自分が持っている可能性や、自分が働くことによってどのような利益をもたらすことができるかなどを、どんどんアピールしていかなければいけません。また、企業の求めていることが自分が過去にやってきたことがマッチしているかなども、アピールしていきたい内容となっています。

自分で作ったオリジナルの作品を公開しよう

先ほども説明しましたが、企業側が採用するかの判断については、最大の要因として自分たちが求めているものを製作できるのかどうかです。他にもエンジニアは人手不足という背景もあり、将来性で採用を決める場合もあります。それらを判断する材料としては、過去に作ったものが判断材料になります。ですので、自分で制作したオリジナルの作品を見せるのがいいのですが、ただ単に見せるのではなく、制作した作品をインターネット上に公開するなどして、少数でも利用しているという実績を見せることができれば、それを見ることで制作したものに対して集客力があると判断することができます。ただし、一つ注意しなければいけないのが個人情報などに関することです。セキュリティ対策をされていない場合は公開すべきではありませんし、公開することによって逆影響になってしまう場合もあります。ですので、可能であれば法律に基づいた指導の下、万全のセキュリティ対策をしておくようにしましょう。

エージェントに登録しよう

独学でプログラミングを学習して、就職をかんがえるようになったらエージェント登録をしておきましょう。エージェント登録とは、登録することで自分が求めている求人の紹介や、職務経歴書の削除や、給料の交渉など就職に役立つスペシャリストの事です。当然自分でインターネットなどを通じて求人を探すのもいいですが、エージェントに登録しておくことで、エージェント担当者と面談(希望の職種や条件など)の後、履歴書と職務履歴の削除と修正をしてくれるので、あとは希望に合った求人が紹介されるのを待つだけでよく、応募したいと判断すればあとは面接をするだけで簡単に就職先を見つけることができます。また、個人では中々言い出すことのできない条件に関しても、エージェントが交渉してくれますので自分の希望に沿った就職をしやすくなります。ただし、エージェントには得意不得意がありますので、自分が希望している職種を得意としているエージェントを探すようにしましょう。

それでもプログラミング学習で挫折しそうになった時にするべきことは?

ここまでの記事を読んでそれでもまだプログラミングを挫折してしまいそうだと感じている人もいるかと思います。どうしても挫折しそうだと感じてしまうのであれば、イベントなどに積極的に参加することで横の繋がりを作ることで、同じ目標をもった仲間がいるだけで非常に心強くなります。他にもネットに自分が作成した作品を投稿して他人からの評価をもらうのも一つの方法です。他人から評価してもらうことで客観的に自分の現状を見つめなおすことができるようになります。そこまでしても尚挫折しそうなのであれば、自分が今まで使ってきた教材で問題なかったのか、自分にはこの教材は有っていなかったのではないのか。目標に対して自分が組んできたプランで目標に届かすことができるのか、期間を3ヶ月に設定していたが、果たしてこのペースで期間内にプログラミングを理解することができるのかなどについて、もう一度しっかりと自分と向き合って考えてみるのがいいでしょう。それでもどうしても不安が残るのであれば、独学ではなくプログラミングスクールに通うなど方法を変えることも検討した方がいいかもしれません。

独学のときにおすすめの本

最後になりましたが、独学でプログラミングを勉強するのにかかすことができない教材ですが、ここでいくつかおすすめの教材を紹介しておきます。教材の中には、専門的な文字の羅列ばかりで初見では全くわからないかと思いますが、教材の中にはプログラミング未経験の人でも読みやすい教材がありますので、そういった教材を選ぶようにしましょう。まず1つ目におすすめの教材は、【ちゃんと使える力を身につける Webとプログラミングのきほんのきほん】です。この教材では、プログラミングの基礎部分を重点的に学習することができ、プログラミング言語によって多少の違いはあるものの、プログラミングの根本を理解することができる教材になっています。また、プログラミングの知識だけでなく、Webページやインターネットの仕組みなども学習することができる教材になっています。2つ目のおすすめ教材は、【おうちで学べるプログラミングのきほん】です。この教材では、本では理解できない人におすすめの教材で、自分のパソコンを使ってプログラムが動く仕組みやOSとプログラムの関係などを、実際に体感しながら学習することができます。他にもプログラミング言語の違いも解説しているので、これからプログラミング学習を始める人におすすめとなっています。3つ目のおすすめ教材は、【これからはじめるプログラミング基礎の基礎】です。この教材を読んだことでプログラムを組めるようにはなりませんが、プログラムの基礎中の基礎を学ぶことができ、この教材に書かれている内容を理解できなければ、プログラムを組むことは到底できないほど重要な基礎を学ぶことができます。ここではプログラミング教材の中でも、比較的基礎部分にあたるものばかりを紹介してきましたが、これからプログラミング学習を始めようと考えているのであれば、基礎は非常に重要になってきますし、基礎ができなければプログラムを組むことは不可能になってきます。また、どうしても本では理解することが難しいというのであれば、動画で学習する方法もありますので、自分にあった勉強方法を確立していくようにしましょう。

関連記事