見出し画像

プログラミングの勉強を始めたので自分がやっている勉強の仕方について書いてく

3月の下旬ごろから唐突に思い立ってプログラミングの勉強を始めました。

きっかけはTwitterで拾った以下の画像です。

iOS の画像

バックエンドの勉強をするためのロードマップだそうでして、めちゃくちゃ体系化されているのが分かりやすいなと思いまして、せっかくの機会だからイチから勉強してみようと思い立った次第です。

※画像右上に記載がありますが、詳細や他のロードマップを閲覧されたい場合は以下からどうぞ。

僕は元々Webディレクターという仕事をしていて、Webの技術に触れる機会は多かったのですが、「最近はどういった技術や表現がトレンドで何ができるのか、どの様に使えるか」という表面的な部分の知識はあったものの、実際にその技術がどの様に実装されているのか、どのくらい難しく実装にどのくらいのリソースや期間が必要なのか、という部分に関してはエンジニアに任せっきりでした。

分業っていうと聞こえはいいのですが、要は一定の領域まで行ったらエンジニアに半分以上丸投げになってしまうので、それではいかんなと。

近年、マーケターにもディレクションの知識が求められたり、エンジニアでもデザインやディレクションにガンガン関わる人が出てきたり、Web制作に関わる人たちの業務範囲がどんどんボーダーレスになる中で、ディレクションという狭い領域のみで自分の価値を上げていく難しさも痛感していたので、良いきっかけになればなと思っています。


話は変わりますが、勉強として具体的に何をやっているのかと言いますと、以下のような感じで進めています。


①ロードマップにしたがってWebそのものへの理解を深めていく

ロードマップの最初が「インターネットとは」みたいなところからスタートするのですが、何となく理解しているつもりでも「じゃあ他人に説明してみろ」と言われると説明できない自分がいることに気づいたので、腹落ちするまで調べて、「他人に説明するなら自分だったらこう話す」というのが出来るまで言語化するというのをやっております。

これ意外と重要で、「インターネットとは」というものを覚えておくだけで、「だからこうなんですよ」とクライアントに説明できるものの引き出しがめちゃくちゃ増えたので、クライアントワークのWeb制作に関わっている方で説明できるか怪しい方は、覚えておいた方がいい気がします。

言語化の際には、個人的には紙のノートに書くのが一番な気がするので、ひたすら紙のノートに書き出して、抽象化して言語化するみたいなことを繰り返しました。

これは、プログラミング言語の勉強に入っても同様で、分からない技術や言葉に関してはとにかく紙に書き出して調べて言語化するというやり方を続けています。

ちなみに僕はロードマップでいうと「OSの基本的な知識」まで終えて、JavaScriptの勉強をしております。


②オンラインの学習サービスを使って勉強

実際にプログラミング=ソースコードを書くを勉強するとなると色々とやり方があると思うのですが、個人的には学習本を買うよりはとりあえずオンラインの学習サービスで手を動かしてみるほうが楽しくやれるのかなと思います。

僕の場合は、以下のサービスを使ってHTML・CSSの基礎からやり直しました。

CODEPREPは以前勉強に使ったアカウントが残っていたので利用したのですが、少し情報が古いかもしれませんので、Progateのみでもいいかもしれません。

ただ、二つ以上のサイトで同じ言語について勉強すると理解度が増しやすいというか、反復で複合的に学べるので時間に余裕がある人は両方やった方が良い思います。

Udemyは学習用の動画を販売しているサイトですね。たまにセールをやっていて2万以上するコースが9割引とかで販売されていることがあるので、気になるものをまとめ買いしています。

個人的にはいきなり動画を購入して、見ながらプログラミングの勉強を開始するというのはなかなかハードルが高い気がするので、まずProgateで最低20〜30時間くらいプログラミングに触れてみて、楽しい・続けられそうと思えたら購入を検討するというのが良い気がします。


③情報は複合的にみる

②で少し書きましたが、Web制作に関する情報を得る時は複合的に調べるのが重要になってくるのかなと思います。

というのも、自分が持っている疑問に関して調べた時に各サイトで少しずつ言っていることが違かったり、Webトレンドによって内容が古かったりして「これ」という答えが得られないということがよくあります。

そのため、自分の目的に対していくつかのサイトから複合的に情報を得て「恐らくこの情報なら疑問を解決できるだろう」という判断を自分でトライ&エラーをしながら判断する必要があります。

また、学習サービスを利用する時なども、一つのサイトのみで勉強するというよりは複数のサービスで同じ言語を勉強する(例えばJavaScriptならJavaScriptのコースをやるなど)ということをやることで、1つ目のサイトでは理解しきれなかった部分が理解できたりすることもあるので、複合的&多角的に情報を集めて勉強するのが近道な気がします。


④作業にならない様な勉強法を心がける

これは自分の体験からの注意点ですが、オンラインの学習サービスってサクサク進めることができるので楽しいのですが、学習サービスのコースを一通り終えたからといっていきなりコードが書ける様にはならないということを認識しておくのが大事だと思います。

そうしないと、一通りコースを終えていざ自分で自由にコードを書くぞとなった時に「えっ?全然書けないんだけど?」となってモチベーションガタ落ちなんてのがママありますので。

学習サービスで教えてくれるのってあくまで基礎的な部分で、そこから応用していくとなるとより深い言語への理解や知識が必要になってきます。

なので、学習サービスで勉強していく際に意識すべきなのが「この基礎的な知識を使ってどの様なことが出来るのか?どの様に応用できるのか?」という部分を考えながらやることが重要ではないかなと。

これを意識しないと、盲目的に出された課題に対して写経的にコードを書き込んでいくだけになってしまいますので、1ヶ月勉強したのに1行も書ける様にならなかったみたいなことが起こります(過去の体験談)。


⑤腹落ちするまでやる

これは当たり前中の当たり前の話なのですが、分からないことが少しでも出てきたら飛ばさずに腹落ちするまでとことんやるというのは一番重要なことだと思います。

上でも少し書きましたが、僕の場合は覚えておきたいことや忘れそうなこと、分からない言葉や技術についてはノートに書き留めておいて、なるべくその場で調べて理解してから次に進むようにしています。

例えば、JavaScriptで関数という概念が分からない時はそれこそ言葉の意味から調べて、いろいろなサイトでしっくりくる説明を探して「JavaScriptにおける関数ってこういうもの」というのを説明できるようになるまで続けました。

逆にいうと、腹落ちしないまま何となくで進めていくと、後で分からないことが出てきた時に調べる時間を余計に取られたりして作業効率的にもよろしくないので、出てきた内容はなるべく一発で覚えてやるぞという気概で臨む方が上達が早い気がします。


++++++++++++++++++++++++++++

という感じで、今後も備忘録がてら勉強の進捗や進め方についてまとめていこうと思います。

現状はJavaScriptの勉強をしていますが、ひと段落したら自分でいくつかWebサイトを作ってみつつ、余裕があればバックエンドの言語(Paythonが面白そう)とかにも手を出せればなと考えています。

また、ディレクターにプログラミングの深い知識やスキルは必要なのかという部分が裏のテーマとしてありますので、勉強しながらその部分についても考察して書いていけたらと思います。

それではまた。


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
4
アウルス株式会社でWebディレクターというやつをやっています。Web制作について書いたり書かなかったりします。
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。