プログラミングをいざ勉強しよう!と思っても独学だとどこから手をつければいいかなかなか分からないと思います。
プログラミングの独学については様々なサイトがありますが、今回は私が実際に使用したサイトと勉強法をお伝えします。
自分の学びたい方向性を決める
プログラミングといっても、フロント・バック・サーバー・ネットワーク・ハードと様々な技術があります。
その中で自分は何を学びたいかをまず考えます。
何を学びたいか考える時には、「何を作りたいか」を最初に考えて、必要な技術を逆算しましょう。
例えば、
「WEBサイトが作りたい!動きをつけたりしたいなぁ~」
であれば、フロントエンド技術の学習に絞られてきます。
言語でいうとHTML、CSS、JavaScriptの勉強がマストになります。
「スマホのアプリが作りたい!」
であれば、Kotlin、Swiftあたりから入って、 React Native に踏み込んでいってもいいかもしれません。
最終的な成果物を作るにはどの言語が最適か?今使われている言語は何か?をリサーチしてから勉強に入ることをオススメします!
(番外)プログラミングを習うならスクールが一番!
独学って言っているのに、しょっぱなからスクールを紹介するとは甚だしいですが、プログラミングを習得するにはスクールに通うのが一番の方法だと思っています。
と言っても、スクールもピンキリでコストがかかりますよね…
コストをかけずにスクールに通う方法があれば・・・・実はあります。
それは、各自治体(ハローワーク)が提供している離職者向け職業訓練校です。
私自身、Javaの勉強には職業訓練校を利用しました。
コストがかからないだけでなく、交通費&失業給付をもらいながら通うことができます。
職業訓練校について過去に記事を書いておりますので、お役に立てれば幸いです↓
スクールに通うメリット&デメリット
私自身が実際に利用して感じたメリットとデメリットを挙げます。あくまでも経験談です。
メリット
1.集団で習う事で、相乗効果が得られる。
ほとんどの方が未経験者でした。授業が終わると「今のところはこうだよね?」「このExceptionの原因を考えよう」などアウトプットとインプットをコミュニケーションする事で、習得度合が上がっていたと感じました。
2.いつでも先生がついている安心感。
Google先生に聞いても何してもわからない時、いつでも先生に質問できる環境がありました。独学だと個との戦いですが、正解を知っている且つ、それを聞ける人がいる環境は大きな安心感でした。
これにプラスで、質問をする際に「どういう背景で、どういう状況にハマっていて、こういう事は試したが、これがうまくいかない」と質問内容の質を考える良い機会にもなりました。
3.言語だけじゃない。開発に必要な設計図のことやサーバーをたてることまで網羅して習得可能
これは通うスクールのカリキュラムによるとは思いますが、私の通った職業訓練校では、Javaの基礎からFW(Spring)、開発時の設計手順、それに付随する設計書の書き方、DB(MySQL)、VirtualboxにCentOSを入れて仮想サーバーをたてる、Android開発まで幅広く取得することができました。
また、上記の通常カリキュラム以外にも、個人的に気になった技術を試したり、先生に教えていただいたりと、かなり濃厚な時間を過ごしました。
デメリット
1.基本的なPC操作ができないとつらい
基本的なフォルダを開く、マウスの操作ができる、ブラウザーで検索することができる、タイピングができるといった基本的なPC操作ができていないとスクールに入ってもつらいです。
スクールでは、時間枠が決まっているのでどんどんと進んでいきます。周りはついていっているのに、自分だけ置いてけぼり・・・・なんて疎外感を感じるかもしれません。
プログラミングを学びたい!と強い気持ちをお持ちであれば、基本操作をクリアしてからスクールに臨む方が精神的にオススメです。
2.スクールに通う=プログラミングができるようになる は幻想
スクールでは開発ができるレベルまで知識を与えてくれますが、それが出来るようになるかならないかは、個人のモチベーション次第です。
また、プログラミングは「覚えるより慣れろ」が正しい覚え方だと感じました。学科をいくら理解していてもコードが書けるかといったらイコールではありません。分からないけど、とりあえず書いてみる!という攻めの姿勢が習得の近道になる事も実証できました。
これからスクールで勉強される方は、「学科を復習しまくる」よりも「実践に挑戦しまくる」をオススメします。
3.先生に聞きまくるはNG
メリットに書かせていただいた「先生にいつでも聞ける環境」の裏返しです。
いつでも聞ける安心感がありますが、あまり先生に聞きすぎるのはタブーです。実際、就職したり個人で開発をしていく中で、自己解決能力が強く求められます。スクールにいるうちから、この自己解決能力を磨くことで免疫ができますので、やたらむやみに先生に質問はせず、自分で調べたうえでどうしても分からなかったら「良い質問の質」で先生に聞いてください。
職業訓練に関しては、様々な評価がありますが、いかにうまく利用するかに限ると思います。
幸い、私のいたクラスには授業を妨害するような方はいなかったので恵まれてたかもしれません。
モチベーションを高く保てれば、濃密な時間を過ごすことが出来ますよ!
プログラミングに手を付けるならまずはコレ!基礎学習に便利なコンテンツ
ここからは、独学向けの内容になります。
プログラミングを初めて学ぶ方には、言語の基本文法を習得する事が最初の目標となります。
しょっぱなから開発をする方もいらっしゃるかもしれませんが、型の定義やfor分、if文などの基本的な書き方、挙動を知らないとスムーズにコーディングできませんので、まずは基本文法を抑える事から始めた方が望ましいです。
私は、実際に下記ふたつのコンテンツを利用しました。
しかも無料枠のみ(笑)
無料枠だけの利用でも、十分基本的な事は学べます。
お金を払えばワンステップ上のカリキュラムを受ける事ができますが、それについては後述する別のコンテンツに投資しました。
利用したコンテンツ1:ドットインストール
3分という短い動画で空き時間でも閲覧しながら基本文法を学ぶ事ができます。
実践というよりかは、学科(動画コンテンツ)として使用していました。
利用したコンテンツ2:Progate
Progateは、エディタが備え付けられているため、自分で環境を用意する必要がありません。
ドットインストールは動画コンテンツでしたが、Progateは最初にスライドで学科を閲覧した後に、実際にコーディングしてみましょうという流れです。
「書いて覚える」に適しているコンテンツなので、電車の中ではドットインストール、家ではProgateという使い分けをしていました。
上記2つのコンテンツは、プログラミングの入り口として有力です。
基礎構文を学ぶ上で、注意点があります。
基礎構文の勉強には時間をかけすぎないでください。こういう書き方がある程度で十分だと思っています。
実際コーデイングする時は、「あ~どうやって書くんだっけ」と調べながらやる時もあります。
ですので、基本構文の学習では、それをつかってどのような処理ができるのか、どういう種類の文法があるのかくらいを頭に置いている程度で十分です。
次に学習する応用や開発の学習に時間を割いください。
基礎が終わったら応用!手取り足取り学習できる動画コンテンツ
これからご紹介するコンテンツでは、基礎も学べますが、動画自体が有料なので基礎は無料コンテンツで完結させることをオススメします。
私が応用~ポートフォリオ開発まで行った学習コンテンツは、Udemyです。
Udemyはシリコンバレー発祥のサービスで、それぞれのエキスパート達が動画を制作して売っているプラットフォームです。
日本語の動画も多くありますのでご安心ください!
ちなみに英語の動画を購入しても翻訳機能があるので日本語にすることもできます。(実際に英語のコンテンツも購入しています。)
Udemyにある動画はピンキリなのですが、中身の濃い動画が多く、動画1本購入すれば基礎を含めて応用、開発まで網羅されています。
講師への質問もできるので、動画内で分からないところを聞くことができます。
コスパについては、動画を購入するタイミングを計ればかなりイイです。
Udemyの動画がディスカウントされるセールの時期がありますので、セールに合わせて爆買いしてます(笑)
以上が私の利用しているコンテンツでした。
これからプログラミングを学びたい方の参考になればうれしいです!