プログラミング初心者の方のメンターをオンラインでやらせてもらっていて、ググれ!と思うことがあるのですが、ググれ!って言っていい時と言っちゃいけない時があると思ったため、ググるという行為について、考えてみるとします。
目次
- ググるには仮説が必要
- 仮説には自分の経験か、経験を得るためのリソースが必要
- ググれ!を過去の経験がない人に言うのは酷なのでは?
- メンターはググれの前に「経験判定」が必要かと思う
ググるには仮説が必要
ググるのは、基本的に仮説がないとできません。エラーをググるのだって、「仮にエンジニアが悩んだら、自分のログを残していて、それを検索すれば出るんじゃないか」という仮説があって初めてエラーを検索できるわけです。
他にも、例えば「これはMac OSだから、環境依存の問題でエラーが起こっているのではないか」というのも、仮説だと思います。
仮説には自分の経験か、経験を得るためのリソースが必要
この仮説がどこからくるのでしょうか。まず一つは自分の過去の経験です。「あの時、こんな感じでエラー探したら結果出てきた」とか、「あの時、バージョン依存だっふかもしれないから、OS込みで検索してみよう」とか。過去の成功例からの学習です。
もう一つ大事なのが、解決できる他リソースの参照です。そのリソースの一つは、例えば社内・社外の人であったり、もしくは社内システムであったりします。ほかの人がどうやって、ある問題を解いているのかを見たり、過去のソースコードがどういうことを実現しようとしているのか見ることで、「こういう人がこういうことをやっているなら、こういう風にアプローチすればよい」という仮説を立てることができます。
ググれ!を過去の経験がない人に言うのは酷なのでは?
ググるための素養がない状態で、ググれを強要するのは、よくないのだなぁと反省しています。なぜなら、プログラミング初心者には、経験も、解決できる他リソースがないため、できても「プログラミング以外からの解決策のフレームワークを、プログラミング学習に転移する」という選択しかないかと思います。それ以上は元にする経験がないからです。
メンターはググれの前に「経験判定」が必要かと思う
なので、あるエラーが起こったメンティーに、ググれというのは、ググるだけの経験があるかはきちんと見極めないといけないと感じます。なければ、どのようなアプローチで、問題を解決することができるのかを、大体大枠で見せてあげるべきかと思います。