こんなお悩みにお答えします。
- プログラミングは独学で身につけられる?
- プログラミングを効率よく独学で学ぶ5つの方法
- 独学で未経験者からフリーランスは可能?
- 独学でプログラミングを学ぶには正しい方向への努力が大事
この記事を書いている私は現役のエンジニアです。30代半ばで未経験からプログラマーに転職しました。
私が独学で学習を始めたとき、決して効率のいい学習方法で学んでいませんでした。
そうならないために、今回は独学したいあなたにも難しくない5つの勉強法ついてお話をしていきます。
本記事でしっかり解説していきますので最後までじっくりと読んでみてください。
プログラミングは独学で身につけられる?
私がどう考えているのかというと、独学は無理ではないが難しいのではないかと。
1人で勉強していると継続するのが本当に大変です。
- 何のエラーが出ているのかわからない
- どうやってググればいいのかわからない
- 解決できずに1日が過ぎてしまう
プログラミングを学習していると、こういう問題に良くぶつかります。
私もそうでした。
ググって解決したいけど、そもそもなんて調べればいいのか分からない。とりあえず思いつく単語で検索してみるけど、知りたいことが出てこない。6・7ページ目の検索結果まで見てみたけど何も分からない。
何度も検索ワードを変えて再検索するけど、結果も毎回同じで解決はしない。気がついたら何時間も経っていて、心が折れそう…。
こんな状態で、モチベーションを維持して学習を続けていくのは難しいですよね。諦めてしまう人のが普通ではないでしょうか。
もちろん、独学でエンジニアになった方もたくさんいます。ですから、独学が絶対に無理ということはありません。
時間がかかっても、根気よく問題解決ができる方ならば、きっと独学を続けられると思います。
ですが、そんな方ばかりではありません。多くの人にとっては非常に難して、成果を出すまでに遠回りをしてしまう可能性が高い学習方法です。
プログラミング学習の始め方は「【経験ゼロの初心者向け】プログラミングの始め方」の記事に詳しく書いてあります。
プログラミングを効率よく独学で学ぶ5つの方法
- ゴールを設定する
- ゴールを具体的にする
- ゴールまでに必要なスキルを確認する
- 簡単な基礎を繰り返し勉強する
- Webサイトを作る
上記の通り。
1つずつ解説していきますね。
①:ゴールを設定する
最初に必要なことは、ゴールを決めることです。
何も決めないで始めると、
- 何をしたらいいのか分からない
- どのくらいやればいいか決められない
- 頑張る理由が見つからない
- どうしても堕落してしまう
みたいな状態になってしまいます。
目標がないと努力する必要があるのかも分からなくなってしまいます。
だから、ゴールを決めてください。
- 受験なら、〇〇大学に受かりたい
- 部活なら、〇〇で優勝したい
受験勉強や部活で例えるなら、こんな感じです。
独学でプログラミング学習を始めるなら、
くらいでしょうか。
ゴールを決めれば、向かっていく方向が決まります。
ゴールを決めて、「何をしたらいいか分からない」「いま頑張る理由が見つからない」状態を抜け出しましょう。
②:ゴールを具体的にする
次に、やるのはゴールを具体的にすることです。
「やるべきこと」と「やる必要がないこと」が絞られて明確になっていきます。
だと、野球を始めたらいいのか、バスケットを始めたらいいのか分かりません。
けど、
と、ゴールを具体的にすれば、バスケをやっているのはおかしいですから、野球だけに専念することができますね。
より早く成長していくために、余計な時間を使ってしまう要素を削ぎ落としていく。ゴールを具体的にすれば、やるべきことと必要のないことを見極めていくことができます。
プログラミング独学の場合で考えると、
のように作りたいアプリのイメージを具体的にしてみましょう。
③:ゴールまでに必要なスキルを確認する
そのあとは、ゴールに向かうために必要なスキルを確認していきます。
TwitterのようなWEBアプリケーションを作るなら、例えば、下記のような感じ。
- HTML
- CSS
- JavaScript
- jQuery
- Ruby
- MySQL
ちょっと余談。クライアントサイドとサーバーサイドについて、簡単に触れておきますね。
サーバーサイドは、データベースとの連携などユーザーがあまり意識しない部分。
ここまで見て、「覚えなきゃいけないことがこんなにあるのか?」と思うかもしれませんが、心配する必要はありません。
それぞれは関連していて1つが分かると次々に理解できるようになるからです。
jQuery は JavaScript とほとんど一緒。JavaScript ができれば Ruby も理解は簡単になります。
必要なスキルが分かれば、迷いなく進めらるようになります。自分の目的地に合わせてゴールを見極めていきましょう。
④:簡単な基礎を繰り返し勉強する
プログラミングに触れたことがないなら、簡単な基礎を繰り返し勉強するべきです。
プログラミングがイメージしやすくなって、苦手意識が生まれにくいくなるからです。
- 最後までやると、達成感を得られる
- 繰り返しやることで、記憶が定着しやすい
- 続けることで、心理的ハードルが低くなる
など、いいことずくめです。
では、具体的には何をすればいいのか。続いて解説していきます。
「プログラミング初心者なら、まずは Progate から始めるのがおすすめ」と言われるくらい有名なサイトです。
問題をゲームのように解きながら進めいきます。
Progateは無料会員でも、言語の基礎部分(初級編)の体験が可能です。
月980円の有料会員になると、基礎から実践レベルの全てのレッスンが受けられるので、より深いところまで学習できます。
「これを学べば仕事ができる」というレベルではないですが、イメージをつかむことや苦手意識をなくすにはちょうどいいサービスだと思います。
こちらも、プログラミング動画学習の定番サイトです。
初心者向けに作られていますし、無料で見られる動画が盛りだくさん。
そのため、独学でプログラミングを勉強する方にとても人気があります。
いきなり分厚い本を買ってプログラミングの学習を始めるのは、野球で言えばルールを知らない人がいきなり試合に出るようなもので、完全にトラウマになるレベルです。
Progate とドットインストールで学習すれば、ルールも分かって、キャッチボールができるくらいまで成長します。
そこから始めていけば、挫折する可能性はぐっと減るはずです。
ドットインストールは初心者向けとは言っても動画での解説が少し早いなど、完全なプログラミング初心者には難しいという意見もあります。
Progate で「少しプログラミングを触ったことがある」という状態になってから、ドットインストールを始めるほうが学習を楽に進めていけるでしょう。
⑤:Webサイトを作る
いよいよ、本格的な学習です。実際にWebサイト作成をしましょう。
「知識として知っている → できる」になるための学習ですね。
知識を詰め込むばかりで INPUT ばかりしていても、スキルアップはしません。
バラバラになっている知識を OUTPUT しながらつなぎ合わせていくことで、プログラミングへの理解が深まっていきます。
Webサイトの制作を通して、知識として知っているから、使いこなして実践できるようにしてください。
「勉強してきて文法は分かるけど、どう使っていいか分からない」というのは、エンジニアが最初にぶつかる壁です。
その時は、初めからやり直すより、必要な箇所だけ調べなおす勉強法の方が効果が高いです。
遅延評価勉強法という考え方があるらしいですね。「その知識が必要になった時に初めて勉強する方法」とのこと。
プログラミングの現場では毎日これの繰り返し。
バグを調べる→知識が増える→修正してアウトプットみんなそれで成長してきたんだから、スキルを身につけるにはこれがベストだと思う。
— トミセン|エンジニアの応援者 (@tomisenblog) August 15, 2020
独学で未経験者からフリーランスは可能?
フリーランスを経験したことがないのでそこまで詳しくはないのですが、個人的には難しいと思っています。
理由としては、わからないことにぶつかった時に対処できないのではないでしょうか。
勉強なら自分のペースでいいですが、クライアントがいれば納期も要望もあります。
求められている期間で、それなりのクオリティをレスポンスできるかと言えば、実践レベルでは難しいとしか私には思えません。
1~2年でもいいので、まずは就職して力をつけてからフリーランスになる方が現実的な選択肢ではないでしょうか。
[sitecard subtitle=関連記事 url=https://tomisenblog.com/career-change-site/]
とはいえ、やり方によっては可能ではないでしょうか。
例えば、
- 相談ができる
- ビジネスパートナーがいる
など。
相談相手でも、パートナーでも基本的には同じですが、自分ができない部分をフォローしてもらえれば、仕事が詰まっても進めていくことができますよね。
パートナーの場合は、最初のうちは収入のほとんどを渡してしまうなど思い切った施策が必要になるかもしれませんね。
そういう方を見つけるとか、他の戦略を持っていれば可能かもしれません。
独学でプログラミングを学ぶには正しい方向への努力が大事
プログラミングの独学を成功させるためには、正しい方向への努力が大切です。
間違った方向に勉強をしてもスキルアップにはなりません。
そこまで極端ではなくても、
- 実際には使わないことを必死で覚えていたり
- 順番通りにやれば自然に理解できることを、いま必死で理解しようとしていたり
- 勉強のやり方に悩んで時間を無駄にしてしまったり
ということは、よくあります。実際私もそうでした。
例えば、同じ200時間を勉強していたとても、やり方によって成果の出方が人によって全く違うと言ってもいいでしょう。
「勉強のやり方が間違っているんじゃないか?」
もし、あなたが不安に思ってしまうなら、プログラミングスクールに通う方がいいです。
プログラミングスクールの講師とカリキュラムがベストな方法で導いてくれます。
自分のスキル向上だけに意識を集中すればいいので、独学よりも気持ちが楽になりますよ。
まとめ:独学は無理じゃないけど難しい
独学でプログラマーになるのって結構厳しいなぁ…と思ったでしょうか?
プログラマーになるのって、実はかなり厳しいんです。
独学だから難しいんじゃなくて、プログラマーになること自体が難しいです。だって、誰でも簡単になれるなら、みんなプログラマーになっていますからね。
でも簡単にはなれないからプログラマーの価値があるし、いいプログラマーは高い給料がもらえるんです。
その割には学歴も、資格も、男性も女性も、年齢も関係なくて決して特別なスキルではありません。努力した人はちゃんとプログラマーになれる。あとはやるかどうかだけ。
こんな平等なチャンスは滅多にないと私は思っています。だから興味がある方は、ぜひチャレンジして欲しいと思っています。
あとは、独学で厳しい道を選ぶのか、プログラミングスクールで最短を目指すのか。
個人的には初心者の方が学ぶならプログラミングスクールがオススメです。独学だとハードルはさらに高くなると思います。
それでは、また。