- Published on
プログラミング学習で挫折する9割に入らない方法
- Authors
- Name
- Shou Arisaka / 有坂翔
プログラミング学習の経験者で、プログラミング学習をやめたことがある、挫折したことがある人の数は、私達が想像する以上に多いようです。 あるエンジニア育成スクールの調査によると、アンケート調査の結果、プログラミング学習を中断、挫折したことがある人が9割を占めることが分かっています。
それでは、なぜこんなにも多くの人が、プログラミングに挫折してしまうのでしょうか。 今回は、プログラミング初心者がプログラミングの学習中に挫折してしまう大きな理由について、そして、壁を乗り越え、プログラミングに挫折しない方法をご紹介します。
プログラミングの挫折率
上記で説明した通り、プログラミング学習者は、そのうちの多くが挫折を経験しています。 マンツーマンオンラインプログラミング塾「侍エンジニア塾」がおよそ300人のプログラミング学習者に行ったアンケート調査によると、そのうち、およそ87%が挫折を経験していたことが分かっています。
プログラミング学習者の約9割が挫折を経験 =侍調べ= | ICT教育ニュース約9割にあたる87.5%が挫折や行き詰まりを経験していた。挫折や行き詰まりを感じた理由を訊ねたところ、1位は「気軽に聞ける環境になかった」40.8%、2位は「エラーが解決できなかった」36.3%となった。特に、独学(市販本、Webなど)で勉強する人ほど「気軽に聞ける環境になかった」と回答した人が多かった。
マンツーマンオンラインプログラミング塾「侍エンジニア塾」を運営する侍は、8月にプログラミング学習の挫折についてのアンケートを実施、298名から得られた結果を今月2日に公表
それでは、プログラミング学習者が挫折してしまう理由は、一体どこにあるのでしょうか。見ていきましょう。
プログラミング初心者が挫折してしまう理由
プログラミングに挫折する理由というものは、実はある程度決まっています。大きく分けて、「環境構築」と「エラー」、そして「独学」です。順番に見ていきましょう。
プログラミングの環境構築で挫折する
プログラミングを開始するためには、プログラミング言語やその他の必要なものをダウンロード、インストールする必要があります。これらの作業はプログラミングを行うための環境を作るということから、「環境構築」と呼ばれています。
そして、この環境構築で挫折するケースが多いという事実があります。プログラミングの環境構築の手順は複雑なものが多く、特に初心者によっては一筋縄ではいかないところがあるようです。
例えば、人気言語の一つ、Ruby言語をWindowsオペレーティングシステムにインストールし、環境構築を行い、プログラミングを開始することができるようになるまでには、いくつものステップを踏む必要があります。
「プログラミングの環境構築で挫折しない方法」については、この記事を下部にスクロールすることでご覧いただけます。必ずご覧ください。
プログラミングのエラーで挫折する
環境構築の次に多い挫折が、「エラー」です。環境構築を無事に行うことができたとしても、プログラミングにはエラーというものがあります。聞いたことがある方も多いかもしれません。
エラーはどういった場合に発生するのでしょうか。プログラムのエラーが発生する理由は、大きく2つ存在します。
一つが、あなたが書いたプログラムが間違っている場合です。私達はロボットではありませんから、完璧なプログラムを最初から書くことは不可能です。 もう一つが、あなたが使うプログラムにミスがある場合です。
一つ目はわかりやすいですね。例えば、意味のないめちゃくちゃなコードを実行すれば、当然エラーになってしまいます。 それでは二つ目はどういうことなのでしょうか。
プログラムには、フレームワーク、ライブラリといったものがあります。私達は、プログラムを全て0から書く必要はありません。 例えば、ブログのウェブサイトを作ってみたい、とあなたが思ったとしましょう。アメーバブログのようなサイトを0からコードを書いて作るのは、とても骨が折れます。このような場合、あなたはブログのフレームワークを使うことができます。WordPressなどが、それに該当します。
WordPressのプログラムに間違いがあった場合、あなたがWordPressのプログラムや、PHPを正しく書いていたとしても、エラーが出てしまう場合があるのです。これが、この二つ目のケースとなります。
「プログラミングのエラーで挫折しない方法」については、この記事を下部にスクロールすることでご覧いただけます。必ずご覧ください。
プログラミングを独学して挫折
プログラミングに挫折する理由として最もよく聞くのが、「独学」です。
プログラミングを続けることは、自分との戦いである部分が大きいところがあります。周りに頼れる人、教えてくれる人がいないような場合、独学のプログラミングには挫折しやすいです。
「プログラミングを独学して挫折しない方法」については、この記事を下部にスクロールすることでご覧いただけます。必ずご覧ください。
さて、それでは、「プログラミングで挫折しない方法」についての説明に入ります。プログラミングで挫折したくない方は、必ず目を通してください。
プログラミングの環境構築で挫折しない方法
プログラミングの環境構築で挫折するケースについて、お話しましたね。環境構築で挫折する理由は、環境構築の手順の複雑さが大きな要因であることが考えられます。 プログラミングの環境構築で挫折しない方法…それはつまり、環境構築のステップそのものを短くしてしまうことです。
プログラミングの環境構築が面倒、憂鬱だ、という考えは、プログラミング学習の初心者だけの考えではありません。実は海外のプロのプログラマーでさえ、普段使わないプログラミング言語や開発環境を構築することは億劫であると考えています。
そのような理念から生まれたソフトウェアがあります。これを使うことで、プログラミングの環境構築の手間をたった一度のステップにまで短縮することが可能となります。それは、「Docker」です。
:urls:docker
海外の調査では、Dockerは近年、最も人気でトレンドに乗っているオープンソースプロジェクトの第一位にも選ばれています。今を生きる現役のプログラマーで、Dockerの名前を知らない人はいないと言っても、過言ではないでしょう。
Dockerのデメリットは、プログラミング初心者には理解が難しく、敷居が高いことです。そのため、はっきり言います。プログラミング初心者の方はDockerを使わないでください。曖昧な理解で使い始めても、おそらく使いこなすことはできないでしょう。
今回あえてDockerを紹介したのは、ある程度プログラミングに慣れてきたら手を出してみてほしい、との考えからです。また、現時点でプログラミングをある程度経験している方であれば、Dockerに挑戦して見ることは悪い選択ではないでしょう。
それでは、プログラミング初心者がプログラミングの環境構築で挫折しないためには、一体どうしたらよいのでしょうか。
実は、プログラミングを始めることはとても簡単です。Google検索で"Ruby REPL"などと検索してみてください。 REPLは対話型実行環境、簡単な言い方をすると、プログラムのコードを、まるで人と対話するかのように、双方向的に実行できる環境のことを言います。こう言っても理解しにくいかもしれませんね。実際に、REPLを自分の手で触ってみるのが、理解の一番の近道です。
- Repl.it ruby オンラインエディター
- Repl.it java10 オンラインエディター
- Repl.it c オンラインエディター
- Repl.it html オンラインエディター
- Repl.it php_cli オンラインエディター
- Repl.it python オンラインエディター
上記のリンクをクリックして、実際にプログラムを動かしてみてください。 もし、まだプログラムを作ったことがなければ、簡単なRuby言語のプログラムを実行してみましょう。以下のリンクをクリックしてください。
Repl.it ruby オンラインエディターこのプログラムは、Ruby言語で実行できる最も簡単なプログラムの一つです。このコードをコピー・アンド・ペーストし、"Run"ボタンをクリックしてプログラムを実行してみましょう。
puts "hoge"
このようにプログラムを実行することができましたか?
Repl.itでは、以下のプログラミング言語を始め、数多くのプログラミング言語を、環境構築を行うことなくブラウザ上から実行することができます。 このようなREPLが利用できるサイトを利用すれば、間違いなく、プログラミングの環境構築で挫折する可能性は低くなるはずです。
- ruby
- java
- c
- html
- php
- python
プログラミングのエラーで挫折しない方法
上記では、プログラミングのエラーで挫折してしまう場合についてお話しました。 プログラミングのエラーには大きく分けて、書いたコードのエラー、利用するコードのエラー、この2つが原因となるということは、上記の通りです。
プログラミングのエラーに挫折してしまう人の大多数は、後者、利用するコードのエラーで挫折してしまうことが大半です。 プログラミングに慣れてくると、コードの量の多いプロジェクトに取り掛かることが増えていきます。熟練プログラマーは、このような大規模プロジェクトを自身で管理しきれなくなってしまうケースがあります。前者の、書いたコードのエラーに悩まされるのは、このような、ある程度進んだ段階です。
プログラミングをする上で避けては通れない概念が、ライブラリとフレームワークです。ライブラリやフレームワークは一人、または複数人、数十人規模で開発されているプロジェクトです。人の手によって開発されているので、当然、様々なバグが存在します。
また、ライブラリを使用せずとも、プログラミング言語自体もエラーを出すことがあります。しかし、プログラミング言語のエラーは検索すればすぐに解決できるものが多く、挫折に直接結びつくことはあまりありません。
それでは、ライブラリなどを使用した際のエラーには、どう対処したらよいのでしょうか。 ポイントは、大きく2つです。
- 英語でGoogle検索する
- Github Issue
順番に見ていきましょう。
プログラミングのエラーで挫折しないために、英語でGoogle検索する
あなたはもしかして、プログラミング学習中にエラーに遭遇した時、日本語でGoogle検索をしてはいませんか? プログラミングでは日本語はご法度です。英語ができない方は、Google翻訳を使ってでも、英語で検索してみましょう。
それでは、なぜプログラミングでは日本語を使わず、英語を使ったほうがいいのでしょうか。こちらについては、他の記事で詳しく説明してますので、可能な限り目を通しておいてください。
プログラミングのエラーで挫折しないために、Github Issueを活用する
Githubには、様々なプログラミング言語のプログラム、ライブラリ、フレームワークが集まっています。 エラーの原因が特定のライブラリやフレームワークにあるということが分かりきっている場合、Google検索をするよりも、Github Issueを検索したほうが効率的な場合があります。
プログラミングのエラーで挫折する最も大きな原因は開発環境
さて、プログラミングのエラーの原因と対策についてお話しましたが、実はもう一つ、とても重要な要素があります。 それは、「開発環境」です。
ここで言う開発環境は、オペレーティングシステムのことです。 あなたはおそらく、Windows 10を使っていると思います。もしかしたらMacかもしれません。
ここまでこんな重要なことを言っていなくて申し訳ないのですが、はっきり言います。 「WindowsやMacでプログラミングをすることはおすすめしません」 。
この話は非常に奥が深く、長い、長い話になりますので、記事を分けさせて頂いています。開発環境に不安のある方は、一度、目を通しておいてください。
WSL(Windows Subsystem for Linux)を初期から使っている僕がLinuxやプログラミングの初心者向けにWSLのメリットを解説してみる :urls:ubuntu :urls:windows プログラミング
なぜ、WindowsやMacでプログラミングをすることは非推奨なのでしょうか。 簡単に言うと、「WindowsやMacでプログラミングをするとエラーに遭遇しやすくなる」という理由があるからです。
プログラムの多くは、"Linux"で動作させることを前提に作られています。例えばRuby言語それ自体はWindowsやMacでも問題なく動作しますが、ここにnokogiriというライブラリをセットにして考えると、一気にWindowsやMacはエラーを出す確率が上昇します。
この記事でも既にご紹介したDockerもLinuxで動かすことを前提に作られています。それでもDockerは、Windowsでも"ベータ版"として動作させることは可能です。しかし、残念な事実ですが、このWindowsで動作するDockerは、数多くのバグが潜在的に存在しており、実用性には乏しいと言わざるを得ない代物です。加えて、Windowsの機能性の問題から、Windows 10 PROでのみ動作し、Windows 10 HOMEでは動作しません。
とはいえ、プログラミング初心者の方は、開発環境の問題をそこまで重要視する必要はありません。プログラミング初心者の場合、開発ソフトウェアやライブラリ、フレームワークを多用する機会が少ないですし、それらを複雑に組み合わせて大きなアプリを作る、といったこともまれです。
それでも、オペレーティングシステムがエラーの原因になる場合がある、ということを覚えておくことは、今後プログラミングを続けていく上で、必ず役に立ちます。
プログラミングを独学して挫折しない方法
プログラミングでは、一人で独学しようとすると挫折する可能性が上がります。しかし反対に、誰かプログラミングについて頼れる人を見つけることができれば、初心者のプログラミング学習者にとって、それは大きな成長のバネとすることができます。
プログラミング学習者の約9割が挫折を経験 =侍調べ= | ICT教育ニュース「気軽に聞ける環境」が学習を進めるサポートになることが分かったとしている。
それでは、一体どのようにして、プログラミングの相談ができる人を見つければいいのでしょうか。それでは、見ていきましょう。
メンターを雇う
MENTA(メンタ)は、月額制でいつでも相談できる、プログラミングメンターを付けることができるサービスです。
プログラミングについて学習をしていて分からないことがあれば、通常はGoogle検索や、スタックオーバーフローといった質問サイトを利用します。しかし、それで全てうまく行くならプログラミングに挫折する人が出るはずがありませんね。
MENTA(メンタ)では、プログラミング言語に特化した現役のフリーランスを、プログラミングの相談相手にすることが可能です。プログラミング初心者にとって、これほど頼もしいものはないのではないでしょうか。
プログラミングのオンラインコースを学ぶ
Udemyをご存知でしょうか。インターネットからオンラインで、まるでスクールに通っているような体験をできる、それがUdemyです。
Udemyなどオンラインのビデオレッスンで学習を進めることができるシステムを、オンラインコースと言います。Udemyをはじめとしたほとんどのオンラインコースでは、学習者が躓かないよう、オンラインコースの先生に直接質問をすることができたり、ユーザーフォーラムで分からないことについて話し合ったりすることができます。
このように、ドットインストールなど無料で利用できるレッスンには無いメリットを受けることができるのが、オンラインコースの特徴です。
プログラミングスクールに通う
国内には、数多くのプログラミングスクールが存在します。オフラインで、実際に顔を合わせてカリキュラムを進めていくタイプのものも、それはそれでメリットがありますが、必要以上に費用がかさむ、時間に拘束される、場所が都内に限定される、などの問題点があります。
TechAcademy [テックアカデミー]は、国内で知名度の高いオンラインプログラミングスクールの一つです。
僕がTechAcademyをおすすめする理由は2つあります。
一つが、費用の安さです。TechAcademyと同程度の知名度のある他社オンラインプログラミングスクールでは、およそ29万円から、というところ、TechAcademyはおよそ9万円から入会することができます。また、9万円といってもその分手抜きされるわけではなく、4週間みっちり学習することが可能です。
もう一つが、"オリジナルサービス開発サポート"です。下記でお話していますが、プログラミングでは好きなこと、やりたいことをやるべきです。作りたいアプリを作るためのサポートをしてくれるのは、おそらくTechAcademyだけです。
僕自身も、TechAcademyでは4週間お世話になったことがあります。他のオンラインプログラミングスクールではなくTechAcademyを紹介している理由は、実はここにあります。 当時の僕は高校生でしたので、出せるお金も大してありませんでした。およそ9万円という費用は、高校生には高いかもしれませんが、払えない額ではありません。同じ理由で、お金の無い大学生の方、主婦の方などにもおすすめしています。
TechAcademyでは、一週間の無料体験も実施しています。いきなりお金を出すのは難しいと思います。入会してから"こういう感じならやめとけばよかったかな"とならないためにも、一度、一週間の無料体験をおすすめします。
IT企業に就職する
現在、日本国内にとどまらず、世界中でプログラマー、システムエンジニアが不足しています。あなたも聞いたことがあるかもしれませんね。 その結果、未経験でもいいから当社のプログラマーになってほしい、という企業が跡を絶ちません。これは、初心者のプログラミング学習者にとって、チャンス以外の何者でもありませんね。
実は、プログラミング学習の最短の道は、実際に企業でプログラマーとして就職し、働くことです。これまでの常識では、スキルの無い人が専門的な職種につくことははばかられてきましたが、2020年現在のプログラマーは、完全に別問題です。
年収800万円以上のプログラマーを希望するなら、国内最大規模のプログラマー、システムエンジニア特化型の求人サイト、ギークスジョブへの登録をおすすめします。
もちろん、IT企業に就職することは、スキルがあればあるに越したことはありません。それに、全くの未経験からIT企業に就職して後から後悔することはできません。 どちらにせよ、Udemyなどを活用してある程度の基礎を学んでおくことは必須ですが、プロレベルのスキルを身に着けずともIT企業に就職することができるのは、この時代の大きなメリットです。
プログラミングに挫折しそう?
上記ではプログラミングで挫折する理由と、それぞれの対策について、詳しく説明してきました。
しかし、実は、まだ一つ、とても重要なことを私は伝えていません。
とても重要なことなので、必ず目を通して、このことについて、ご自身でよく考えてみてください。
さて、それではお伝えします。 これはどんなことにも、プログラミングでないことでも言えることです。プログラミングを長く学習している方で気づいていない方は、ほとんどいらっしゃらないかと思います。
プログラミングで挫折しないために絶対に欠かしてはいけないこと、それは、 「プログラミングを心から楽しむ」 ことです。
厳しい言い方になりますが、好きじゃないプログラミングを嫌々やっているような人は、絶対に良いプログラマーにはなれません。世の中には、収入が良いからという理由だけでプログラマーをしている"職業プログラマー"が実際に存在します。この記事をご覧になっている方には、そういう人にはなってほしくありません。
それでは、プログラミングを好きになり、心から楽しめるようになるためには、一体どうしたらよいのでしょうか。 その答えは…実は、答えはありません。プログラミングを楽しむ方法に、答えはないんです。
世界には、様々なプログラミングを楽しむ方法が存在しますが、それぞれの方法があなたに合っているかどうか、それは、あなた自身が自分で確かめなければいけません。
ゲームを作るのが好きな人がいれば、ウェブサイトをプログラミングするのが好きな人もいます。僕のように、仕事効率化ソフトウェアを作るのがプログラミングの楽しみになっている人もいます。 どんなプログラミングがあなたをワクワクさせるのか。これは、あなた自身の手で、時間を掛けて見つけていくしかありません。
しかし、私の経験から、いくつかアドバイスをさせていただきます。 私から言えるアドバイスは、「作りたいものを作ろう」です。
あなたが最初にC言語で計算機アプリを作らなければいけない理由はありませんし、Python言語を一番最初にやらなければいけない理由もどこにもありません。 ブログで有名になってみたい。それなら、WordPressでHTML言語から始めてみましょう。 スマホアプリで一発当てたい。それなら、Java言語やSwift言語に挑戦してみましょう。
プログラミングを始める理由が一つではないのと同じく、プログラミングを挫折せず続ける理由も一つではありません。 プログラミングをやめてしまう前に、一度自分とよく向き合い、自分が本心では何をやりたいと思っているのか、よく考えてみましょう。
まとめ
さて、これまでプログラミングで挫折しない方法と対策について、説明してきました。難しい部分もあったと思いますが、理解できましたか?一度に理解することは難しいかもしれません。経験を積むことで、誰に教わらずとも、自然に理解することができるようになっていきます。
最後になりますが、プログラミングに挫折しそうな方に、この記事で私が一番伝えたかったことを引用して、記事の締めとさせていただきます。
プログラミングを始める理由が一つではないのと同じく、プログラミングを挫折せず続ける理由も一つではありません。 プログラミングをやめてしまう前に、一度自分とよく向き合い、自分が本心では何をやりたいと思っているのか、よく考えてみましょう。