プログラミングで挫折しないようにするための方法。悩んだ時にどうやって解決したらいいのか?

プログラミング始めたては何かと分からないことだらけなので非常に挫折しやすいです。

僕自身もはじめの頃は謎エラーと謎単語に悩まされてずっと悩んでいたような気がします。原因が分かると「何だそんなことか」となることがほとんどなんですが、この知っているか知らないかが最初はとても重要なことになるので、挫折にないようにする方法を紹介したいと思います。

エラーをググりまくる

仕事でプログラミングをやってる人も趣味でプログラミングをやってる人も分からないことはまずは調べるところからです。いきなり人に聞くということは基本的にないので、まずはエラー文でググるところから始めましょう。

最近はQiitastackoverflow(日本語版)などあり以前より原因を解決しやすく問題への理解もしやすくなっています。

始めから誰かに聞く...というのも場合によってはアリなんですが、誰かに聞くのに慣れてしまうと自分で解決する能力が育たないので誰かに聞く前に自分でなんとかするという事ができるようになるのが一番良いです。

どうしても解決出来なかったり、内容が理解できない時に誰かの力を借りたりしましょう。

プログラミング出来る人と仲良くなる

家族、友人、職場の人、誰でも良いですが、周りにプログラミングができる人のいる環境に身を置くことがプログラミングで挫折しない1つの方法ではあります。

既に職場にプログラミングが出来る人がいる場合はその人に聞きにいくことが出来るので、そういう環境にいる人はプログラミングを学習するという視点ではかなり恵まれていると思います。(僕も始めは職場にいる同期の同僚に分からないところを聞いていました)

プログラミングをやっている人も最初は同様の道を歩んできたからか、学習意欲のある人へ教えることはそこまで嫌がられず、むしろ好んで教えてくれる人も多いです。

教えてもらうばかりではダメ

こう書くと「プログラミングが出来る人と仲良くなろう!」みたいな感じになってしまいますが、教えてもらう目的で仲良くなると始めは大丈夫かもしれませんが、時間が経ってくるとだんだん嫌がられます。

これは単純に質問ばかりなので面倒になってくるというのもありますが、そういう目的だけで近づいてきてるという思いが透けて見えてくるので都合よく扱われて嫌だなという気持ちが大きくなってくるのでだんだんと疎遠になりやすいです。

こういう経験を過去に何度も体験している人は初めからそういう目的で近づいてくる人を避けていたりするので「あの人プログラミンで出来る方仲良くなっておこう」という気持ちだけで仲良くなろうとするのはやめましょう。

プログラミング学習サイトを見直す

初学者にありがちですが、些細なケアレスミスや基本的なミスを見逃しがちです。

スペルミス、パスの指定忘れ、記述忘れ...プログラミングの半分以上は技術的に難しい原因ではなくこういう細かいどうでもいいミスだったりするので、もう一度見直してみることをオススメします。

これはありがちな話ですが、仕事で書いていたプログラムが期待通りに動かず何時間も悩んだ末に分からず一旦帰宅して、次の日の朝数分で解決してしまったというのは割とあるあるです。(僕も過去何度もありました)

まずは原因の箇所を特定するところから始める

始めたばかりのときはまずどういうところが問題になっているかが分かっていないことが多いので、スコープ(影響範囲)を狭めていくところからスタートすることが良いです。

やり方はいろいろありますが、手っ取り早いのは問題がありそうな場所のプログラムをコメントアウトしてみて動作に変化があるか確認することです。こうすることで「AとBをコメントアウトしても動作に変化ない」「Cをコメントアウトすると動作が変わるのでCに原因がありそう」という感じで原因の特定がしやすいです。

1つずつ処理を確認していくことで「問題ある / ない」の基準を明確にすることで余計な範囲を探す手間を省くことができるので考え方として覚えておくとよいです。一見地味だったり意味なさそうに見えますが不具合の原因が見つからない時ほど「この処理は問題ないということが分かる」というのは貴重な視点になります。

他にも「ブレークポイントを指定して処理を止める」「ログが出る記述を書いていき追っていく」というやり方があります。

プログラミング学習支援サービスを使用する

「学習サイトを見直す」はあくまでビデオやドキュメントで教えてあるものを見直すことですが、もっと学習者が直接質問できるようなサービスを利用することで直接問題になっていることの答えをおしえてもらうということです。

個人的にMENTAがオススメ

スキルを身につけて、人生の選択肢を増やそう。|MENTA(メンタ)

いくつかのプログラミングスクールや教えてもらうサービスを調べて実際に登録などしてみましたが、MENTAが良さそうな印象でした。

単発と継続のプランがあり用途に合わせたプランがある

プラン自体はメンターが設定するため人によって金額や内容はまちまちですが、大半の人が単発と継続のプランをそれぞれ準備しています。

こういうのの一番気になるところはかかる費用ですが、それと同じぐらいかかった費用に対しての満足度がどれぐらいかというのが重要になってきますよね。そういう意味では単発のプランがあるMENTAはとりあえずお試しで料金を支払って質問やアドバイスをもらうことができるので自分に合ったメンターなのかを判断できるので良いと思います。

ちなみに余談ですが、メンターとは指導者や助言者という意味で、先生というより対象の人のサポートやアドバイスなどの助言をする人というスタンスになります。なので完全にゼロから教えていくスタイルではなく、ある程度自分で学習出来る人が何か困った時に相談できる人を見つけられるというサービスだと思ってください。

僕もメンターとして登録しているので気になった人は声をかけてください

menta.work

他にもTechAcademyCodeCampなどあります。 こういう感じのオススメのサービスあったらtwitterなどで教えてもらえると助かります。

まとめ

プログラミングは最初は結構難しいので考え方から学んで行かないといけないことが多く、実際コード書いてみてもエラーでハマったり実装方法が分からなかったりで挫折ポイントがたくさんあります。

解決方法はいろいろあるので、自分にあったやり方を見つけながら克服していってください。

それでは、以上です。