この記事はリンクアンドモチベーション Advent Calendar2021の11日目の記事になります。
これはなに?
エンジニアたるもの、日々色々な壁にぶつかっては天下のグーグル先生に頼りながら問題解決をしているのではないかと思います。しかし、同じ課題にぶつかってもうまくググって解決できるググり力が高い人と、なかなか解決まで辿り着かない人に分かれてしまいます。自分も特にエンジニアになりたての頃、ググってもなかなか答えにたどりつかない...という経験がたくさんありました。
この記事では、「ググり力が高い」とはどういうことかについて自分なりに整理したうえで、ググり力を高めるためにどうしたらいいかを考えていきます。
「ググり力」とは何か
ここでは「ググり力」を、「インターネット検索を駆使して必要な情報を取得し、問題を解決する力」
だと(勝手に)定義します。
これを要素分解すると
- インターネット検索を駆使できること
- 必要な情報を取得できること
- 問題を解決できること
の3つに分解できます。
「ググり力」を伸ばすために必要なこと
つまりググり力を高めるには
- インターネット検索を駆使する力
- 必要な情報を取得する力
- 問題を解決する力
をそれぞれ伸ばす必要があります。
しかし「ググり力を高めたい!!」と言う人に限って、なぜかGoogle検索のオプションや、ちょっとした単語の選定のコツなどを求めがちな気がします。そして過去の自分がまさにそうでした。
もちろんそういったテクニックは大事です。しかし、あくまでググり力を伸ばすための一要素でしかありません。
この記事ではGoogle検索の細かいテクニックには一切言及しません。
小手先のテクニックとかでなんとかしようとせずに、普通に地力をつけるしかないよね!!という話をします。
それでは早速、先ほどあげた3つの観点に沿って、ググり力を伸ばすために必要なことを考えていきます。
インターネット検索を駆使できるようになる
基本的な語彙を身につける
結局これが一番大事です。最近は「調べれるから覚えなくていい」みたいな風潮があるかもしれませんが、いざと言うときにすぐに言葉が出てくるかどうかでめちゃくちゃ差がつくと思っています。
ググって解決しづらかったこと Advent Calendar 2021で JavaScript ??
って調べても出てこないよね〜という話がありますが、これも基本的な語彙を抑えていればすぐに解決できます。
演算子
という正式な単語を知ってると色々工夫を凝らさずとも簡単に解決できてしまいます。
基礎中の基礎の語彙をきちんと押さえておくのがとても大事です。
必要な情報を取得できるようになる
必要な情報を取得できる、と書いていますが、実態としては必要な情報として摂取できる範囲を広げるのが一番大事だと思っています。
公式ドキュメントや英語、コードを読むことを敬遠しない
今の時代、Qiita、Zenn、色々な質問サイトなどのユーザー投稿型の情報のおかげで、検索するとたくさん参考になる情報が出てくるようになりました。実際自分もそれらの情報にめちゃくちゃお世話になっています。
ただ、そういったわかりやすく要点をまとめてくれる記事ばかりに頼ってしまうと、本当に必要な情報にはたどり着けません。
必要に応じて、公式のドキュメントや英語の情報をきちんと読めるようになっておきましょう。
また、コードも立派なドキュメントです。最後は自分でコードを読み解いて理解する、という手段も常に持っておきましょう。
(開発するときは「コードがドキュメントだ!!」ってよく言うのに、実際にコードをドキュメントとして読む人ってどんくらいいるんだろう...)
ユーザー投稿型の情報を見た後はきちんと公式に立ち戻ろう
とはいえ、公式のドキュメントとかって抽象的で、読みづらい...というのも事実です。実際、公式ドキュメントだけで全ての問題を解決するのは無理だと思っています。
そんなときはユーザー投稿型の情報を補助として使いましょう。公式のドキュメントがいわば数学でいうところの定理的なもの、ユーザー投稿型情報はその定理を使った例題や解答例の一つだと思ってもらうといいかもしれません。
例題を見ながら、定理を理解していくような気持ちで、ユーザー投稿型の情報と公式のドキュメントを行ったり来たりすることで、自分にとって必要な情報を得られると思います。
問題を解決できるようになる
いきなり問題解決を目指さない
エラーが起きる
→とりあえずエラー文についてググる
→解決策見つからんどうするんだ...
っていう状況、ありませんか?自分はよくありました。(今でもたまにやってます。)
こういう状況に陥ってる場合、だいたい「何が問題か分かってない」というケースが多いのではないかと思います。
基本的には多くのケースで何か問題を解決したくてググってることが多いと思うのですが、「そもそも何をググるべきか?」がわからないまま起きてる事象をとりあえずググってもなかなかうまくいかないことが多いです。
- そもそも自分がやりたいことは何か?
- 自分の見ているシステムはどういう構成か?
- 問題が起きるケースと起きないケースの差分は何か?
- 何を変更した結果問題が起きているのか?
といったことを一度冷静に整理してみると、調べるべきポイントが見えてくるのではないかと思います。
「とりあえずググる」は全体像把握のため
とはいえ、とりあえずエラー文ぶち込んでググるのを悪だとは思っていません。
ただ大事なのは「それで問題が解決する」と思わないことです。
「なんかよく分からんけど、とりあえずググる」というときは、何を調べるべきか?を明確にするための情報収集と割り切ってググりましょう。
あとがき
つらつらと書きましたが、できれば英語もコードも読まずに済めば楽だし、エラー文ググったらいきなり答え出てきて欲しい。
でも世の中そんなにうまいこといかないので、地力つけていくしかないよね...という自戒も込めて...
ここに書いたことは完全に持論なので、それは違う、とかこんな観点もあるよ、っていうのがあればぜひコメントいただきたいです。
余談
この記事を書いてる途中で
ググり力、それはエンジニアには必須の能力である
こちらの記事を見つけてしまい、うわあ僕のひねくれた記事の50億倍いいこと言っとる...でもこのテーマで書き始めてしまったから仕方ない...と思って泣きながら最後まで書き上げました。
宣伝
アドベントカレンダーの他の記事もいいこと書いてるんで是非チェックしてください!!