2017-09-08

「自分で考えるべきか人に聞くべきか」を判断する基準




最近悩んでいるテーマが、自分で考えるべきか人に聞くべきかという問題だ。


自分はわりと人に頼らず、自分でなんでもやろうとしてしまうタイプだったが、社会人になって「納期」が明確に存在するようになり、時間が無限にあった学生時代と比べて、この納期が「なんでも自分で考えるべき」という前提が覆えした。(時間で解決できなくなった)


そこで「どういう条件なら自分で考えるべきで、どういう条件なら人に聞くべきなのか」を考えている。個人的には人に聞くべきパターンを何個か想定してみた。


そもそも、自分で考えるメリットとは何か


自分の頭で考えるメリットとは何であろうか。おそらく、(1) 解答へ自分でたどり着けるので、問題を本質的に説明できるくらい理解できることと、(2) 正解がない状態でも論理的に解答までたどり着く能力になると思う。


(1) 解答へ自分でたどり着ければ、それは思考の全部の過程を説明することができるようになるので、その分理解が深まるだろう。
そして(2) 答えが存在しない状況でも、既存の知識をもとに仮説を立て、論理的に解決することができるようになるから、そういう未解決の課題に対しては、どうしても自分で考える力がないと難しそうである。


人に聞くべき判断基準は何か


基本的には、自分で考えたほうがよいが、人に聞くべき判断基準はなんだろうか。何個か考えてみた。

1. 知りたい分野のことを一切知らない時


よく先輩がやってたことだが、自分の知らない分野のことを学ぶときは、最初にその分野に一番詳しい人に概要を聞くという方法だ。


自分で考えるにも、自分が調べられる範囲は、そもそもこの分野のバックグラウンドの量に比例する。言葉を知らなかったり、システムをしらなければ自力で論理的に落とし込んでも大したものは出てこないから、最初に詳しい人から全体像を聞くのはよいのかもしれない。


2. 問題の原因がわからない時


そもそも何が原因なのかわからないので、アプローチができずに固まる場合は、人に聞いたほうがよい。というのも、自分で考えても原因が見つけられない場合のパターンとして、そもそも原因がを見つけるアプローチを知らなかったりするから、それだといくら考えても原因を特定できない。


例えばプログラミングだったらどこでエラーを吐いているのか知らなかったり、ログを出す方法だったり、適切な位置でログを出す方法だったり。


そう考えると、さっさと原因特定ができるメソッドを他人に聞いた方が時間を有効活用できそうだ。

3. 車輪の再発明が必要ない時


最後は車輪の再発明が必要ない時だ。


基本的に、自分の頭で考えることのメリットとしては、(1) 論理的に結論を導くことによってより深い理解ができること、または(2) 正解がない状況で正解を作り出せることにある。


しかし、例えばある程度解答への定石(思考パターンやフレームワーク)が決まっているものに関して、自分の頭を時間を大量に投資するのは費用対効果が低い。より深い理解を得るために、二次方程式の解をひたすら因数分解で解こうとするのが同じように、解の公式という一般的なフレームワークを利用し、ある程度構造を理解してから、後で証明したほうが理解も深まるだろうし、最速で高品質の解答を得られる。


最後に


ぱーと考えた感じ、


  1. 知りたい分野のことを何もしらない時
  2. 問題の原因がわからない時
  3. 車輪の再発明が必要ない時


の3つが考えられた。が、もっといい答えはないものだろうか。
先人の知恵をお借りしたいところです。

注目の投稿

 PythonのTweepyを利用して、Twitter APIを利用している。 その中で、ハマったポイントをメモしておく。 まず、Searchに関して。 Twitter検索は、クライアントアプリ側では、全期間の検索が可能になっている。 一方で、APIを利用する際は、過去1週間しか...