プログラミング学習

【初心者必見!】プログラミング独学は何から始めれば良いかを解説!

プログラミング独学何から?.001
今回解決できる内容!

✔️これからプログラミングを始めたいけど、何から進めれば良いかわからない、、

✔️本やネットで調べたけど、結局やるべきことがわからない、、

✔️独学で学習していきたい!

上記のような悩みを抱えている方は多くいらっしゃると思います。

私も最初は、

プログラミング勉強したいけど、結局何からやればいいのか、、

こんなこと考えながらダラダラしてたら、1ヶ月ほど何もスタートせずに終わりました笑

そんな私が現在はサラリーマン(営業)をしながら、副業プログラマーとして働いております

>>営業×プログラミングが最強だと思う3つの理由

私の経験からプログラミング独学の始め方をお伝えできればと思います。

これからプログラミングを始めたいと思っている方へ、そして何をやるか決まってないけど何かやってみたいとモヤモヤしているあなたへ、是非参考になれば嬉しいです!

サラプロ

是非プログラミングを始めてみよう!

サラプロのプロフィールはこちら!

プログラミングを勉強する目的を考える

まずは、プログラミングを勉強する目的を考えてほしいです。

なぜここから始めるかというと、

挫折しそうになったときに、最初に決めた目的を思い返して壁を乗り越えられるようにする為です。

・お金を死ぬほど稼ぎたい!

・自分のサービスを世の中に届けたい!

・自由な働き方をしたい!

何でも良いと思います。

私は、プログラミングを勉強して半年くらいのときに、あまりの成長速度の遅さに愕然としプログラミングを辞めようかと思ったことがありました。

しかし、自分の勉強をする目的である

時間や場所に縛られない働き方をする」という目標を何度も思い出して挫折せずに済みました。

「目的なんてやりながら決めればいい」という人もいますが、私は絶対に最初に考えておくべきだと思います。

勉強をしているうちに途中で目的が変わってもそれは全然問題ありません。とにかく最初に時間をかけても良いので自分の中で腹落ちするまで勉強する目的をしっかりと考え抜いて下さい!

サラプロ

私はいつでも思い出せるように携帯にしっかりメモしましたよ!

プログラミング言語を選択する

勉強する目的が決まったら、次に何の言語を勉強するか決める必要があります

プログラミングを勉強するといっても、たくさんの言語があるので何から勉強するのがいいのか迷う人も多いと思います。

結論、何の言語でも大丈夫です

ただ、それだと困ると思うのいくつか選び方をお伝えします。

身近にプログラミングをやっている人と同じ言語を選択する

もし身近にプログラマーの知り合いがいれば、その人と同じ言語を選択することをお勧めします。プログラミングを進めていくと、どうしても自分一人では解決が難しい問題にぶつかることがあります。そんなときに身近でプログラミングをやっている人と同じ言語を選択していれば、質問や相談することができます。

また、一緒に勉強を始める友人を見つけて同じ言語を選択するのも良いでしょう。身近に同じ言語を学習している人がいれば自分のモチベーションアップにも繋がりますし、切磋琢磨することができます!

需要のある言語を選ぶ

昨今IT人材は不足していると言われております。特にプログラマーは引く手数多という話はよく聞きますよね。

そんな中でも需要が多い言語と少ない言語というのはどうしても存在します。せっかく勉強するなら需要がある言語が良いですよね!

下記のグラフをご覧ください。

これは、IT・Web業界のエンジニアやデザイナーの転職業界最大級のレバテックキャリアが、発表した「2019年度プログラミング言語別新規求人案件割合ランキングTOP5」です。

引用元:レバテックキャリア https://career.levtech.jp/guide/knowhow/article/606/

この内容だとJAVA,PHPが上位になります。

このグラフから考えると上位の言語を選んだ場合、実力をしっかりつければ職に困ることはないでしょう。

しかし私は、最初に選択する言語は何でも大丈夫だと考えています

語学を勉強する際に、1つ目の外国語をマスターすると次の外国語は最初よりも習得しやすくなると言われています。理由は、語順や文法が異なっていても、「語彙を増やす」「文の組み立てを理解する」など言語習得に必要な過程を理解しているからです。

プログラミングに関しても同じようなことが言えます。書き方は違いますが、学習に必要な過程はどれも同じですし、考え方や応用方法は言語が違えど似ている部分があります。

まずは気になった言語でトライしてみましょう!

パソコンを準備する

言語が決まったら、パソコンを準備しましょう。

私はプログラミングを勉強し始めたときは、中学生の時から使用していたとんでもなく重いパソコンで作業していました。これでは持ち運び出来ない為、外では勉強出来ていませんでした。

しかし、本格的にプログラミングを勉強するなら、肌身離さずパソコンは持ち歩くようになります。そのためにも、少々金額は高いですが、是非パソコンを新調してみて下さい。

思い切って購入すると、もう後戻りはできない状況になるので自分を追い込む効果もあるかもしれません笑

サラプロ

ちなみに私はMacBook Airを使っています!

勉強方法を考える

ここまではプログラミングを学ぶための準備を行ってきました。

ここからは、実際にどのようにして学習するかというステージに入ります

私のおすすめの方法は下記の流れです。

ドットインストール または Progateのhtml,css,PHPを1周

PHPの基礎本を2周

実際の開発をスタート!

ここで重要なのは、いかにはやく基礎勉強を終わらせて、実際の開発に取り組めるかです。

大体実践に移るまで3ヶ月から半年ほどを目安にして頂ければと思います。

私は、半年ほどダラダラとドットインストールと基礎本を勉強して、その後も確認との名目で基礎勉強を繰り返していました。今思えば、もっと早く実践に取り組むべきだったと感じます

基礎勉強を繰り返すと、

なんか、すごく実力がついた気がする!!

こんな感じで勘違いをします、、

私はほぼ自己満足で基礎勉強をしていました。しかしこれでは、実際の開発の実力はつきません。

是非皆さんは早めに実践に移ることを意識してください!

プログラミング初心者の方に是非意識して欲しいことは下記の記事にまとめましたので参考にして下さい!

>>【初心者必見!】プログラミング初心者が必ず意識すべき4つの項目

実際にシステムをたくさん開発する

ここからがプログラマーとしての本番だと思います。

とにかくたくさんのシステムを開発してみてください!どんなシステムを作ればいいのか迷う人は多いと思いすが、本当になんでも良いのです。

ただ、いきなり凄い物を作る必要はありません。はじめは簡単なシステムを作ってみて、そこにちょっとずつ機能を追加していくだけで大丈夫です。

例えば私は最初下記のようなものを作ってみました。

カレンダー作成

メモ機能が付いたカレンダー作成

ログイン機能付きで、メモ機能が付いたカレンダー作成

少しずつではありましたが、基礎勉強をしていたときには体験できなかったような達成感を得られるようになりました!

私が独学でシステムを開発していく中で、特に大切だと感じたこと3点がありました!

それぞれご紹介していきます!

調べる力を付ける

プログラミングを始めた時は、調べる力の重要性に気が付いていませんでした。しかし、開発を始めるようになっていかに大事かを思い知らされました!

なぜなら、参考書では解決できない事項がたくさんあるからです

本に載っていなければネットで探す必要があります。つまり、どのくらい上手にググれるかが重要になります

ググったとしても自分がやりたいことにバッチリ当てはまるような内容があるとは限りません。わからない箇所を細分化し、1つずつググって少しずつ完成に近づけて下さい。

この力をつける事が出来れば、自分1人で開発していくのがかなり楽になります。

また、今はプログラミングの質問サイトが充実していますので、是非そちらの参考にしてみて下さい!

構文の活用や組み合わせを学ぶ

プログラミングを始めた当初は、if文やwhile文、関数などについて学ぶと思います。基礎勉強をやっていると、それぞれに関しては詳しくなりますが、活用方法はなかなか身につきません。

システムを作るためには、構文の活用方法や組み合わせ方法の知識が必要です!

これは、実際に開発してはじめて身につけられる能力です!

まずは数をこなし、出来るだけたくさんの活用方法や組み合わせ方法を学んでいきましょう!

このブログではやりたいことから逆引き出来るような記事を作成していますので是非参考にして下さい!

PHPの逆引き
PHP関数の逆引き PHPでやりたいことがあるけど、関数名が分からない、、 組み込み関数を使えばもっと簡単に構築できるはずなんだけど、、 ...

成功体験を作り続ける

成功体験を作り続けることで自分のモチベーション維持に繋がります。開発の際はいきなり大きなものを開発しようとせず、簡単な機能を作り、それをどんどん追加して大きなシステムに作り上げて下さい。

簡単な機能でも自分1人で何かを作る事ができると快感を覚えていきます。システム開発はこれの繰り返しだと私は考えています。

プログラミングの楽しみ方は下記の記事を参考にしてみて下さい!

>>【初心者必見!】プログラミングが楽しいと感じる3つの理由

独学の壁と乗り越え方を理解する

プログラミングを独学で勉強すると必ず壁にぶつかります。その際にどんな壁が存在するかを事前に認識しておけば、その状況になった時に冷静に対処法を考えることができます。

実際に独学で学んだ私の経験から独学の壁と乗り越え方を紹介します!

現状維持バイアス

現状維持バイアスとは、明らかに今よりも良い環境や条件だったとしても、自分が体験しない未知のものを受け入れる事に心理的な抵抗が生じ、現状のままで良いと固執する事を言います。

つまり、「今からの変化を受け入れたくない」という作用です。

プログラミングの勉強をしていると、エラーが起こってどうしても前に進まない状態になることがあります。

そうなるとこの現状維持バイアスがかかります。

本業を続ければプログラミングを勉強する必要はないのではないか、、

わざわざ今の状況から変わる必要はないのではないか、、

と思い始めてしまいます。

躓けば躓くほど、言い訳が頭の中をよぎります。

周りの人をみると仕事以外の時間を勉強に当てている人なんていない、、

本業で疲れているからそれ以外の時間は自由時間に使いたい!

この状況を脱するにはプログラミングで成功した自分を想像し続けることです。

時間や場所に縛られない働き方をしている将来の自分

多くの案件をこなして稼いでいる自分

なんでも良いです。とにかく成功したことをよりリアルに想像して下さい。こうすることで、目標を達成する為の手段としてプログラミングを学習していることを再確認できます。

大事なのは目標をしっかりと認識し、達成した自分を想像し続けることです

孤独との闘い

私サラプロはサラリーマンをしながら独学で2年間勉強してきました。

この時に特に感じていたのが、「孤独」です。

プログラミングスクールなどに通えば周りに一緒に勉強する仲間ができるかもしれませんが、独学の場合は1人で孤独に戦わなければいけません。

世の中でサラリーマンをしながらプログラミングをしているのは自分だけなのかという気持ちになることもありました。

これを脱する方法は、いかに仲間を見つけ、定期的に危機感を煽るかです。

まずは、自分の目標・仲間とする人を探します。ツイッターやブログや身近な人でも誰でもいいです。

ここで大事なのは、自分より少しだけ進んでいる人を選ぶことです。ここで目標を高く持ちすぎてしまうと、逆にやる気を無くしてしまいます。

目標・仲間を決めたら、こまめにその人の状況をチェックします。

私はちょうど同時期くらいにプログラミングを始めた友人がいたので、定期的に連絡を取っていました。彼はプログラミングスクールに通っていたので、そこでどんなことを学び、どのくらいの進捗なのかを定期的に確認していました。

彼の進捗が自分にとってかなり刺激になりました。やる気をなくしたときでも、彼の学習スピードを確認し、自分を鼓舞するようにしていました。

成長の実感が持てない

私は、progate,ドットインストール,参考書を一通り終えて、自分には相当力がついたと勘違いしていました。

実際に本格的な開発を始めると自分の力の無さを思い知らされました。

あんなに勉強したのになぜこんなこともできないのだろう?

こんなことを考えて自暴自棄になってしました。

しかし、安心して下さい。そんなの当たり前です。基礎問題を一通りといたくらいで簡単にプログラミング開発ができるほど甘くはないからです。

ここで覚えていてほしいのは、プログラミングの実力は指数関数的な伸び方をします。つまり、緩やかに上昇するというよりは突如一気に上昇します。そしてまた成長を感じられない時期が続き、また一気に上昇します。

これの繰り返しです。なので成長を感じられる場面は少ないと思いますが、継続していれば確実に成長できます

成長が感じられないからといって途中でやめてしまったら、大変もったいないです。何事もそうですが、継続してこそ力を発揮します。

是非、プログラミングの成長速度に関しては認識しておいて欲しいです。

プログラミング初心者が意識すべきこと(実体験に基づいて)

私は2年ほど前からプログラミングを独学で学び始めました。

最初の1年は何度も挫折しそうになりました。

今思えば、初学者の際に意識していたらもっと成長も早かったのではないかと思うことがいくつもあります。

これから学習を始める方は是非参考にして下さい!

コードを必ず毎日打つ

まずは、毎日少しでもいいから必ずコードを打つ癖をつけるということです!

私は勉強を始めた最初の頃は、とりあえず教材やドットインストールの動画を眺めているだけでした。営業なので、外回りのときに社有車でラジオ代わりにドットインストールを流して構文を覚えようとしていました。

そのときは理解したなと思っていますが、実際に軽い実戦問題を解いてみると、全くできないということがよくありました

また、演習問題を解いているときも、サイトなどでやり方を調べたものに関しては、そのコードをそのままコピペして使用していました。

こんなやり方をしていたら、1通り本での基礎勉強を終えて実践練習のようなものを行った際に、あまりの出来なさに愕然としたのを覚えています。あれだけドットインストールや本を見ていたのに全くコードが書けませんでした。

ここで注意して欲しいのは、コードを暗記するというわけでは決してないです暗記するのではなく、しっかりとキーボードを叩いてコードを打つことを意識して下さい

暗記をする必要は全くありません。よく構文をノートにまとめておく人がいますが、それは時間の浪費です。プログラミングは受験勉強と違ってカンニングし放題です。プログラミングで大事なのは構文を覚えるのではなく、使い方や構文同士の組み合わせ方を理解することです

誰かに聞ける環境を作る

プログラミングを進めていくと、エラーが出て次に進めない状況になることがあります。私は1箇所で解決までに1週間以上掛かったこともありました。

本当に簡単な凡ミスでも、自分1人だと暗闇の中をさまよう状態で一向に解決の糸口を見つけれなくなります。ここで自力で解決することももちろん大事ですが、誰かに聞くことができるという選択肢を是非作っておいて下さい

独学でやっているから聞ける人がいない、、


誰に相談すれば答えてくれるかわからない、、

身近に先生がいる人がすぐに聞けますが、上記のように悩みを抱える人も多くいると思います。

しかし、現在は色々な人に聞く方法があります。

このようなプログラミング質問サイトを活用して、自分1人で抱え込まず、プログラミングの先輩たちに意見を求めるようにしましょう!

ある程度基礎勉強を終えたら、何でも良いから開発する

初心者は最初ドットインストールやプロゲートなどに手をつけると思います。私はその方法には賛成です。

しかし、基礎勉強ばかりを続けてもスキルアップには繋がりません。1〜2周したら参考本を1冊終わらせてその後は作品作りに時間を費やして下さい。

私は半年間ほど基礎勉強をずっと繰り返し勉強していました。というか勉強した気持ちになっていました。

サラプロ

これだけ基礎問題を解けるようになったから、自分も立派なプログラマーだ!


こんなことを思っていました。

しかし、実際に何か開発してみようと思うと、自分でも驚くほど何も出来ませんでした。

プログラミングで大事なのは基礎構文を覚えることではなく、その構文の使い方、組み合わせ方を学ぶことです。これは実際に開発に取り組まないと学べないことです。初心者の方は常にこれを意識して欲しいです。

それでは実際に何の開発をすれば良いかというと、

何でも良いんです!!

とにかく自分が、興味あるものを開発してみましょう!カレンダー機能でも良いし、ツイッターみたいな投稿サイトでも良いです。

もし思いつかなければ、ネットで開発の例を調べてみて片っぱしから作ってみるのも良いかもしれません。

とにかく、開発を行いながら、構文の使い方や組み合わせ方を学んでいきましょう!

公式のリファレンスを読む

PHPは特にサイトの情報量を多く、色々な人が情報を載せていますが、最も信頼性が高いのは「公式」です。

調べ物をする際にはまずは必ず公式に触れるようにしましょう。

まずは公式を読む癖をつけることが大事です。

最初はなかなか大変だと思いますが、今から練習しておけば将来必ず役に立ちます。

これからのキャリアについて相談したい方へ

私はプログラミングを独学で学習していましたが、

このまま勉強してフリーランスを目指すべきか、、

早めに転職する方がメリットが大きいのか、、

など、よく悩んでいました。

独学で大変なことは、このような悩みを抱えていても相談する相手がいないことです。

最近のプログラミングスクールは、カウセンリングという制度を設けています。そこで将来のキャリアや悩んでいることなどを相談することが出来ます!何より無料なのがありがたいです。

独学で悩んでいる方は、まずは無料カウンセリングを利用してプロに相談してみて下さい。

>>【テックアカデミー】無料メンター相談の詳細はコチラ

まとめ

今回解説した内容

✅プログラミング独学の始め方

✅独学の壁と乗り越え方

✅プログラミング初心者が意識すべきこと

今回は以上になります。

プログミングを学習するのは根気のいることだと思います。しかし、もし習得することができたら、自分が想像していないような楽しさや喜びを感じる事ができると思います。

私はこのブログを通して、1人でもそのような人が増えるように日々更新を続けたいと思います!

サラプロ

一緒に頑張っていきましょう!

最後にプログラミングを学ぶときに独学かスクールか迷っている方は下記を参考にして下さい!

>>プログラミングスクールと独学はどちらが良いのか?

まずは無料相談してみましょう!