プログラミングが全くわからない。どうすればいいのか、具体的な対処法を教えて欲しい。
こんなお悩みを解決する記事を書きました。
ご紹介する「プログラミングが全くわからない時の対処法20選」を読めば、プログラミングがわからない原因と具体的な対処法を知ることができますよ。
僕は現役のフリーランスエンジニアです。実務ではほぼ毎日プログラミングをしています。また、プログラミング言語の資格「Java Gold」も保有しているので、それらの知見を基にわかりやすく解説していきますね。
プログラミングのスキルを手に入れ市場価値を高めたい方は、ぜひ最後まで読んでみてください!
プログラミングがわからないのは最初だけ【前提】
前提として、プログラミングがわからないのは最初だけの理由を解説しておきます。
プログラミング習得時間の目安は600~1,000時間
まず、プログラミングを習得するには「600〜1,000時間」ほど必要です。
プログラミングは慣れるまでに時間がかかります。
僕自身、最初はプログラミングがわからなくて、頭を抱えていました。なれるまでに大体500時間はかかりましたね。
最初からプログラミングができる人は、ごく一部の天才を除いていないです。
なので、もしあなたが今プログラミングがわからなくても、全く問題ないですよ。
できるエンジニアは膨大な時間を費やしている
プロのエンジニアはみんな膨大な時間を費やしています。
たった100時間や200時間程度勉強しただけでは、プロのエンジニアにはなれません。
でも考えてみて欲しいです。誰でも簡単に習得できるものに、価値はないですよね。
だからこそ、プログラミングのスキルを身につけたエンジニアは需要があります。
プログラミングが全くわからないときの対処法20選
プログラミングが全くわからない時の対処法20選をお伝えしていきます。
- 実現したいことを明確にする
- 全てを理解しようとしない
- 全体を見る
- 時間を決める
- しつこく検索する
- 他人のコードを参考にする
- 別の方法を試みる
- わからなくてもイライラしない
- 質問力を身につける
- リフレッシュする
- エラーの解決方法を学ぶ
- 暗記するより理屈で覚える
- コードの文法を学ぶ
- コードは眺めずに意味を理解する
- 正しい勉強方法を学ぶ
- 圧倒的な量をこなす
- 用語は頭の中で誰かに説明する
- わからないことは言語化する
- 毎日プログラミングをする
- 諦めない
順に見ていきましょう。
実現したいことを明確にする
プログラミングがわからない原因として、「何をやりたいのかが明確になっていない」ことがあります。
実現したいことが曖昧なのに、先に手を動かそうとしてしまっているパターンですね。
プログラミングをする際は「先に実現したいことを明確にする」と良いです。
たとえば、
- 「画面を遷移させたい」
- 「削除ボタンを実装したい」
- 「データを取得したい」
などの目的を書き出し、その目的達成のための具体的な実装方法を言語化します。
それからプログラムを書いていくという流れが良いです。
全てを理解しようとしない
プログラミングは全てを理解しようとすると、頭が混乱しやすいです。完璧主義者によくありがちです。
プロのエンジニアでも、全てを理解している人はいません。全てを理解しようとせず、あなたがいま知るべき情報に絞ることがポイントです。
たとえば、アプリケーションのログイン機能を実装したいなら、その機能を実装するために必要なことだけに集中しましょう。他の会員登録機能とか関係のないIT用語などは一旦後回しでOKです。
プログラミングに完璧主義は必要ありません。まずは「動くものをつくること」が大切です。完了主義になりましょう。
全体を見る
プログラミングがわからない時は、全体を見れていないケースがあります。
全体を見れていないと、問題点を特定しづらいです。
たとえばスマホを見ながら歩いていたら、前に人が来ていることや電柱があることに気が付きにくいですよね。それと同じイメージです。
プログラミングでたとえるなら、一つ一つの細かい変数や関数ばかりみるのではなく、まずは「目的」を明確にした上で関係のある箇所を特定するところからです。
全体の見すぎは逆効果
プログラミングは全体を見た後は細かいところを見ていかないといけません。
遠くばかり見ていても、今度は目の前のやるべきことに集中できないからですね。
まずは全体をみつつ、徐々に焦点を絞っていくと良いですよ。
時間を決める
プログラミングがわからないときは、問題解決するための時間を決めておきましょう。
人は悩めばとことん悩む生き物なので、1つの問題に1日費やすなんてことが起きるからです。
たとえば、30分調べてもわからない場合は、質問をするか別の方法を試すなど。
自分の中で「ここまで時間使ってもわからなかったら他の方法を試そう」と、時間制限を設けておけば効率よく学習できます。
しつこく検索する
プログラミングでわからないことを一度調べても欲しい回答がなかったとしても、しつこく調べましょう。
なぜなら一回ググっただけでは、知りたい情報が手に入らないことがよくあるからです。
たとえば、
- 検索するキーワードを色々変えてみたり
- 2ページ目以降も調べてみたり
- ChatGPTに聞いてみたり
僕自身、現場ではいつもググっています。気がつけばブラウザのタブが10個以上開いてたなんてことはよくあります。
プログラミングは大体調べればネットに解決策が載っていることが多いです。何度も検索する癖をつけてみてください。
他人のコードを参考にする
プログラミングは他人が書いたコードから学べることは多いです。
他人のコードを読むことで、どういうロジックを書けばいいのかがわかるからです。
もしあなたがプログラマーとして会社に所属しているなら、現場にある他人のソースコードをよくみてください。
会社に所属しておらず、独学をしている方も、ネット上にある他人のコードを読んでみると良いですよ。
デバッグする
プログラミング初心者はまず「デバッグ」から覚えると良いです。
デバッグとは、プログラムのどこに問題があるのかを特定する作業のこと。
たとえば、VS Codeやeclipseなどのコードエディターを使えば、デバッグができます。
デバッグをすることで
- 「実際に画面を動かしながら、どの関数が通っているのか」
- 「変数には何の値が入っているのか」
などを調べられます。
もし何言っているかわからないという方は、そのうち理解できる日が来ます。
なので、いまはそういうのもあるんだな程度に思っておいてください。
別の方法を試みる
プログラミングがどうしてもわからない時は、別の方法を試みるのも手段の一つです。
わからないことに延々と時間を費やすよりも、他の方法を模索することで解決できるケースがあるから。
Aの方法はできなかったとしても、Bの方法はうまくいくなんてことはよくあります。
どうしてもわからないときは、別の方法を試みましょう。
わからなくてもイライラしない
プログラミングが全然理解できなくても、イライラしないことが大切です。
イライラすると頭に血が上り、正常な思考ができず、余計に問題が解きづらくなるからです。
僕の経験上、イライラしながらやって解けた試しがありません。わからない時はとにかく、何がわからないのかを言語化することがポイントです。
言語化しているうちに、脳がイライラモードから解決モードへと切り替わりますよ。
質問力を身につける
いま会社員エンジニアとして働いている方は、上司に質問する機会があると思います。
その時に的確な質問ができると、上司の負担を減らせますし、あなたも少ない労力でほしい回答を得られます。
もしいまプログラミングを独学している人でも、これからエンジニアになる上で質問する機会はでてくるので、今のうちから質問力をみにつけておくと後で役に立つ日が来ます。
以下では、エンジニアの質問の仕方をまとめていますので、ぜひチェックしておいてください。
リフレッシュする
プログラミングがわからない時、一旦席を離れてみるのは効果的です。
あまり煮詰めすぎると、思考が正常に回らないことがあります。
一旦席を離れて気分をリフレッシュすることで、1時間考えてもわからなかったことが、一瞬で解決できるなんてことは時々あります。
1分ほど目を閉じてみるのも良いですね。
エラーの解決方法を学ぶ
プログラミング初心者は、エラーが出た時にどう対処すれば良いかわからないことはよくありますよね。
解決策は、
- 「エラー文でそのままググる」
- 「エラー文をGoogle翻訳する」
- 「ChatGPTに聞く」
です。あなたが出会ったエラーは、他の誰かも出会っているので、答えは大体ネットに書かれています。
とはいえ、「エラーでググっても解決方法がわからない」という方もいると思います。
以下では、エラーを解決する為の具体的な方法をまとめていますので、ぜひ読んでみてください。
暗記するより理屈で覚える
プログラミングは暗記するより理屈で覚えることがコツです。
プログラミングは複雑なコードを読み解く力や、実装する力が必要です。
そんな複雑なプログラミングを、1から10まで学校の社会のテストみたいに暗記していては、10年あっても足りません。
暗記するのではなく、「何でこう動くの?」という感じで、「why」を追求することがポイントです。
コードの文法を学ぶ
そもそもプログラミングの文法を学んでいないと、コードを読むことも書くこともできません。
たとえば、条件分岐をしたいときに、if文の書き方がわからないとかですね。
プログラミングに限らずですが、基礎を学んでいないと本格的に自分でアプリを作ったりすることはできません。
まずは基礎文法を学ぶのが先ですよ。
コードは眺めずに意味を理解する
プログラミング初心者あるあるなのが、コードをただ眺めてしまっていることです。
自分ではコードを読んでいるつもりが、意味を理解せずにみているだけの状態です。
僕はエンジニアに転職したてのころ、まさにコードを眺めていました。もちろん意味を理解していないので、1ヶ月経っても半年経っても一向に上達しませんでした。
解決策は、コードは眺めるのではなく、一つ一つの意味を調べながら理解することです。
意味がわからなければ、その都度ググる。そしてまたコードを読み進める。これを繰り返せば、だんだん読めるようになっていきます。
正しい勉強方法を学ぶ
そもそも勉強の仕方がわからないパターンもあります。
僕自身、プログラミング初心者のころはどうやって勉強すれば良いのかわかりませんでした。
たとえば、初心者でよくある疑問として、
- 何から手をつければいいかわからない
- どの言語から学べば良いかわからない
- 独学かスクールか参考書か無料サイトかどれで勉強すれば良いかわからない
上記のことがあげられます。プログラミングを始める前の段階でつまずいてしまっているパターンですね。
もしプログラミングの独学で挫折しそうなのであれば、プログラミングスクールに行くのもありですね。実際に僕もスクールを受講してエンジニアになりました。
下記でおすすめスクールをまとめているので、ぜひ参考にしてみてください。
圧倒的な量をこなす
プログラミングがわからないという悩みの99%は、「圧倒的な量をこなす」ことで解決します。根性論かもしれませんが、事実です。
僕はエンジニアになって1年目は本当にプログラミングができませんでした。
でも2年目からプライベートでも必死にプログラミングして、言語の資格も取ったりして、実務でわからないことはすぐ調べたり聞いたりして、やっと一人で開発できるレベルになったんです。
プログラミングは量をこなせば上達します。
用語は頭の中で誰かに説明する
プログラミングをしているとIT用語にたくさん出くわしますよね。用語を調べても、なんか難しく解説しているサイトばかりで、初心者の方は「?」だと思います。
そんな時におすすめなのが、「頭の中で誰かに説明する」です。人は誰かに教わるよりも、誰かに教える方が記憶に定着しやすい傾向にあります。
この原理を利用して、IT用語も頭の中で後輩や友人に教えるイメージをすると、覚えやすいですよ。
わからないことは言語化する
プログラミングをしていると、「何がわからないかがわからない」といったケースがでてきますよね。僕はいまだに実務で、頭が真っ白になることはよくあります。
自分がどんな問題に当たっているのかがわからないので、解決のしようがないのです。たとえば、何もない「無から有」を生み出すことって難しいですよね。
そんな時に僕がよく実践していることが、「わからないことを言語化する」です。
- 自分はいま何をしようとしていているのか
- いったい何がわからないのか
- そしてどうすれば解決できるのか
これをエクセルやエディターに書き起こします。
そうすればだんだん何をやるべきか、徐々に光がみえてきます。
諦めない
最後は「諦めない」ことです。これが一番大事と言っても過言ではありません。
プログラミングは最初は難しいかもしれませんが、継続すればできるようになります。
でも多くの方は継続できずにやめてしまうんです。「あともう少しで上達する」ってところで、やめてしまうのは特にもったいないですよね。
僕自身、エンジニア一年目はプログラミングが本当に全然理解できなくて、上司に何度も怒られて、何度もエンジニアをやめようと思ったことがあります。リアルにエンジニアになって6ヶ月目くらいで転職エージェントに相談してました。
それでも必死に続けていたら、一人称で開発できるレベルになり、プログラミング言語の難関資格も取得でき、月60万稼げるようにもなりました。
なので今伸びなくても、諦めずにプログラミングをやり続けてみてください。継続すればできるようになりますよ。
以下記事では、プログラミングのモチベーションのあげ方について解説しています。モチベを上げたい方はぜひ参考にしてみてください。
プログラミングが理解できないときの対処法【実践編】
最後に「どうしてもプログラミングが理解できない」って時に、幅広く使える対処法を伝授しますね。
- わからない事を言語化
- 問題点をリサーチ
- 処理の流れを理解する
- 仮説を立てる
- 仮説をもとに検証
順番に見ていきましょう!
STEP1:わからない事を言語化する
STEP1は、何がわからないのかを明確にしましょう。
この手順を飛ばすと、自分が何に悩んでいるのかがぼんやりとしているため、どう解決すべきか方法を見出せません。
具体的には、エクセルやメモ帳に書き出し、言語化していきます。
実現したいこと:画面のメニューボタンを押して画面遷移をしたい。しかし、ボタンを押しても何も反応しない。ボタン押下後に画面遷移をする処理をどう記述すれば良いかがわからない。
上記のイメージです。
簡単でいいので、まずは「何を実現したいのか」「どの辺がわからないのか」を明確にしましょう。
STEP2:問題点をリサーチする
STEP1で、言語化した問題点をGoogle検索でリサーチしていきます。
たとえば、以下はケース別のリサーチ方法です。
- エラーが出ている→エラー名で検索する
- 用語がわからない→用語名で検索する
- 画面遷移の仕方がわからない→「言語名+画面遷移+方法」などで検索する
上記の通り。
まずはわからない専門用語やエラー内容、実現したいことなどを徹底的に検索してみましょう。
STEP3:処理の流れを理解する
STEP3では、処理の流れを理解していきます。
処理の流れを理解していないと、どのソースファイルを修正すべきかが特定できないからです。
たとえば、今回の画面遷移を例にするなら、
- メニューボタンを押す
- JavaScriptの共通メニューのメソッドが動作する
- JavaScriptの共通メニューに遷移先の画面URLの記述が必要
上記の通り。
どのボタンを押せばどのメソッドが動作するのか?を先に頭の中で動きをイメージするのです。
その後に日本語として書き起こし、最後にコードを書くといった流れですね。
STEP4:仮説を立てる
STEP4では、仮説を立てていきます。
プログラミングは「仮説をもとに検証→仮説が外れたらまた立て直す」の繰り返しになります。
今回の画面遷移を例にすると、JavaScriptのメソッドにURLを記述すれば良いという仮説が立てられますよね。
仮説を立てる際のポイントは、闇雲に立てるのではなく、自分なりに根拠を持って立てることがポイントです。
闇雲に仮説を立てても、それは一か八かなので、自身の成長につながらないです。
STEP5:仮説をもとに検証する
仮説をもとに検証していきます。
具体的な根拠を持って検証することで、仮説力が身に付いていきます。エンジニアは仮説力が必要になりますので、押さえておきたいスキルの一つです。
もし仮説をもとに検証をしたにもかかわらず、問題が解決できなかった場合は、もう一度仮説を立て直します。これを繰り返していけば、問題解決能力が爆上がりしていきますよ。
以下では、プログラミングのロジックの考え方をまとめていますので、あわせて参考にしてみてください。
まとめ:プログラミングに才能は不要
プログラミングは、初めはわからないことが多いです。
僕は初めのころhtmlのtableタグを理解するのに数日かかったことがあり、とにかくプログラミングは難しい印象がありました。
誰でも最初はそんなものです。継続していたら点と点が線になって理解できる日がきます。根気強くコードを書き続ければ、できるようになってきますし、楽しくなってきます。
本記事で紹介した対処法は、繰り返し読んで実践してみてください。
以下では、僕も受講したことのあるおすすめのプログラミングスクールをご紹介しています。プログラミング学習で挫折しそうな方は、ぜひ活用してみてください。