プログラミング

プログラミングがどうしてもわからない時どうする?【ググり方、調べ方を解説】

dont-know-how-to-program
対象者

本記事は未経験エンジニア、プログラミング歴の浅い人、調べ方がわからない人」を対象にしています。

キヨシ
キヨシ
フォッフォッフォッ、キヨシ(@kiyothink12)じゃ^^今日は未経験エンジニアがどうしてもプログラミングがわからなくなった時の対処方法を語ろうかのう^^
ケイタ
ケイタ
エンジニアになりたて、学習したての時はわからないことがありすぎて、何が分からないかも分かっていない時がありますね・・
キヨシ
キヨシ
うむ、そうじゃの。上司や先輩に聞こうにも何から聞いたら良いか、何をあらかじめ調べておくか、どう調べるかなどがわかっていないとエンジニアとして成長に伸び悩んでしまうからのう。
ケイタ
ケイタ
はい、そのへんの調べ方ぜひ聞きたいです!
キヨシ
キヨシ
うむ、そうじゃな。それが普通じゃから安心して良いよ。では詳しく話していこうか

プログラミングがわからない時〜場合分け〜

まずはプログラミングがわからないと一口に言っても様々な状況があると思います。

私は下記3つに大別されると感じています。

  1. やることはわかっていて、どうやってやるのかもわかるが期待している結果がでない。
  2. やることはわかるが、それがどうやってやるのかがわからない。
  3. 何をやるのかがそもそも検討がつかない。

やることはわかっていて、どうやってやるのかもわかるが期待している結果がでない

これは一つ一つデバッグしながら確かめれば、なぜ期待通りにならないか判明するのは時間の問題だと思います。

考えられる問題の切り分けを細分化しながらチェックしていきましょう。

やることはわかるが、それがどうやってやるのかがわからない

仕様書があったり、上司からの指示がある程度具体的にあり、”最終的にこうなれば良い”形はわかっているのが、そうなるために何をすれば良いのかわからないことがあります。

簡単な例でいうと、フォームの入力欄にテキストを入力し、送信ボタンを押すと、入力したテキストがDBに格納される。ということをしたい。
だが、どうしたらDBに接続してテキストが格納されるのかわからない。

などといった場合です。

何をやるのかがそもそも検討がつかない

これは、「これをしなければいけないけれども、やることが皆目見当もつかない。」といった感じです。

不明瞭な仕様書、曖昧な指示の場合にこういったことが起こります。

また、プログラミング初心者が「こういうwebサービス作りたいな。」という時もただ何をやれば良いのかわからないという状態に陥りがちです。

プログラミングがわからない時〜対処方法〜

自分で調べるググる

いわゆる「ググり力」ですね。

これはエンジニアにとって超重要です。

何をキーワードにしてググるか、ググった検索結果のどれを見て、どれを参考にし、どう自分のコードにあてはめるかが大切です。

そして、ググる時に重要なのが上述したように「キーワード」です。

前提の知識がないとキーワード自体を間違えてしまい、いつになっても答えにたどり着かないということにもなります。

基本とはいえども広く、また深いのがプログラミングの難しいところであり面白いところです。

しっかりと普段から参考書などで体系的に勉強しておきましょう。

こういう体系的な知識を得る時はググりよりも書籍を買うと良いと思います。

ググりは自分が取りにいきたい情報にたどり着くためのもので、目的外である知識にたどり着く機会が少ないためです。

誰かに聞く

メンターがいるというのは非常に心強いです。

知り合いでいれば良いですが、なかなか皆がそうもいきません。

ゆえにプログラミングスクールを受講し教材に沿って学習して不明な点をメンターに聞くという点をメリットに感じる人は少なくないです。

何を隠そう私がそうでしたから。(ドヤッ)

で、これなんですが「メンターって言っても現役エンジニアじゃないじゃんねえ。。」っていう人が必ずいるのですが、私はそれでも良いと思いましたよ。

これはポジショントークではありません。

メンターのほとんどはスクールを卒業して一定のトレーニングを会社から受けて合格した大学生でしたが彼らは疑問に対してとても親切に咀嚼して教えてくれました。

教える技術とはいうのは自分ができる技術とは少し違う面があります。

「でも出来ないのに教えるなんて出来ないでしょ・・。」という人も現れますが、少なくとも彼らは教材に沿ったことは教育を受けているので理解しています。

オリジナルサービスなど作る時には物足りなくなってしまうかもしれませんが、教材の不明点では充分に役割を務めてくれてるでしょう。

まあ残念だったのはホスピタリティの少ない人が1,2人だけいたことですね。(許容範囲ではありましたが)

私はこういうスクールは「実務でバリバリやれるようになる」というよりは「一人で自走できるようになる。」というところに意味があるのだと思います。

異論は認めますが、もはやこれに関しては主観になりますからね。

実際にその後私は3社で実務経験をしていますが、関わる案件によって同じ言語でもやることは当然違いました。

どこの会社でどの案件でも通じる能力というのはスクールでつけるものではなく、結局は個人でその場で懸命にキャッチアップするものでないのかなというのが私の考えです。

そして、それはプログラミングスクールでも土台は出来うると私は認識しています。

ただ、卒業していきなりフリーランス、いきなりリモート、いきなり月収50万とかは厳しいだろうなとは思います。

わからないときの質問の仕方(聞き方)

わからない時の質問の仕方(聞き方)。

これは簡単なようでとても難しく、そして重要です。

意外とこれはわかっていない方が多いので、記しておきたいと思います。

・何がやりたくて
・何を現在までに調べてやってみて(参考にしたサイトURLもメモしておく)
・その結果、現在どういう結果になっていて
・どの部分を教えてほしいのか
・いつまでに知りたいのか

これを直接話しかけて聞くのか、slackなどで聞くのかは状況により変わってきますが大概はslackなどのチャットで聞くことが一般的なのかなと思います。

公式リファレンスを見る

例えば、Ruby on railsならこのリファレンス。

ちょっとリンク先を軽く見てもらえますか?
http://railsdoc.com/references/rails

どうですかね?わかりますか?

わかる人は結構勘も良くて優秀だと思います。

今となっては私も書いてある内容を理解できるので、「これの何がわからないの?」と言いそうにもなりますが、当時は全く分かりませんでした。

当時は「なにこれ?わかんね。」となってからはしばらくリファレンスを開きもしませんでした。

ちなみに上級者はこれを見ることを要求してくることが多いです。

二言目には「公式ドキュメント見てね」と言ってきます。

大事なのは理解できます。

ですが、これ以外の救いの手を差し伸べてこない上級者はoldタイプだと思います。

私は個人的にはこの手の上級者はあまり好きではありません。

無理せず頑張りましょう。

teratailで聞く

teratailはいわゆるエンジニアの質問サイトです。

質問をすればかなりの確率で誰かが答えてくれます。

ただ、これも上記の「質問の仕方」で述べたように書かないと結構辛口に返答されて教えてもらえません。

当然、丸投げもダメです。

私は入社1年目の駆け出し時はかなり多用してお世話になっていました。

ただ、当然会社の機密情報、ソースをそのまま漏らしてバレテしまうのはまずいので、上手く質問を変換しながらおこないましょう。

stackoverflowで聞く

stackoverflow

英語版teratailです。(teratailを日本語版stackoverflowと呼ぶべきか)

こちらは英語なので英語ができないひとにとっては厳しいかもしれませんが、エンジニアとして今後活動するのならば、ある程度の英語は話せずとも書ける読めるようにはなっておきたいところです。

やはり、海外の方が情報量が莫大なのでググった時に出てくる情報量が違います。

teratailで回答いただけるのも相当早いですが、こちらも早いです。

teratailで回答がなかった時はこちらを利用したりもしてますし、ハマったところをググっていたら以前このサイトで同様のハマりで質問している人の投稿を見つけることもよくあります。

ぜひ困った時は活用してみましょう。

注意事項はteratailと同様です。しっかり書くべき情報を記載し、丸投げはやめましょう。(英語で怒られます)

ココナラで聞く

ココナラ

web制作などでハマった時に使えます。

比較的安価で依頼でき、CSSが上手く適用されない、wordpressでこういう機能を追加したいなど相談、もしくは依頼してみましょう。(もちろん顧客の情報を漏らしたらダメですが)

私はイラストなどを描いてもらったことがありますが、やってもらったことに対して、「これは安すぎる」と思った場合は追加報酬(おひねり)を勝手にお支払いするようにしていました。

個人的な仕事をココナラで何回か依頼をしましたが、とても素晴らしいエンジニア、デザイナーさんに丁寧で高クオリティな仕事をしていただきました。

散歩に行く

書き間違いではありません。(笑)

意外と詰まった時に散歩に行くと閃いたりします。

脳の休憩大切ですね。他にも一晩おく(寝る)のも有効な時があります。

一旦リセットしてスッキリした状態で考えると解消することは少なくありません。

<まとめ>プログラミングがどうしてもわからない時どうする?

  • ググり力を上げることが最優先だが、webの基礎・基本も怠らず学ぶこと。
  • 聞ける人がいたら質問をする。だが聞くべき内容をしっかり整理、準備をして聞くべし。
  • teratail,stackoverflow,ココナラなどの質問、依頼サイトも活用すべし。
  • 最終的には公式レファレンスを理解できるように知識を持っていくべし。
ABOUT ME
キヨシ
キヨシ
キヨシじゃよ^^ 30歳を超えてからエンジニアに転身。現在はリモートワークしながら海外と日本を行き来して自由気ままに暮らしておるよ( ^ω^ ) フォッフォッフォッ