こんな方におすすめ
- プログラミングが上達する勉強法が知りたい
- プログラムを独学で学ぼうと考えている
- まずは何からやればいいかい知りたい
私も、IT業界に入るまで、プログラミングには触れてこなかったので、結構苦労したんですよね…。
それでも、今年でエンジニア歴8年目になるので、流石にそれなりに経験を積んできました。
この記事は、エンジニア歴8年目の私が、これからプログラミングを始めようとしている人やエンジニア歴1年目くらいで、「プログラミング苦手だな…」と感じている人向けに、私が思うプログラミングが上達する勉強法をご紹介したいと思います!
参考程度に読んでいただけたらと思います!
【スポンサーリンク】
プログラミング初心者が上達する勉強法6選
私自身が、プログラミングの上達に必要だと思う勉強法が6つあります。
勉強法6つ
・仕組みを理解する
・「書き方」よりも「使い方」を覚える
・わからないことは調べる癖をつける
・教本は最低1冊はあったほうがいい
・他人のコードは積極的に読む
・たくさん作ってたくさんデバックする
上達するのに「近道」と言ったものはありませんが、この6つを抑えると比較的最短距離で上達しやすいと思います。
一つ一つ詳しく説明していきますね!
ちなみに、私はよく言語は「Java」・フレームワークは「Spring Framework」を使って開発することが、多いのでこれを基準に話していきますね。
仕組みを理解する
まずは、自分がやろうとしている物の全体像をイメージできることが大切です。
プログラミングってイメージできることが結構大切で、自分が作ったようにしか、プログラムは動かないんですよね。
なので、何も考えないで進めると整合性の取れないコードになりますし、人に教わっても言われるがままになってしまって何も吸収できずに終わることも結構多いです。
初心者の頃は特に多いので、仕組みを覚えるのは本当に大事だと思います。
例えば、「プログラミングって何?」となっている人が、いきなり勉強を始めても新しく触れるIT用語やプログラミング言語に間違いなく翻弄されてしまうと思います。
そもそも、プログラミングだけが全てではないことに気づいた時に、「もう無理…」となるかもしれません。
プログラミング駆け出しの人も、自分の作っているコードが、どのパッケージに属する処理なのかを理解していないと、次に何をすればいいのかがわからなくて指が止まってしまうと思います。
そうなるといつまで経っても上達は難しいです…。
なので駆け出しの人はまず、パッケージ構成の仕組みの理解を頑張りましょう!
「Spring Framework」であれば、「controller」や「entity」・「service」など他にもあるパッケージ構成の理解を深めましょう!
これらの使い方を覚えると、コーディングレベルでつまづいても「どこでどんな処理をする必要があるのか」がイメージしやすくなります。
それができたら、システムレベルの仕様を理解できたら完璧ですね!
これから勉強予定で「プログラミングって何?」の状態の人は、まずはプログラミングがどう言った物なのかを知るところ始めましょう!
「書き方」よりも「使い方」を覚える
私も、そうでしたがプログラミングを勉強しているとどうしても、書き方を覚えようとする人が多いです。
英語で言うスペルを覚える感じですね。
もちろん、セットで覚えるのがベストではあるのですが、個人的には使い方を覚える方がもっと重要だと思っています。
プログラミングはカンニングOKなんですよ(笑)
書き方は、使ってればそのうち自然と覚えますが、使い方を知らないと書くことすら出来ません。
わたしは、要領が悪かったので、使い方を覚える事に集中したら、だいぶマシになりましたよ!
わからないことは調べる癖をつける
コーディングをしていると、、、
- どの様に実装したらいいのか?
- このエラーコードは何を表しているのか?
- この機能はどうやって使うのか?
など、分からないことがたくさん出て来ます。
それらを解決するためには、自分で調べて解決する力がとても重要になって来ます。
わからないことをうまく言語化するのって難しい事なので、最初の頃は結構悩むと思います。
しかし、わからないとこを的確に言語化するのはITには必須のスキルなので、是非身につけてください!
補足として自分が調べたサイトやリファレンスは、ブックマークやメモにまとめておくのがおすすめです!
自分がつまづいた時に調べた内容は、見直す可能性がたかいので、まとめておくと便利です。
教本は最低1冊はあったほうがいい
やっぱり、教本は大事ですね。
今の時代ネットで勉強する事も可能ですが、右も左もわからない状態では情報の取捨選択が難しいと思います。
ある程度知識がついてからでないと、調べる的を定められないので、挫折してしまう可能性が高いです。
なので、本気で学ぶなら教本は買うべきだと思います。
私のおすすめは、言語は「Java」・フレームワークは「Spring Framework」をセットで勉強するのがおすすめですね!
業界的にも需要の高いスキルになると思うので身につけておいて後悔はないと思います!
Javaの教本の勧めは↓
Spring Frameworkの教本のおすすめは↓
順番として、まずは「Java」の勉強をして、それから「Spring Framework」の勉強をするとスムーズに理解できると思います。
他人のコードは積極的に読む
他人のコードを読む機会がある場合は、積極的に読むのをおすすめします。
他人のコードが読めるようになると、実力が一気にあがります!
プログラムの実装は考え方次第でいくらでもあるので、自分の考えているやり方とは全く違う実装になることってたくさんあるんですよね。
他人がどういったロジックで実装したのかを理解するのは、結構難しいのでかなり勉強になります。
また、自分では実装できなかったやり方を、他人のコードから学ぶことも多いので、積極的に読むと上達も早いです!
たくさん作ってたくさんデバックする
あえていうなら、たくさんデバックするするのが、上達への近道です。
プログラミングを勉強して最初に覚えるべきなのは「デバック」と言われるくらい、デバックは大事なことなんですよね。
エラーや想定通りの処理ができないときに、エラーの詳細や処理の流れを一個一個追って、どのように流れているかを確認するためには、デバックが必須になってきます。
私のイメージではありますが、プログラミングが苦手な人ほどデバックが苦手だったり、最終手段として後回しにする傾向があるように思います。
エラーコードを調べたり、処理を目で追うのも大事ですが、すぐにデバックする癖をつけておくと問題解決が早くなるので、デバックしてどこで処理が止まるのか?・どこまでは正常に動いているのか?をチェつくして、エラーコードを調べる方が、問題のあたりの付け方が上手くなるのが早いです。
上達スピードが1番早いのは「教わる」こと
ここまで、プログラミング初心者が上達する勉強法6つを紹介しましたが、どれも「自分の力」で上達する方法になります。
しかし、当然ですが1番上達が早くなるのは「教わる」のが1番効率がいいです。
学ぶためのレールがあって、わからないことは聞ける環境が1番力が付きます。
私は今は、自分で調べて新しい知識が業務的に必要であれば、「独学」で勉強してはいますが、根本になる基礎の部分は人に教わっています。
なので、1番最初のプログラミング言語は独学ではなく「教わる」のが正直おすすめです。
確かに、スクールに通うとなるとお金的な問題がありますし、すでに会社でプログラミングを業務にしている駆け出しの人なんかは、ちょっと勉強したいために通うわけないですよね。
そこで、おすすめがサブスク型のプログラミングスクールの「FREEKS」(フリークス)です!
スクールと言っても、プログラミングが勉強できる「オンラインサービス」という方が合っていると思います。
月額「10,780円」で、システム開発やアプリ開発の基礎が一通り学ぶことができ、24時間現役のエンジニアに質問もできます。
もともとは、社内での新人教育用の教材として「Freeks」を開発しているため、教育内容はかなり実践的な内容になっています。
また、0から勉強することもできますが、「JS」だけや「Java」だけ「PHP」だけ…などのポイントで勉強するためにも使えるので、業務で使わないといけないけど、右も左も分からない時の基礎学習としても使えます!
「Freeks」はいつでも退会可能なので、普通にスクールに通うより、サブスクの方が「手軽さ」と「お金の面」でかなりコスパが高いのも魅力なんですよね!
学習だけのために利用も可能ですが、転職支援サービスもしておりサービスの内容もサブスクでありながら、他のスクールと比べてほぼ変わらないのも充実しています。
個人的には、基礎学習として利用するのは、新人教育用に「実際に使われている教材」という実績からもかなりおすすめのサービスです!
公式サイトはこちら >> FREEKS
\\初月の入会金が「0円」//
月々「10,780円」で学べるプログラミングスクール!
まとめ
私自身も、初めの頃はプログラミングに苦手意識があり、なかなか上達できませんでした。
正直今でも「得意」かと言われると微妙なところもあります…(笑)
それでも、お仕事ができるくらいにはスキルを身につけることができたので、今駆け出しの人やこれからプログラミングを本気で学ぼうと思っている人は、是非参考にしていただけたらと思います!
プログラミングはやれば誰でもそれなりにできるようになりますし、今の時代のニーズ的にも身につけて損のしない技術になるので、是非あきらめないで頑張ってください!