プログラミングは独学で習得できるの?
プログラミングをこれから始めようとしているのであれば、このような疑問が出てきますよね!
プログラミングスクールは高いから、なんとか独学できないかなぁ…
この記事を読めば、このような疑問を解決することができます。
また、独学でプログラミングを勉強するときの問題点と解決方法についても学ぶことができます。
プログラミングは独学で習得できるのか?
プログラミングって独学できるんですか?
そうですね!できると思いますよ!
でも、独学できないこともありますね!
まずは結論になりますが、プログラミングは独学で習得することができます。そのため、独学でプログラマーになることも可能です。
そのように言える理由としては、私自身がプログラミングを独学してプログラマーとして仕事をしているからです。
少なくとも独学からプログラマーになった例が一つはある。この事実は、これからプログラミングを始めようとしているあなたにとっては良い知らせなのではないかと思います。
ただ、独学では決して学べないこともあります。
それでは次は、プログラミングで独学できること、できないことについてお話していきたいと思います。
独学できること、できないこと
プログラミングは独学で習得することができますが、全てを習得することはできません。
独学で習得できることと習得できないことは以下のようになります。
習得できること | 文法 ツールの使い方 |
習得できないこと | 開発の作法 実践経験 |
習得できること
まず最初に習得できることになりますが、文法やツールの使い方など、答えがハッキリしていることについては独学で習得することができます。
■ 文法
文法は独学で習得可能です。
学習方法としては、本やWebサイトなどの文字の教材やYouTube、Udemyなどの動画教材で学ぶことができます。
学習方法は自分に合う方を選べば良いと思いますが、個人的には併用することをオススメします。
プログラミングの学習方法については以下の記事も参考にしてください!
■ ツール
ツールの使い方も独学で習得可能です。ここで言うツールというのは、開発をするために必要なソフトウェアのことです。
例えば、
Windowsアプリ | Visual Studio |
ゲーム | Unity UnreaLEngine |
Webアプリ | Ruby on Raild Django |
これらのツールの使い方は独学で習得することができます。
学び方としては、こちらも文法の場合と同様で、本、Webサイト、YouTube、Udemyなど、文字と動画、どちらの教材でも学ぶことができます。
習得できないこと
次に独学では学べないことになりますが、開発の作法や実践経験など、実務でしか経験できないことについては独学での習得は困難です。
■ 開発の作法
プログラムは動きさえすればそれでOK、という考え方もありますが、実際は、
- 〇〇をやってはダメ
- この文法を使う時は〇〇を一緒に行うようにする
というように、開発に関する作法があったりします。
これは例えるなら、メジャーリーグの「ホームランを打った時に派手に喜ばない」とか、飲み会の「上司のビールを空にしない」といった不文律に似ています。
プログラミングの作法は、不具合を無くすために必要なルールであることが多く、守らないと製品に問題が発生することもあります。そのため、野球や飲み会のものとは意味合いが変わりますが、暗黙のルールという点では同じものになります。
こういう作法は初心者が自分一人で開発をしていては決して身に付くことはありません。
■ 実践経験
実践経験も独学では学ぶことができません。
一人で何か開発をすれば、それが実践経験になると思われるかもしれませんが、ここで言う実践経験とは「複数人でチームを作って商品を開発する経験」になります。
会社で製品を作る時は、一人で開発をすることはほぼありません。数人、多ければ数十人でチームを作って、個々が役割を分担して開発を進めます。
そこではプログラムを書く技術に加えて、スケジュール、プログラムコードの管理方法など、プログラム以外の技術も求められます。そういった経験は一人で開発をしていては身に付きません。
チームに入って、先輩たちに教えてもらったり、周りに迷惑をかけるような失敗をすることで身に付いていきます。
まとめ
今、お話した、独学できること、できないことを考慮して、独学でプログラミングを習得できるかをまとめると
独学でプログラミングを習得してプログラマーになることは可能!
でも、独学で製品レベルの開発技術を習得するのは無理!
という答えになります。
理由としては、先にも述べましたが、製品開発には開発の作法があることも多く、それらについては独学では習得できないからです。
独学をするときの問題点
それでは次は、独学でプログラミングを勉強するときの問題点についてお話したいと思います。
独学でプログラミングを勉強するときの問題点は
- 習得スピードが遅い
- 挫折しやすい
この2つがあります。
習得スピードが遅い
プログラミングは、独学では習得スピードがかなり遅くなります。
理由としては、独学の場合、分からないことがあった時に全て調べる必要があるからです。
例えば、30歳から英語の勉強をする場合、中学、高校で基礎的な英語の知識を身に付けていれば習得は早いですよね。そのため、30歳から英語を勉強し始めても、基礎がある分、ある程度スムーズに勉強が進むはずです。
でも、プログラミングに関しては、学校でプログラミング教育を受けていなければ、何も教わっていない真っ白な状態からのスタートになるため、最初は分からないことだらけです。この状態ではなかなか学習が進みません。
これは例えるなら、知識ゼロでいきなりアラビア語を読むようなものです。文字も単語も分からないので、全てを学びながら文章を読み解かないといけません。
プログラミングに関してもこれと同じです。プログラミングの基礎知識が身に付いていなければ、専門用語を一つ一つ調べながら学習をする必要があるため習得スピードが遅くなってしまいます。
挫折しやい
2つ目の問題点は挫折しやすいということです。
これはプログラミングに限った話ではありませんが、何も知識がない状態で新しいことを始めると、その難しさから多くの人が挫折します。
これはプログラミングに関しても例外ではありません。
最近は昔よりもプログラミングが簡単になり、チャレンジする人も多くなりましたが、やはり簡単になったと言っても難しい部分はたくさんあります。
最初は簡単で楽しく学習できていても、理解できないことや上手くいかないことが増えてくるとモチベーションも下がってきます。
この時、仲間がいれば一緒に教え合ったり、励ましあったりできるのですが、独学だとそれもできず挫折して止めてしまいます。
独学で挫折をしにくくする方法については以下の記事を参考にしてください。
独学の問題点を解決するには?
そうなると、どのようにすれば独学の問題点を解決できるのか?という疑問が湧くと思いますが、解決策としては、
- 仲間を見つける
この1択になります。
これって独学は止めなさいってことじゃないですか…
そういうことになってしまいますね…
仲間を見つける
同じ目標に向かって頑張っている仲間がいると、「自分もやらないと…」という強制力が湧いてきます。これはモチベーションを保つのにとても役に立ちます。
仲間を見つける時に大事なのは、
- 自分よりもレベルの高い人
- 自分よりもレベルの低い人
この両方を探すことです。
レベルの高い人は、分からないことがあった時に先生として教えてもらうことができます。
逆にレベルの低い人には自分が教えてあげることができます。
教えることの方が大事!
勉強というと、教えてもらうことを重視しがちですが、実際は教えることの方が大事です。
理由としては人に教えることで学んだ内容をより深く理解できるようになるからです。
人に教えることは、理解していないとできません。特に自分よりもレベルの低い人に教えるためには細かい部分まで理解していないと説明ができません。
人に教えることで自分がちゃんと理解できているかも確認できるし、教えることを通じて自分も学ぶことができます。
聞かれて教えられないと、自分も一緒に調べたりしますよね。それによりさらに学びを得ることができます。
このように仲間を作って学ぶことで、
- 習得スピードが遅い
- 挫折しやすい
という2つの問題点を解決することができます。
仲間の作り方は?
とは言っても仲間が見つからないんだよね…
そうなると次は、周りに仲間がいない、という問題になると思いますが、最近はオンラインコミュニティもたくさんあるので、仲間はそういう場所を活用して見つけるのが良いと思います。
オンラインコミュニティってなんか怖いんだよね…
気が乗らないなぁ…
確かに不安もありますよね…
コミュニティはご自身で気に入った場所であればどこでも良いと思います。
ただ、探すのも大変なので、個人的なオススメとしてリベシティをご紹介します。
リベシティは両学長が運営するコミュニティです。プログラミングのコミュニティではありませんが色々な職種の方が集うコミュニティになっています。
リベシティには色々な人がいます。中にはプログラマーもいて、レベルは未経験者からプロの方までいます。コミュニティ内には、プログラミングのチャットもあって、分からなければ質問もできるし、自分が教えることもできます。
まずは自分で調べてから質問をする、お礼を言う、という当たり前のルールさえ守っていればみんな優しく教えてくれる環境なのでプログラマーの仲間を見つけるにはとても良い環境だと思います。
値段もかなり良心的です。
初心者向けの仕事を発注している方もいるので、仲間を見つけて勉強したり、簡単な仕事の経験を積むにも便利なコミュニティだと思います。
ただ、プログラミングに関するコミュニティではないため、ここから就職サポートを受けて転職をするのは難しいです。
よかったら参考にしてください。
まとめ
それでは今回のまとめになります
- プログラミングは独学で習得できることとできないことがある!
- 文法やツールの使い方は独学で習得できる!
- 開発の作法や実践経験は独学では習得できない!
- 独学では習得スピードが遅いし挫折しやすい!
- 仲間を作ることで独学の問題点を解消できる!
プログラミングは独学可能ですが、プログラマーとして一人前になるためには仕事に就いて実務をすることが必須になります。
また、独学では習得スピードも遅くなってしまいます。
独学は一人で学習ができる分、気楽だしお金も掛からないというメリットがありますが、習得スピードが遅く、挫折しやすいというデメリットもあるため気を付けてください。
最後に、個人的な意見を言ってしまえば、プログラミングの独学は効率が悪いためあまりオススメできません。それよりも先生を見つけた方が良いと思います。記事の内容としてはここで終了となりますが、最後にコラムを続けたいと思いますのでお時間があれば読んでみてください。
追伸:プログラミングスクールは不要なのか?
プログラミングはよく独学でも習得可能と言われます。
確かにこの記事でお話したように、基礎的な部分は独学でも習得可能です。
ただ、やはり独学だけでは実践的なスキルを身に付けるのは困難です。
私は独学でプログラミングを勉強して、プログラマーとして就職をすることができました。
しかし、実際に現場で使う技術に関しては、会社に入ってから先輩に指導してもらうことで学びました。
教えてもらえる環境があることはすごく良いこと!
私が初めてプログラミングを勉強した頃は、教材と言えば本がメイン、更にネットの品揃えも悪かったので、近所の本屋で限りある本の中から選択をすることしかできませんでした。
プログラミング関連の書籍も近所の本屋では数冊あればいい方で、見つからない場合は遠くの本屋まで探しに行ったくらいです。
よく「独学でプログラミングを覚えた」と言うと、すごいと褒めていただけますが、それは独学しかなかったから独学したのであり、学習環境さえあえればお金を払ってでも教えてもらいたいと感じていました。
そういうこともあり、私からすれば、今の学習環境はとてもが羨ましいです。
ネットを開けばどんな言語に関する情報もすぐに出てきます。
本も電子書籍なら即日で手に入れることができるしYouTubeを見れば動画による解説もあります。さらには、プログラミングスクールもあります。
このように教えてもらえる環境がある、ということはとてもありがたいことです。
一人ではプロ野球選手になれない
教えてもらうことはとても大事です。
例えば、野球選手になる場合、自分でビデオを見て研究し、自主練をするだけでなれるでしょうか?
絶対に無理ですよね。
プロ野球選手になるには、良い環境で野球をし、良いコーチに教えてもらい、尚且つ、人一倍の努力をした人だけがなれます。
プログラミングもこれと同じです。
プログラミングの場合、野球よりもハードルは低いですが、独学だけで現場でも使える技術力を付けるのは困難です。
私も就職してからは、今までの独学は何だったのかと思うくらいに技術力が伸びました。
それくらい教えてもらうということは効率の良い学習方法なのです。
プログラミングスクール不要と決めつけるのはよくない!
私はプログラミングスクールについては、肯定でも否定でもありません。
質の低いプログラミングスクールもあるので、スクールを選ぶときは慎重にならないといけませんが、本気でプログラマーに転職をしたいなら選択肢に入れないと損だと思います。
私の頃は「独学」しか選択肢がありませんでした。だから、独学を選びました。
今、「プログラミングなんて独学で勉強できる」と言っている多くの人も同じで、独学しか選択肢が無かったのだと思います。
プログラミングスクールができてから、まだ長い時間が経っていません。そのため、まだ独身出身のプログラマーも多くいると思います。そういう人がポジショントークで「プログラミングなんて独学でできる」と言っているのです。
でも、時代は変わりつつあります。
今は、独学にするにしても昔に比べて技術は高度になっているし、覚えることも多くなっています。今後は、プログラマーになりたいのであれば学習塾に通う感覚でプログラミングスクールに通う時代が来るのではないかと思います。
これはあくまで私の予想なので、根拠はありませんが、質の高いプログラミングスクールが多く出始めているのを考えると、そういう未来も予想できます。
自分にとって最良の選択肢を選んでください
今の時代は、WEBサイトも充実しているし、オンライン教材も充実しています。さらに、プログラミングスクールという選択肢もあります。
そのため、今のあなたにはその選択肢を最大限に活かしてもらいたいです。
Twitterやインフルエンサーの意見を見て、プログラミングスクールは無駄と決めるのではなく
- 独学
- プログラミングスクール
- オンライン教材
- 専門学校
など、自分にとってどれが一番最適な勉強法なのかを考えてください。
独学はあくまで一つの選択肢です。そのことは忘れないようにしてください。
この記事があなたのお役に立てたなら幸いです。