これからプログラミングを学びたいけど、独学とスクールどちらを選ぶのが良いの…?
このようにお悩みの方に向けて、今回は独学でプログラミングを習得した僕が、プログラミングを学ぶなら独学とプログラミングスクールのどちらを選ぶべきかをお伝えさせて頂きます。
前提として、今回はタイトルにもある通り社会人の方向けの記事として執筆をさせて頂きます。
- 独学とプログラミングスクール、どちらを選ぶべきかを判断する基準
- 独学のメリット・デメリット
- プログラミングスクールのメリット・デメリット
- おすすめのプログラミングスクール(早期転職・スキルの早期習得が目標の方向け)
- 現在ITとは関係の無い仕事に就いており、今後はプログラマ・SEなどITエンジニアへの転職を検討している
- 独学とスクールのどちらでプログラミングを学ぼうか判断しきれずにいる
僕はプログラミングを独学で学習し、最終的に習得したと言えるラインに到達できたと自負しています。しかし、その過程で学習効率や挫折ポイントについて意識するタイミングが何度もありました。
それを踏まえ、今回は独学とプログラミングスクールのどちらを選ぶべきか、僕なりの考えをお伝えさせて頂きます。
また、本記事の最後の方では早期転職やスキルの早期習得を目指している方に向けてオススメのプログラミングスクールもご紹介していますので、ぜひ最後までご覧下さい。
この記事を読んで頂き、どっちで勉強していくかという答えが見えたなら大変嬉しいです!
Web制作の副業にご興味のある方には以下の記事もおすすめです。
【結論】独学とプログラミングスクールのどちらを選ぶべきか?
結論ですが、独学とスクールのどちらを選ぶべきかは、完全に人によります。
というのも、独学にもプログラミングスクールにもメリットとデメリットが存在し、その影響の大きさは人それぞれの価値観や環境、状況によって様々だからです。
とはいえ
「人によるからあとは自分で決めてよ」では記事を書く意味がないため、ここから先は、
まず、どのような方が独学とスクールのどちらに適しているのかという結論をお伝えし、
それに対する根拠を独学とスクールの各メリット・デメリットと併せてご説明していきます。
この記事をお読みいただき、
「では自分はどちらを選ぶべきなのか?」
という判断のヒントになれば幸いです。
独学とスクールの違いをしっかりお伝えしていきます!
独学とプログラミングスクールそれぞれに向いている人の特徴・状況
独学が向いている人(スクールに通う必要が無い人)
独学が向いている(スクールに通う必要が無い、スクールに通わなくても大丈夫な)方の特徴・状況は以下の通りです。
- あまり大きな投資はしたくない人(なるべく無料で勉強をしたい人)
- まとまった時間を取ることが難しい人
- プログラミングの習得に時間がかかっても問題が無い人
- スキルの習得が急務でない人(仕事や就職で利用しないなど)
- 他人と関わらずに勉強を進めたい人
- ひとりでもなんとかハードルを乗り越えていけそうな人
- とにかく自分で自走力(問題解決力)を高めたい人
余談ですが、この中で僕が当てはまったのは
- ひとりでもなんとかかんとかハードルを乗り越えていけそうな人
以外すべてでした。
(つまりほぼ全部……)
僕は大の人見知りで大きなお金を投資することにも抵抗がありました。
その一方、プログラミングの習得は半分趣味みたいなところもあったので、スクールに通うほど切羽詰まっていないという状況でした。
もはや独学とスクールを天秤にかける間もなく気が付いたらチマチマと独学で勉強をしていたという感じです。
同じ状況の方でしたら、まずは独学から入るのがオススメです!
プログラミングスクールが向いている人
続いてプログラミングスクールが向いている人の特徴・状況です。
- 金銭的に余裕がある人
- まとまった時間が取れる人
- 少しでも早く効率的にスキルを身に付けて転職したい人
- なんらかの理由で短期集中でスキルを習得する必要がある人
- ひとりで学んでいける自身が無い人
- 誰かと一緒に学んでいるという感覚がモチベーションに繋がる人
こちらは言ってしまえば独学が向いている人の特徴・状況とおおよそ反対の内容になっています。
早期転職を目指したい、短期間で効率的にスキルを習得したいという方にはスクールがおすすめです!
独学だと年単位の時間がかかります……(経験談)
独学とプログラミングスクールのメリット・デメリット
ここからは前述した特徴・状況について、独学とプログラミングスクールのメリット・デメリットと絡めながらご説明していきます。
独学のメリット・デメリット
まずは独学のメリット・デメリットから。
説明の要所要所で「独学が向いている人の特徴・状況」の内、関連する特徴を再掲しますので、こちらと比較しながら説明をご覧頂ければと思います。
メリット
- やろうと思えば初期投資以外はお金がかからない
- 自分のペースで勉強を進められる
- エラー発生時などの問題をすべて自己解決することになるため問題解決能力が鍛えられる
やろうと思えば初期投資以外はお金がかからない
- あまり大きな投資はしたくない人(なるべく無料で勉強をしたい人)
独学は極論を言ってしまえば初期投資としてパソコンとWi-Fi環境を準備さえしてしまえば、その後の学習をすべて無料で進めていくことも可能です。
よって、お金をなるべくかけたくない方に向いている学習方法と言えます。(特徴その①)
(実際には本や学習サービスで学んでいく人が大半だと思うので完全無料とはならない場合が多いと思います。)
自分のペースで勉強を進められる
- まとまった時間を取ることが難しい人
- プログラミングの習得に時間がかかっても問題が無い人
- スキルの習得が急務でない人(仕事や就職で利用しないなど)
- 他人と関わらずに勉強を進めたい人
独学は自分のペースで勉強を進めることが可能です。
例えば今日は3時間、次の日は30分、というようなその日の気分に合わせた学習ペースで取り組むことができるため気持ち的に負担が少ないです。
そしてコツコツと無理の無いペースで勉強を進めることができるためストレスフリーで楽しいです。
これは特徴その②、③、④、⑤に当てはまります。
つまり時間的な余裕があったり、他人と関わらないで自分のペースで勉強がしたいという方にも独学は向いています。
時間に余裕があるなら一度は独学を選んでみるのが良いと思います。
エラー発生時などの問題をすべて自己解決することになるため、問題解決能力が鍛えられる
- ひとりでもなんとかハードルを乗り越えていけそうな人
- とにかく自分で自走力(問題解決力)を高めたい人
僕はプログラミングを独学で学習する最も大きなメリットはこれだと考えています。
プログラミングは本当にエラー・不具合の連続です。
自分が書いたコードに1文字でも誤りがあると、期待した通りの動作をしてくれません。それがプログラムです。
僕自身、勉強をしていて未だに頭を悩ませることがあります。
エラーでなくても、「どうしてか上手くいかない……やりたい通りにならない……」という詰み状態に陥って、長いと1週間ぐらい同じ問題でうーんと唸っていることすらあります。
しかし、こうした時間を多く経験することでエラーの対処能力や実現したいことをプログラムで書く能力(論理的思考力)がとにかく鍛えられていきます。
これは、先生にすぐ質問ができてしまうスクールでは磨きづらい力です。
ところが、この力こそが実際にプログラミングをする上で最も重要となるため、プログラミングを習得するのであれば、いずれにしてもこの「うーん」と唸る時間は経験する必要があります。
※一部の天才を除く。
筋トレと同じで地道に鍛えていくしかない部分なのです!
そういうわけで、独学でプログラミングを学ぶ意義は大いにあるとケケンタは思っています。
デメリット
- ひとりで勉強をするためモチベーションが維持しづらい
- 勉強の進め方が分からず非効率的な学習をしてしまいがち
- 分からないことがあったとき質問できる相手がいない
ひとりで勉強をするためモチベーションが維持しづらい
学生時代にご経験がある方もいるのではないかと思いますが、ひとりで勉強をしているとどうしてもモチベーションが上がらず、例えば動画やゲームなどの娯楽に走りがちになります。
プログラミングの独学においても同じことが言えます。
- 仕事で疲れている
- 何かの問題にぶつかり思うように勉強が進められない
- 観たいテレビ番組がある
など、何らかのキッカケで勉強のモチベーションが低下し、気が付けばそのままプログラミングの勉強自体を辞めてしまっているという流れです。
転職や作りたいアプリがあるなど、何かしらの目標が無いとどうしても勉強は継続しづらくなります。
これは独学における大きなデメリットの1つだと思います。
当時は工夫しているという自覚は無く、ただ楽な態勢でいたかっただけでしたが、そのお陰で勉強を継続することができ、結果的にプログラミングを習得することができました。
勉強の進め方が分からず非効率的な学習をしてしまいがち
初めてプログラミングの学習に取り組む場合、恐らく何らかの本を購入したり、学習サービスを利用して
「よし、やるぞ!」
とパソコンに向かうかと思われます。
それ自体はまったく問題なく、むしろ独学ならば当然のスタートです。
しかし、勉強を進めている内にこんな疑問が浮かんできたりします。
「この本(サービス)を終えた後は何をどう勉強すればアプリが作れるようになるの……?」
「いま書いているプログラムは実際にどう活かせばいいの……?」
こうした疑問が生じる理由としては、プログラミングは基礎的な内容ですら本当に覚えるべきことが多く、ほとんどの書籍・学習サービスが基本文法を紹介するだけに留まってしまい、実践的な内容に踏み込まない(というか本の尺的に踏み込めない)ためです。
言うなれば、数学のテキストで公式を学んで練習問題を何問か解くという学習方法に留まりがちということです。
もちろん実践的な内容を解説してくれている書籍・サービスも増えているため、そうしたものを選択していけばある程度必要な知識・スキルを学ぶことは可能です。
しかし、アプリを作れるようになるために必要な知識・技術を体系的に学ぶことができるスクールと比較すると、独学はどうしても非効率的な学習手法に陥りがちなのです。
僕もなんとかプログラミングができるようになりましたが、(マイペースに進めていたとは言え)そのレベルに到達するまで2年ぐらいかかったので効率はめちゃくちゃ悪かったなと痛感しています。
その結果、なかなかスキルが身に付かず、次第にモチベーションが失われて最後には挫折してしまうという道をたどる可能性もあります。
分からないことがあったとき質問できる相手がいない
プログラミングを独学で学ぶ上での最大の敵は挫折です。
プログラミング独学者の9割が挫折をしたという話をどこかのサイトで見かけた方もいらっしゃるのではないでしょうか。
それほど
独学のプログラミング学習ではいわゆる挫折ポイントが多い
です。
挫折ポイントの1つとして、不明点やエラー・不具合などが発生したときに質問できる相手がいないというのがあります。
いまはネット上で質問できるサービスがたくさんあるため、厳密には質問できる相手はいます。
確かにいるのですが、中でもエラー・不具合というのは、そのパソコン上の開発環境や書いたプログラム内容によって解決策が異なります。
そのため、現在発生している現象をただ伝えただけでは答える側も解答のしようがなく、上手く解決に結びつかないということもしばしば……。
これを回避するには、自分が書いたコードの内容や開発環境について上手く情報を載せる必要があります。
しかし、初学者の場合はそもそもどの情報を載せていいのか判断できないため、質問の俎上にすら上がれないということもあるのです。
自分の開発環境について上手く伝えられず、求めている回答が得づらいことで、問題が解決できずに勉強を前へ進めるしかないという状況も十分あり得ます。
……が、少ししてからまたその問題に立ち返ってみると「あ、こうすれば良いんじゃん」と、自分の成長に気が付くキッカケになることもあるので、悪いことばかりではありません!
プログラミングスクールのメリット・デメリット
ここまで独学のメリット・デメリットについてお話をしてきました。
続いてプログラミングスクールのメリット・デメリットをお伝えしていきます。
メリット
- 短期集中で効率よく学べる
- 挫折しづらい
- 就職支援を受けられるため就活がスムーズ
短期集中で効率よく学べる
各スクールでは、受講者ができるようになりたいことや習得したいことなど、目的に合わせた言語・技術ごとにコースを用意しています。
そのため、例えばWebアプリを作れるようになりたいという方には
- HTML/CSS
- Ruby/Ruby on Rails
- Git/GitHub
- Heroku
を順に学習していくカリキュラムが用意されていたりします。
このように、ある目的に合わせて必要な知識・スキルだけを短期間で体系的に学ぶためのコースがいくつも用意されています。
ITの世界は本当にビックリするほどたくさんの技術や知識で成立しています。
プログラミングというのはあくまでもその中の1つに過ぎず、本当の意味でアプリ開発ができるようになるまでにはデータベースやセキュリティ、サーバーやネットワークなど幅広い知識を知る必要があります。
そして、いま例に挙げたものすべてを深く理解しなければいけないかというと、必ずしもそういうわけではなく、
アプリ開発では大体これぐらいを知っていれば良いという最低ラインというものが存在します。
独学でプログラミングを学ぶとその最低ライン以上の学習にも時間を多く費やしがちなため、「アプリ開発ができるようになる」という目的からすると効率が悪くなりがちなのです。
もちろんそれが悪いわけではありません!
いろいろな技術について深く学んでいくことはその後の学習効率にも大きく影響していきます。
ここではあくまで、「ある目的を達成するという観点においては非効率になりがち」という意味で捉えて頂ければと思います。
- Ruby……Webアプリ開発に広く使用されているプログラミング言語
- Ruby on Rails……アプリ開発を効率化するために生まれたフレームワークの1つ。Rubyがベースとなっている。
- Git……バージョン管理ツール
- GitHub……Gitでの管理をネット上で行い、チーム内でソースコードを共有・管理するためのサービス。現在は多くの開発現場で必須の技術となっている
- Heroku……Webアプリをインターネット上に公開するためのクラウドサービスの1つ
挫折しづらい
スクールに通う大きなメリットの1つはなんといっても分からないこと(エラーなど)があった際、すぐ講師の先生に質問することができるという点でしょう。
ここまでにも何度かお伝えしたように、プログラミングは本当にエラーや不具合の連続です。
やりたいことがすんなりできるようになるまでには、それなりの学習時間が必要です。
特にプログラミング学習を開始したばかりのときはエラーや不具合に多くの時間を費やしやすくなります。
そうした時間を何度も繰り返している内に、自力で突破できないエラーに遭遇することもあります。
この、
エラー解消できない問題
が独学における大きな挫折ポイントの1つです。
スクールでは経験豊富な講師の先生が最初から味方についているため、エラーが解消できずに挫折をするという事態にはまず陥らないのです。
また、スクールには基本的に高額なお金を支払って入校することになるため、そういう面でも挫折するというのは可能性としてほとんど無いのではないかと思います。
せっかくお金を払ったんだから、という気持ちが自分自身の背中を押してくれるのです!
さらに言えば、スクールによっては同じ時期に入校をした同期がいます。
つまり、ひとりで頭を悩ませながら勉強をするのではなく、同じ志を持つ同期と切磋琢磨しながら勉強にのぞめるということです。
スクールによってはネット上で受講できるものも多くあります。
「スクールで勉強はしたいけど他の人とはあまり関わらずにひとりで集中して取り組みたい」という方は、そうしたオンライン型スクールを選んでみるのもいいかもしれません。
就職支援を受けられるため就活がスムーズ
就職支援付きのプログラミングスクールならという条件付きではありますが、
就職支援を受けられるため就活がスムーズ
というメリットもあります。
これは
少しでも早くITエンジニアに転職したい
という方にとってはとてつもなく大きなメリットかと思います。
僕のようにプログラミング習得に時間がかかっても問題が無く、趣味のような感覚で勉強に取り組める人にとっての課題は、言ってしまえば「プログラミング学習だけ」です。
しかし、少しでも早くスキルを身に付けてITエンジニアへ転職したいという方にとっては、そこにさらに
就職活動というこれまた大きな課題が加わってきます。
就職支援付きのプログラミングスクールに限りますが、この部分をサポートしてくれるというのは非常に心強いです。
もちろん最終的な採用を決定するのはあくまで入社先の企業になるため100%成功するという保証はなく、転職成功率はスクールの営業力やプログラミングの習熟度によって変動があるようです。
とは言え、ひとりで就職活動をするよりも遥かに負担も軽く、心強いのは確かだと思います。
デメリット
- お金がかかる
- 期間が定められているため自分のペースで学習することができない
- スクールによっては他の入校生とコミュニケーションを取る必要がある
お金がかかる
プログラミングスクールを利用するためには当然お金がかかります。
しかも、何千円という書籍のような金額ではなく、数十万円という大きな金額が必要となります。
そのため、実際にスクールに通いたいと思ってもそう簡単な気持ちでは申し込めないというのが実情かと思います。
これがスクールにおける最大のデメリットです。
……しかし、です。
実は、厚生労働省が用意してくれている教育訓練給付制度を利用すると、一定の受給要件を満たす方を対象に、受講料金の一部をハローワークが支給してくれます。
この制度を利用することで受講料の負担を大幅に減らすことが可能です。
教育訓練給付制度を利用できるかどうかはスクールによって違います!
このブログの最後で教育訓練給付制度の対象となっているスクールのご紹介もしますので、ご興味のある方はぜひ最後までご覧になって下さい。
期間が定められているため自分のペースで学習することができない
スクールに通う場合は、必ずそのスクールを利用できる期間が設けられています。
そのため、「今日は3時間、次の日は30分だけ」というように好きな時間配分で学習をするということができません。
また、スクールのコースによっては理解が追い付いていない状況にも関わらず次の学習内容に進んでしまうということも起こり得ます。
このように学習ペースを自分でコントロールすることができないため、強制力のようなものに強いストレスを感じてしまうという方にとって、プログラミングスクールは合わないかもしれません。
スクールを利用しつつもなるべく自分のペースで学習を進めたいという方にはオンライン型スクールがおすすめです!
自宅でひとりで学習に集中しつつ、疑問点があれば講師に質問ができるため、スクールの利用期間という制限はありつつも、学習ペースを自己管理しやすいというメリットがあります。
スクールによっては他の入校生とコミュニケーションを取る必要がある
通学(オフライン)型スクールの場合、他の入校生と同時に受講することになるため、スクールの環境によってはそこで同期とのコミュニケーションが必要になる場合があります。
「スクールのメリット」の1つ、「挫折しづらい」の項目でもお伝えしたように、
人と関わりながら勉強に取り組んだ方がモチベーションが上がるという方にとってはプラスに働くこのメリットも、僕のようにひとりで集中して学習に取り組みたいという方にとってはむしろ妨げになってしまう恐れもあります。
前節と同じく、ひとりで勉強に集中したいという方にはオンライン型スクールの利用をおすすめします。
僕はひとりで黙々と勉強するタイプなので、もしも選択を迫られたとしたら間違いなくオンライン型スクールを選びます!
おすすめのプログラミングスクール
ここまで独学とプログラミングスクールのメリット・デメリットをお伝えしてきました。
どちらにも様々なメリット・デメリットがあるため、独学とスクールのどちらでプログラミングを学んでいくべきかは、その方の状況や目標次第で変わります。
そのためここでは、独学だけでなく、プログラミングスクールも視野に含めたいという方に向けてスクールのご紹介をさせて頂きます。
DMM WEBCAMP
僕がおすすめしたいプログラミングスクールがDMM WEBCAMP エンジニア転職コースです。
- 完全オンライン型
- 転職サポートあり(保証付き) ※万が一転職できなかった場合は受講料全額返金
- 転職成功率98.8%(2022年3月~2023年9月)
- 経済産業省認定で教育訓練給付金の支給対象で最大70%割引
DMM WEBCAMPは最短3か月でITエンジニアを目指せる完全オンライン型のプログラミングスクールです。
「スクールのデメリット」の1つ、「お金がかかる」でご紹介した教育訓練給付制度の対象となっており、
しかも過去の実績やカリキュラムが評価され、専門実践教育訓練給付金の対象講座としても認定されているため、
になります。
スクール最大のデメリットである金銭的負担を大きく低減してくれるのは非常にありがたいですね!
また、スクール利用中は転職サポート付きで、もし転職に至らなかったとしても
してくれる転職保証付きです。
また、転職率は98.8%(2022年3月~2023年9月)と非常に高いため転職に失敗してしまう可能性は極めて低いと考えられます。
DMM WEBCAMPでは本申込み前の無料カウンセリングを実施していますので、疑問点や相談したいことがある方は、まずはこちらを利用して、自分に合っているかどうか確認することをオススメします。
各制度にはそれぞれ適用条件があります!
こちらのスクールを利用してみたい方も、一度無料カウンセリングで相談をしてみると、誤解なく本申込みに進めるかと思います。
まとめ
このブログでは圧倒的に独学を推しており、独学でプログラミングを習得したい方向けに役立つ情報を発信することをコンセプトにしています。
その根っこには
プログラミングを習得したいと思っている方のお手伝いがしたい
という気持ちがあります。
一方、早期転職やすぐにスキルを習得したいという方には効率面において、どうしても独学が向かないという事実も理解しています。
そのため、本記事の最後ではオススメのプログラミングスクールをご紹介させて頂きました。
ただ、僕個人としては
スクールに通わずともプログラミングを習得できるのならばそれに越したことは無い
と考えています。
理由はやはり、自分のペースで学習がしづらく、お金もかかるからです。
しかし、転職など、早期に達成したい目標がある方には、やはりスクールを利用することが必要となるのかなとも思います。
そこが独学の限界と言いますか、どうしても達成し切れない部分と思っています。
冒頭の「結論」のパートでお伝えした
独学とスクールのどちらを選ぶべきかは完全に人による
というところに戻りますが、
明確な目標や目的があり、それも短期間で達成したいのであれば、スクールに通うことは非常に有効です。
逆に、そうでないのであればスクールに通うのはお金が勿体ないと考えています。
独学とスクール、両方のメリット・デメリットや自分が置かれた状況を踏まえ、ぜひ自分に合った学習方法を選択してみて下さい!
最後までお読みいただきありがとうございました!
これからも独学者向けのお役立ち情報・知識を発信していきますので今後ともケケンタをよろしくお願い致します!