【本質】プログラミングが全くわからないときの対処法【5STEP】

2021年11月3日

シン

プログラマー【経歴】新卒でブラック配送業▶︎販売員▶︎プログラミングスクール▶︎受託開発IT企業1.5年▶︎フリーランスエンジニア|Java/Spring|Oracle認定Java Silver資格保有|サイト運営のテーマ「市場価値の高いITエンジニアを輩出する」|大阪在住29歳

プログラミングをしていると、エラーが発生したり、うまく動作しなかったりして頭を抱えることは誰しも経験のあることだと思います。

特に解決方法が全く思いつかず、何をどうすれば良いのかわからないなんてこともあるでしょう。

本業でエンジニアをやっている方なら、納期があったりして焦ることもあるかと思います。

僕自身、現役フリーランスエンジニアでプログラミング歴は約1年半ほどですが、いまでも全くわからないといった状態に陥ることはあります。

しかし、とある方法を実践してからは、この「全くわからない」といった状態を解決できるようになりました。

そこで今回は現役エンジニアの僕が、プログラミングが全くわからないのはどういったケースなのか、またその際にどうすれば良いのかについてシェアしていきます。

本記事をお読みいただくことで、今日からプログラミング初心者の方でも、問題が発生したときに具体的にどう解決すべきかが明確になります。

ぜひじっくりお読みいただき、快適なプログラミングライフをお送りください。

プログラミングが全くわからないときの原因5つ【前提】

プログラミングがわからないのは、どういったケースなのでしょうか。

結論、以下の5つがよくあるパターンです。

  • エラーがわからない
  • 用語がわからない
  • 文法がわからない
  • 勉強法がわからない
  • わからないことがわからない

順番に解説していきます。

原因1:エラーの解決方法がわからない

1つ目は、エラーの解決方法がわからないときです。

エラーを読もうとするけど、なんて書いてあるかが分からなかったり、Googleで検索しても英語のサイトばかりでわからないときもあるでしょう。

特に経験の浅いプログラミング初心者だと、エラーが出ていることに気がつかないというパターンもあります。

解決策:エラー文をGoogle翻訳する。エラー文でそのままググる。

原因2:用語がわからない

2つ目は、用語がわからないときです。

用語と言っても、

  • IT用語
  • 英語
  • エラー文

などなど。

調べてもなんだか難しく解説しているサイトばかりで、初心者の方はちんぷんかんぷんですよね。

僕もいまだに調べても1度で理解できないことがあります。

解決策:用語名でググる→ノートやエクセルにメモをする。

原因3:文法がわからない

3つ目は、文法がわからない時です。

たとえば、条件分岐をしたいときに、if文の書き方がわからないとかですね

プログラミング言語によって文法は異なりますし、マイナーな言語ほど解説サイトが少ないため、解決策が見当たらないなんてこともあるでしょう。

解決策:言語の公式サイトや書籍、学習サイトを活用する。

原因4:勉強法がわからない

4つ目は、そもそも勉強の仕方がわからないときです。

僕自身、プログラミング初心者のころはどうやって勉強すれば良いのかわかりませんでした。

たとえば初心者の方でよくある疑問として、

  • 何から手をつければいいかわからない
  • どの言語から学べば良いかわからない
  • 独学かスクールか参考書か無料サイトかどれで勉強すれば良いかわからない

プログラミングを始める前の段階でつまずいてしまっているパターンですね。

解決策:プログラミングの始め方・学習方法の記事を参考にする

原因5:わからないことがわからない

最後は、「わからないことがわからない」ケースです。

自分がどんな問題に当たっているのかがわからないので、解決のしようがないのです

たとえば、無から有を生み出すことはあきらかに難しいですよね。

僕も実務で、頭が真っ白になることはよくあります。

しかし、これらの原因は全て根本的な問題がありますので、次以降で解決策をご紹介していきますね。

プログラミングの実装で全くわからないときの対処法【5STEP】

プログラミングの実装で、全くわからない時に幅広く使える対処法です。

  • STEP1:何がわからないのかを言語化する
  • STEP2:問題点をリサーチする
  • STEP3:処理の流れを理解する
  • STEP4:仮説を立てる
  • STEP5:仮説をもとに検証する

詳しく解説していきますね。

STEP1:何がわからないのかを言語化する

まず、何がわからないのかを明確にしましょう。

この手順を飛ばすと、自分が何に悩んでいるのかがぼんやりとしているため、どう解決すべきか方法を見出せません。

具体的なやり方としては、エクセルやメモ帳に書き出し、言語化していきます。

例えば以下の通り。

実現したいこと:画面のメニューボタンを押して画面遷移をしたい。しかし、ボタンを押しても何も反応しない。ボタン押下後に画面遷移をする処理をどう記述すれば良いかがわからない。

このように、簡単でいいので、まずは「何を実現したいのか」「どの辺がわからないのか」を明確にしましょう。

STEP2:問題点をリサーチする

STEP1で、言語化した問題点をGoogle検索でリサーチしていきます。

たとえば、以下はケース別のリサーチ方法です。

  • エラーが出ている→エラー分で検索する
  • 用語がわからない→用語名で検索する
  • 画面遷移の仕方がわからない→「言語名+画面遷移+方法」などで検索する

上記の通り。

まずはわからない専門用語やエラー内容、実現したいことなどを徹底的に検索してみましょう。

STEP3:処理の流れを理解する

STEP3では、処理の流れを理解していきます。

なぜなら、処理の流れを理解していないと、どのソースファイルを修正すべきかが特定できないからです。

たとえば、今回の画面遷移を例にするなら、

メニューボタンを押下後の処理の流れ

  • ①メニューボタンを押す
  • ②JavaScriptの共通メニューのメソッドが動作する
  • ③JavaScriptの共通メニューに遷移先の画面URLの記述が必要

上記の通り。

どのボタンを押せばどのメソッドが動作するのか?を思考するのです。

頭の中で動きをイメージするのです。

なお、プログラミングでは「デバッグ」というバグを見つけるための機能が開発環境にはありますが、これを利用すれば処理がどういう風に流れるのかが明確になります。詳しく知りたい方は調べてみてください。

STEP4:仮説を立てる

STEP4では、仮説を立てていきます。

プログラミングは仮説をもとに検証→仮説が外れたらまた立て直す」の繰り返しになります。

今回の画面遷移を例にすると、JavaScriptのメソッドにURLを記述すれば良いという仮説が立てられますよね。

仮説を立てる際のポイントは、闇雲に立てるのではなく、自分なりに根拠を持って立てることがポイントです。

闇雲に仮説を立てても、それは一か八かなので、自身の成長につながらないです。

STEP5:仮説をもとに検証する

仮説をもとに検証していきます。

具体的な根拠を持って検証をすることで、仮説力が身に付いていきます。

エンジニアは仮説力が必要になりますので、押さえておきたいスキルの一つです。

もし仮説をもとに検証をしたにもかかわらず、問題が解決できなかった場合は、もう一度仮説を立て直します。

これ以上、思い当たる仮説がないという状態まで来たら、上司や質問サイトで質問をしましょう。

プログラミングで全くわからないときの対処法【番外編】

プログラミングで全くわからない時の対処法「番外編」です。

番外編も重要ポイントを解説していきますので、併せてご覧ください。

調べる癖を身につけておく

プログラミングで考えてもわからないときは、すぐに調べましょう。

なぜなら考えてもわからないということは、知識がないということだから。

たとえば問題が発生したときに、AがわからないからBも理解できないなんてことはよくあります。

その中でAについて調べようとせず、Bの問題を解決しようと延々と考えてしまう初学者は多いです。

ただこう言うと、「わからないから調べろとか、当たり前のこというなよ」と思う方がいるかもしれません。

しかし実際に自分が問題に直面した時、特に初心者の方は問題解決をしようと頭の中でぐるぐると考えるだけで、調べようとしない傾向にあります

なので意識的にググる習慣をみにつけてみてください。

やりたいことを明確にする

プログラミングをする際は、「やりたいことを明確にする」と良いです。

たとえば、

  • 画面を遷移させたい
  • 削除ボタンを実装したい
  • データを取得したい

などなど。

まずはやりたいことを明確にした上で、その目標達成するためにどうプログラミングをすればよいか考えましょう。

プログラミング上達のコツは、繰り返し問題解決することです。

問題解決のための時間を決めておく

プログラミングがわからないときは、問題解決のための時間をあらかじめ決めておきましょう。

なぜなら人は悩めばとことん悩む生き物なので、1つの問題に1日費やすなんてことが起きるから。

たとえば、15分調べてもわからない場合は、質問をするなど。

15分は目安ですが、自分の中で「ここまで時間使ってもわからなかったら質問しよう」と時間制限を設けておくと、効率よく学習することができます。

わからないなら別の方法を試みる

プログラミングがどうしてもわからない時は、別の方法を試みると良いです。

なぜならわからないことに延々と時間を費やすよりも、他の方法を模索することで解決できる時があるから。

たとえばAの方法はできなかったとしても、Bの方法はうまくいくなんてことはあります。

なので、どうしてもわからないときは、別の方法を試みましょう。

わからなくてもイライラしない

プログラミングが全然分からなくても、イライラしない方が良いです。

イライラしてしまうと、頭に血が上り、正常な思考ができず余計に問題が解きづらくなるからです。

僕の経験上、イライラしながらやって解けた試しがありません。

なので、わからない時はとにかく何がわからないのかを言語化しましょう。

言語化しているうちに、脳がイライラモードから解決モードへと切り替わりますよ。

質問の仕方を身につけておく

質問ができる環境にいる方は、質問の仕方を身につけておきましょう。

質問の仕方がわからないと、なんて質問をすれば良いかわからないため、質問できなくなってしまいます。

以下は、悪い質問と良い質問の例です。

悪い質問

  • これがわからないんですけど、どうすればよいですか?
  • これを試したんですけど、うまくいかなくて、どうすればよいですか?

良い質問

〇〇の実装をしたいのですが、うまくいきません。

現状としては、〇〇をしていたら、〇〇というエラーが発生しました。

検索してみると、〇〇という方法が良いとのことだったので、試してみましたがうまくいきません。

他にも、自分は〇〇が原因では無いかと思いましたが、こちらもうまく動作しませんでした。

他に何か考えられる原因はおわかりでしょうか。

悪い質問は、完全に相手に丸投げしてしまっています。

これだと相手が考える負担が大きいため、嫌われてしまいます。

良い質問例は、

  • 実際に自分が何を実現したいのか
  • どの手順を踏んでどんなエラーが出たのか
  • 自分は何を試したのか
  • そう思った根拠は何か

といったところまで、言語化できています。

ここまで言語化できると、「なるほど、そこまで試したんだね。〇〇の方法はうまくいかなかったのか。それなら次はこれを試してみて。」という風に、相手が考える負担を減らせます。

今独学をしている方も、将来エンジニアに転職したら必ず上司に質問する機会が訪れるので、今のうちに質問力を身につけておくと良いですよ。

質問サイトを活用する

質問サイトを活用するのもありですよ。

特に独学で誰かに聞ける環境でない方は、質問サイトを利用することで、現役エンジニアから回答がもらえます。

たとえば、おすすめの質問サイトは以下の通り。

質問をする際は、具体的に書くことで、相手が回答しやすくなります。

会社でわからないときは上司に質問する

会社の実務でわからないことがあったときは、先輩に質問しましょう。

ベテランエンジニアに無料で質問ができるのは、会社員エンジニアの特権です。

また、会社であればお客を相手にしているので、必ず「納期」が存在します。

わからないことに長時間費やしてしまうことで、納期遅れが発生する可能性が出てきます。

なので、会社でわからないことがあった場合は時間を決めるなどをし、時間内に解けなかった場合は上司に質問しましょう。

わからないときにすぐに質問しない

プログラミングでわからないことがあった際に、自分で考えようとせず、すぐに質問するのはよくないです。

自分で考えないということは、苦労せずにただ答えを教えてもらうということなので、考える習慣が身につきません。

プログラミングは学校の勉強と違ってコードを暗記しても意味がないので、自分で考えたり調べたりして問題を解決していく必要があります。

わからないときは自分なりに思考をして、それでも不明な場合に質問するようにしましょう。

一旦席を離れる

プログラミングがわからない時、一旦席を離れてみるのは効果的です。

あまり煮詰めすぎると、思考が正常に回らないことがあります。

一旦席を離れて気分をリフレッシュすることで、1時間考えてもわからなかったことが、一瞬で解決できるなんてことは時々あります。

なので、わからないときは一旦席を離れてみると良いですよ。

プログラミングがわからないときの原因と対処法:まとめ

プログラミングは、初めはわからないことが多いです。

僕も初めはCSSのdisplay:flex;を理解するのに数日かかったこともあり、とにかくプログラミングは難しい印象がありました。

誰でも最初はそんなものです。しかし、継続していたら、必ず点と点が線になって理解できる日がきます。

根気強くコードを書き続ければ、絶対にできるようになってきますし、楽しくなってきます。

独学が難しいようであれば、プログラミングスクールに行くのも一つの手段です。

また、本記事で紹介した対処法は、繰り返し読んで実践してみてくださいね。

今回は以上です。

  • この記事を書いた人

シン

プログラマー【経歴】新卒でブラック配送業▶︎販売員▶︎プログラミングスクール▶︎受託開発IT企業1.5年▶︎フリーランスエンジニア|Java/Spring|Oracle認定Java Silver資格保有|サイト運営のテーマ「市場価値の高いITエンジニアを輩出する」|大阪在住29歳