こんにちは、独学でプログラミングを学び始めて3年ほど経った後、SESを経て、現在は事業会社でJava言語のエンジニアとして働いているモツセカンドと申します。
Javaでの実務にも慣れてきた今は、業務の幅を広げるために他の言語やフレームワークにも手を伸ばしながら、キャリアアップを目指して学び続けている日々です。
その上でぶつかってきた数々の壁の中に、「自分は何が分からないんだろう」「何が分からないか分からないからどうやって調べればいいのかわからない」「そもそも何から始めればいいの」といったようなことが多々ありました。
生涯学習が必須ともいえる職業であるプログラマーにおいて、仕事で必要になるスキルを学ぶための方法を知っておかなければやっていけない事は明白です。
この「自分が何を知らないかを知らない」という状況はエンジニアにとってとてもつらい状態にあたるでしょう。これらの壁にぶち当たり、くじけてきた同志をたくさん見てきたのも事実です。
ましてや未経験者や、独学でプログラミングをマスターするとなるとこの壁はますます高く分厚くなっていく事になります。
そのような人の手助けになるために、この記事においてはプログラミングを学んでいく上で初心者が躓きやすい内容や傾向といった部分を中心に解説し、解決方法を説明していきたいと思います。
スキルアップにおすすめのプログラミングスクール【3選】
![]() RUNTEQ(ランテック) | ![]() ![]() ![]() COACHTECH(コーチテック) | ![]() ![]() SAMURAI ENGINEER(侍エンジニア) |
|---|---|---|
| Ruby on Railsに特化。企業が求める実務レベルを身につけて転職・就職を確実に決めるならここ | 現役エンジニアによるコーチングで、未経験でも挫折することなくフリーランスを目指すことできます | 完全オーダメイドのカリキュラムをマンツーマン指導で学習できます。転職やフリーランス転向への支援が手厚いです |
| 転職支援サービスあり | 案件保証あり | 転職保証あり |
| → 無料カウンセリング | → 無料カウンセリング | → 無料カウンセリング |
目次
「何が分からないか」を知る
まず、プログラミングを学んでいく際に必ずと言っていいほど陥る状況が、「自分は今一体何が分からなくて手が止まっているのだろう」です。
この事に気づいているのであればまだマシですが、この「自分は何が分かっていないか分からない」という状況にすら気づいていないと、永遠とそこで立ち止まってしまいます。まずはこの解決法を説明していきましょう。
正体は、知らない外国語を浴びている状態に近い
プログラミングを学び始めた頃、解説を読んでも「そもそも、その単語が何を指しているのか分からない」という場面が何度もありました。
今振り返ると、あの感覚は知らない外国語をいきなり浴びせられている状態に近かったと思います。例えば、フランス語を勉強したことがない人が、フランス人にいきなり話しかけられたらどうなるでしょうか。単語が一つも拾えず、内容どころか会話のどこで区切れているのかすら分からないはずです。
プログラミングの世界も同じです。ディレクトリ、パス、インスタンス。単語そのものを知らなければ、いくら丁寧に説明されても理解するのは難しいでしょう。
「何が分からないか分からない」という状態は、理解力が足りないというより、単純に知らない単語や概念が多すぎて、どこから手をつければいいのか見えていないだけかもしれません。
だからこそ最初から難しい概念を理解しようとするのではなく、まずは知らない単語を一つずつ拾って、意味を確認していくことから始めてみてください。
とにかく検索する

結論としてはこれに尽きます。どのエンジニアも分からない状況へ陥れば、とりあえずインターネットで検索をかけます。しかし、「どんな単語で検索すればいいの?」「どのサイトを見ればいいか分からない!」未経験者や初心者は検索の仕方すらも分からないという悩みを抱えている事でしょう。
検索の仕方にはコツがあります。例えば、プログラムを実行した際に出てくるエラー文。何やらよく分からない英語がひたすら羅列されているように見えてしまう事でしょう。
あれをコピペしてそのまま検索してみると、同様のエラー文についてのコンテンツが検索に引っ掛かります。そのエラー文に関しての質問や解決方法、エラー文の内容まで答えてくれるページがたくさんヒットします。
これらを閲覧することによって自身のプログラムエラーの解決の糸口が見えてくることが多いです。特に、エラー文の内容を把握するといった点においては、何が分からないかを自分の脳内で整理するためには必要不可欠なプロセスとなります。
他には、ITやプログラミング言語関する情報について詳しく分かりやすくまとめてくれているWebサイトも多数存在します。個人的には「Qiita」というサイトがおすすめです。分かりやすく初心者向けの解説が特徴的なサイトとなっています。
最近は、エラー文をそのまま検索するだけでなく、生成AIに直接投げてみるという方法も定着してきました。「このエラー文の意味を教えて」と聞くだけで、検索結果を一つずつ読み解く手間を省いて、要点だけをかいつまんで教えてもらえます。とはいえ、返ってきた答えをそのまま信じ込むのは危険です。実際に手を動かして、本当にその通りかを確かめる癖はつけておいてください。
検索する前に、頭の中を紙に書き出す
検索の仕方は分かった。でも実際にキーワードを打ち込もうとした瞬間、手が止まる。そんな経験はないでしょうか。理由は単純で、自分が何を検索したいのか、本人もまだ整理できていないからです。
そんな時は、いきなり検索窓に向かう前に、一度紙かメモアプリを開いてみてください。私は今でもエラーに詰まると、まずノートを開きます。
①分かっていることを書き出す
コードのどの部分までは理解できているか、どの処理までは動いているか。分かっている範囲を先に書き出します。ここを飛ばして「分からないこと」だけに意識を向けると、実際には理解できている部分まで自信を失ってしまうことがあるからです。
②分からないことを書き出す
次に、引っかかっている部分をそのまま書き出します。「なんとなく不安」ではなく、「このメソッドが何を返しているのか分からない」というように、できるだけ具体的な言葉に落とし込むのがコツです。
③分からないことをタイプ別に分ける
書き出した「分からないこと」を眺めると、実はいくつかの種類に分かれていることに気づきます。
| タイプ | 具体例 |
|---|---|
| 単語の意味が分からない | 「インスタンスって何?」 |
| 処理の流れが分からない | 「このコード、上から下にどう動いてるの?」 |
| 使い方が分からない | 「このメソッド、いつ使うものなの?」 |
タイプが違えば、有効な調べ方も変わります。ここを分けずに一緒くたに検索してしまうと、欲しい答えになかなかたどり着けません。
④タイプに合った調べ方を選ぶ
単語の意味が分からないなら、その単語だけを検索する。処理の流れが追えないなら、コードそのものを生成AIに読ませて解説してもらう。使い方が分からないなら、公式ドキュメントのサンプルコードを探す。このように、分からないことの種類に応じて調べ方を変えるだけで、検索にかかる時間はかなり短縮されます。
書き出す作業は、面倒に感じるかもしれません。ただ、頭の中だけでモヤモヤ考えているより、一度文字にして整理した方が、自分がどこで止まっているのか見えやすくなります。
検索してもなかなか答えが見つからない時は、いきなり次のキーワードを考えるのではなく、まず一度、自分が分かっていることと分からないことを書き出してみてください。
参考書を買う(できれば複数)

次にお勧めするのが参考書です。「プログラミング言語の情報なんていくらでもインターネットに転がっているじゃないか」「買うだけ無駄だ」という意見もあるでしょう。しかし、個人的には参考書を買う事をお勧めします。しかもできれば一つのプログラミング言語に対して複数の参考書です。
参考書を複数買う事をすすめる理由

参考書を買う理由として、ある程度情報が整理されているという事です。
インターネットに転がっているプログラミング言語に関する情報は、分かりやすいですがその反面、前述したように探し当てるまでにある程度のコツと探す時間が必要となります。そして、基礎を学ぶというよりかは実践向きの内容だったり、プログラミングスクールに関する広告などが上位ヒットします。
広告に関しては、検索ワードが甘いとほぼ必ずと言っていいほど検索結果は広告であふれかえる事でしょう。インターネットで検索するとは言っても「自分が知りたいのはこんな情報じゃないのに」「広告ばっかりで必要な情報が見つからない」といった状況に陥ることも多々あります。
これはプログラミングを学ぶ過程において「つまらない」「やりたくない」と感じる原因にもなります。何が分からないかをはっきりさせ、それを探し出すまでの時間はモチベーションを保つうえでとても重要な要素となるのです。
参考書の特徴

インターネットでの検索が上手くいかない場合などは参考書が便利に感じる事となるでしょう。なぜなら、参考書とは「そのプログラミング言語に関する情報を分かりやすくまとめてくれている本」であるからです。当たり前ではありますが、たいていの参考書とはそのような特徴を持っています。
参考書はいろいろな使い方ができます。頭から一気に読んでいく事も可能ですし、後ろに索引がついている参考書もたくさんあります。特定のプログラミング言語の事を調べたいと思った時には、そのプログラミング言語の参考書を熟読する、もしくは索引によって調べる事が可能です。
参考書を使ってプログラミング言語の学習を進めていると、単語などについて調べるうえでとても効率的だと実感するはずです。例えば、ある一つの関数について索引を行ったとしましょう。その関数について書かれているページには、もちろんその関数が使われることのある場面や状況についても同時に記述されているはずです。
参考書の様々な使い方とそれによるメリット

このように、自分が分からない単語などの周辺知識まである程度同時に目を通すことができるというメリットが参考書にはあります。そしてページの最初から読む方法としては、そのプログラミング言語について、一から学ぶ、基礎中の基礎から学習する事ができるというメリットがあります。
インターネットに転がっている情報のみで独学しようとすると、どうしても基本がおざなりになったり、最初に知っておくべきその言語についての重要な概念をすっ飛ばして上級者向きのようなコードにたどり着き、訳が分からず挫折してしまうというような事態に陥る事が多いです。
参考書を最初のページからイッキ読みしてしまえば、その言語についてのある程度の概念や構造、基礎知識などについては抑える事が可能です。その言語についての成り立ちや歴史についても記述してある参考書も多いのでより理解が深まります。
インターネットと複数の参考書を使いこなす

しかし参考書も万能ではありません。初心者向けの者から上級者向けのものまで多くの参考書が出版されています。しかもまとめ方もそれぞれ異なります。参考書とはいってもある程度の情報の偏りが存在するという事です。なので複数購入をお勧めしているというわけです。
複数の参考書で同じ単語などについて索引をかけると、同じような情報が載っているのは当たり前ですが、片方には載っていなかった情報が見つかったりします。このようにして参考書の情報の偏りをできるだけカバーするのです。
個人的にはインプレスが発行している「スッキリ分かる○○入門」シリーズがおすすめです。様々な言語で出版していて、内容は初心者にとてもやさしい仕様になっています。このシリーズともう一冊程用意しておくと安心です。
検索と参考書以外にも、頼れるものはある
ここまで、インターネット検索と参考書を使った調べ方について紹介してきました。
ただ、実際にプログラミングを学んだり、仕事でコードを扱ったりしていると、検索や参考書だけでは解決できないことも出てきます。特に実務では、その会社やプロジェクト固有のルール、過去の経緯まで関わってくるからです。
そんな時は、インターネットだけに答えを探すのではなく、設計書や社内ナレッジなど、別の情報源にも目を向けてみてください。
設計書や社内ナレッジを確認する
「このプログラムの、この部分が分からないんです」と先輩に相談したら、「設計書には何て書いてあった?」と聞き返された。そんなやり取りに覚えがある人もいるのではないでしょうか。
会社によっては、業務の背景や仕様がまとめられた設計書、あるいは社内Wikiのようなナレッジベースが存在します。インターネットの情報は不特定多数に向けた一般論ですが、設計書や社内ナレッジには、その現場だけの答えが書かれていることがよくあります。存在を知らずに検索だけを続けているのは、実はかなり遠回りです。
生成AIにコードを読ませてみる
処理の流れそのものが追えない、というタイプの「分からない」なら、コードの塊をそのまま生成AIに読ませてみてください。「この部分は何をしているか説明して」と聞くだけで、単語検索では出てこない粒度で解説してくれます。
もちろん、出てきた答えを鵜呑みにするのは禁物です。ただ、自分の理解が合っているかどうかの確認や、検索キーワードそのものが分からない時のとっかかりとしては、十分に頼りになる存在だと感じています。
調べ方は一つに絞る必要はありません。検索、参考書、設計書、社内ナレッジ、生成AIなど、その時の「分からない」に合わせて使い分ければ大丈夫です。
何が分からないかを少しずつ整理しながら、自分なりの調べ方を身につけていきましょう。
それでも分からない時は、質問力で乗り切る
検索しても、参考書をめくっても、答えにたどり着けない。そんな時はもちろん、周りの人に聞くのが一番早い解決策です。ただ、ここで一つ知っておいてほしいことがあります。質問される側も、実は困っているケースが多いということです。
「これが分からないんです」とだけ伝えられても、聞かれた先輩からすれば、どこから説明すればいいのか判断がつきません。何がどう分からないのかが伝わらない限り、答える側も的確なアドバイスのしようがないのです。私自身、SESで新人だった頃はこれで先輩を何度も困らせてきました。
良い質問に欠かせない3つの要素
質問する前に、次の3つを整理しておくと、驚くほどスムーズにやり取りが進みます。
①自分がどこまで理解しているかを伝える
全部が分からないわけではないはずです。「ここまでは分かるけれど、ここから先が分からない」と伝えるだけで、相手は説明する範囲をぐっと絞り込めます。
②自分が試したことを伝える
「調べてみたけれど分からなかった」なのか、「まだ何も調べていない」なのかで、返ってくるアドバイスは変わります。試した方法とその結果を一言添えるだけで、同じ提案を繰り返させずに済みます。
③何をしてほしいかを伝える
答えそのものが欲しいのか、考え方のヒントが欲しいのか、書いたコードを見てもらいたいだけなのか。ここが曖昧だと、相手も返し方に迷ってしまいます。
「基本的な質問ですみませんが」の一言
こんな初歩的なことを聞いたら呆れられるかもしれない。新人のうちは、誰もが一度はそう感じるはずです。ですが、分からないことをそのままにして仕事を止めてしまう方が、周りにとってはよほど困る事態です。
もし基本的な内容を聞くのが気まずいなら、「基本的な質問で恐縮ですが」と一言添えてみるだけでも、聞きやすくなります。
もちろん、何も調べずにすぐ答えを聞くのではなく、自分なりに調べたり考えたりした上で質問する姿勢は大切です。ただ、調べてみた結果「どこが分からないのか分からない」という状態になることもあります。
そんな時は、一人で抱え込みすぎず、「ここまでは分かったのですが、この先が分かりません」と伝えてみてください。
まとめ|「何がわからないかわからない」の解決方法

このようにして、「何が分からないか」を把握し、解決していきながら学習を進めていくのがプログラミング学習です。ですがこの方法はどの分野においても当てはまる基本的な学習の仕方でもあると、SESから事業会社へと現場を移してきた今だからこそ実感しています。
プログラミングを学ぶ以前に「学習の仕方を学ぶ」という気持ちでインターネットと参考書を用い、自分なりの学習方法を確立していく事が自身の人生においてとても大切な財産となる事でしょう。
もう一度「何がわからないかわからない」の解決方法を解説!プログラミング初心者必見!」を読む ↑
未経験のプログラミング学習に強いスクール
未経験・駆け出しエンジニアにおすすめの人気プログラミングスクール【3選】をご紹介します。気になるスクールがあれば、まずは無料カウンセリングで気軽に質問してみると良いですよ!
現場で通用するスキルを学べる【実践型】オンラインスクール
RUNTEQ(ランテック)
Ruby on Railsに特化。企業が求める実務レベルを身につけて転職・就職を確実に決めるならここ!
Webエンジニア輩出No1!転職特化型のプログラミングスクール!
ポテパンキャンプ
未経験からでも開発経験が詰めてWeb系開発企業への転職を目指せるオンラインスクール。学習・転職支援が手厚い!
フリーランスエンジニア特化のプログラミングスクール!
COACHTECH(コーチテック)
現役エンジニアによるコーチングで、未経験でも挫折することなくフリーランスを目指すことできます
もっと多くのプログラミングスクールの中から比較したいという方は、「おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!」という記事を参考にしてください。
転職付き(転職保証型)のプログラミングスクールの詳細を知りたいかたは、「【無料あり】転職支援・保証型プログラミングスクール比較17選!社会人・学生さんの就職に強い!」をご覧いただき、自分の目標や目的にぴったりのスクールを見つけてくださいね。






























