プログラミング

プログラミング学習で行き詰まってる人。現状を打破する方法教えます

投稿日:2019年6月9日 更新日:

プログラミング学習をはじめようと決意して、実際に本を買って始めたは良いものの、今一理解できてる気がしない。

本は取り敢えず読み進めてるけど、意味不明なエラーが全然解決できない。心が折れそう。。。

その気持ち分かります。

ただ、自分も未だにエラーに苦しめられることは沢山あります。
それは、プログラマーをやっている以上避けては通れない道です。
まずは、それを認識しておきましょう。

どんなに経験を積んだプログラマーでさえ、プログラミング中に頭をかかえる問題は絶対に直面します。

なので、いくら勉強しても、その苦しみからは開放されないと思って下さい。
プログラマーである以上、エラーとはお友達になりましょう。大概のエラーは直ぐに解決できるようになります。

プログラミング中に出るエラーは、ある程度やっていれば、同じエラーを何度も見るので、慣れてきてしまえば、すぐに「あ、あの辺りかな〜」って予想することができるようになります。

ただ、たま~に、今までの自分のやり方だと、どうしても解決できない問題が出てきます。

そんな時、自分がどうしてきたか説明します。

自分の現行スキルじゃ解決できなエラーが出たとき

まず、エラーメッセージでググり、日本語のサイトで問題を解決できそうなサイトがないか探します。

それでも、解決できなかった場合、英語でググり、英語のサイトで問題を解決できそうなサイトがないか探します。

それでもそれでも、だめだった場合、ソースコードを終えるところまではずっと追っていきます。

それでもそれでもそれでもそれでも、だめだった場合、人に聞きます。

それでもそれでもそれでも、だめだった場合、別の代替え案が無いか考えます

それでもそれでもそれでもそれでもそれでも、だめだった場合、仕様を変えます。

と、こんな感じだと思います。

まず、基本ググります。

正直自分はめちゃくちゃググります。

中々問題が解決できない時はググりすぎてGoogleの検索結果ページの2ページくらいまで、既読のサイトばかり出てくるようになります。

ググるときのコツとしては、

1,エラーメッセージからGoogleに引っかかりそうなワードを見つけ、それでググります。

ただ、間違っても、個人情報が入ったワードではググらないようにして下さい。
デバッグで個人情報等がエラーログに出るときもあるので、何も考えずに、エラーメッセージをコピペしちゃうと、個人情報等が漏れてしまう恐れがあります。気をつけましょう。

2,英語でググる

日本語でググっても答えが見つからない場合は、英語でググりましょう。

自分が英語でググる時によく使うフレーズが、「how to 〜〜」です。中学レベルの英語力でいいので、ググればGoogleが予測で変換して、いい感じの結果を出力してくれます。

ただ、英語で調べても日本語ばっかり出てくることもあるので、そうしたら英文をもう少し長くしたりして、英語のサイトが1ページ目に来るように調整してあげて下さい。もちろん、検索結果も英語でなので、そこは心折れないように英語の記事も読んでいきましょう。

海外のサイトで、プログラミングのエラー調査などでオススメなのは、Stack Overflowという、エンジニア向けのQandAサイトになります。なので、検索の一ページ目に出ていたら、Stack Overflowを選択して見てみるのもいいかと思います。

ググってだめだったら、もうソースをトレースするしか無いです。
トレースをする際は、デバッグを出しつつやりましょう。

デバッグを出して、ちゃんと自分のトレースが正しいと確認しながらやらないとトレースは結構難しいです。また、プログラミングの不具合調査においてはデバッグはめちゃくちゃ重要です。

そして、トレースを全部やってもエラーが解決しない場合は、もう人に聞くしかない無いです。

ここで初めて人に聞きます。人に聞く際は、ググってトライししたことを整理して質問しに行きましょう。

人の時間を奪うのだから、それなりの準備は必要ですね。

ただ、基本的にですがプログラマーは人に聞くことを嫌がります。不具合等ははどうにかして自分で解決したいのです。

もし、それでも解決できなかった場合は、別の方法で実現できないかを考えます。

プログラミングの解答は何種類もあるので、要件を満たすような代替え案を考えることもできます。

それでも、もし代替え案も見つからなかった場合は、もう実現不可能ということで、企画の人と話し合います。

ググる力を身に着けよう

プログラミングをやってると、ググる力はメチャクチャ使います。
基本ググりながら仕事を進めていくのですが、ググるスキルが低い場合は、全然自分が欲しい情報までたどり着けません。

ググる時のキーワード選びや、期間の選択等、自分が今調べている情報をピンポイントで入手できるようにググる力を身に着けましょう。

まとめ

不具合やエラーが出たときの問題解決の方法を身につけるのは、プログラマーとしてはすごく大事な事です。

そして、そのためのググる力はメッチャクチャ大事です。

ただ、実際の仕事の現場では、時間の使い方も重要です。ですので、悩む時間をキチンと決め、その時間内に解決できなかったら、他のエンジニアに聞きに行くなどの時間の管理をキチンとすることの大事になります。

-プログラミング

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

JavaScriptフレームワークは何使ってる?自分はReact使ってます

HTML、CSSの勉強が一通り終わり、次はそろそろJavascriptに手を出そうと思っている人は多いと思います。また、これまでPHPやRails等サーバーサイドをメインでやってきた人が、フロントエン …

機械学習で競艇予想をやってみた

1年くらい前から機械学習に興味を持ち、 ゼロから始めるdeeplearning や courseraのmachinelearningコースを 一通り学び終えたので、アウトプットを興味のある競艇でやって …

MacにPHPの開発環境を作るなら何が良いの?MAMP?Docker?Vagrant?

こんにちは、はんぺらです。 自分のMacのパソコンに開発環境を作りたんだけど、何を使って作ったら良いんだろう?MAMP?Docker?Vagrant?とかあるけど、何がどう違うんだろう? それぞれの違 …

プログラミング始めるならMac、windowsどちらを買えばいい?

プログラミングを始めたいんだけど、パソコン持ってないから買わないといけないんだけど、Macとwindowsのどっちがいいのかわからない。って疑問にお答えします。 お金に余裕があるならMacbookを買 …

プログラミング教育必修化を考える。プログラミング的思考はなぜ必要なの?

2020年からプログラミング必修化されることは皆さんご存知だと思います。 文部科学省から出された「学習指導要領解説」によると「プログラミング的思考」を育むためというのが一つの指針としてあるようです。 …

はんぺらのプロフィール

神奈川県在住、30代web系プログラマー

情報系の大学卒業後、工場勤務、引っ越し業者、アパレル販売員等を得て、web系のエンジニアに落ち着く。その後海外で3年ほど働き、帰国後日本でエンジニアを行いつつ、フリーランスになる機会を伺っている。