どうも、ウェブ系ウシジマくんです。
プログラミングを学びはじめて数ヶ月経つと、仕事などでチーム開発をすることがあると思います。
開発においてエラーは避けて通れない道ですが、自分では解決できない問題って出てきますよね。
調べても調べても、一向に解決しないことがあるときは、チームリーダーや有識者に質問することが大事です。
ただ、質問する際にちょっとしたことを心がけるだけで、何倍ものスピードでプログラミングスキルを成長させることができるんです。
今回は実際に自分が体験したことを通じて、心掛けたいエラー解消の考え方について書いていこうと思います。
できる限り【予測する癖】をつける
プログラミング初心者にありがちなのが、次のような質問方法。
1. Error 出た
2. これどうすればいいですか?
質問すること自体は、非常に素晴らしいことです。
ただ、どうすれば良いですか?というのは、質問が抽象的過ぎて、正直答える側も何について答えていいかわかりません。
このような質問をした場合、大概の人は次のように思うでしょう。
「なにに対してわからないから、答えようがないよ。。。」
これは、例えば
- エラーを解消する方法がわからない
- やりたいことを実装する方法がわからない
それによって答え方が変わってくる場合があるからなんですよね。
1. Error 出た
2. Error message の一部分を読む、ググる
3. これが原因かもしれないと当たりをつける
4. ここが怪しいと思うんですけど、どうですかね?と聞く
こんな感じに質問する方法を変えるだけで、だいぶ答えやすくなると思いませんか?
最初はその当たりをつけた部分が見当違いなことがあるかもしれません。
でも、これを繰り返すことで自分で解決する癖もつきますし、なによりもプログラマーの仕事は基本これ。
意識するだけでその後の成長スピードに大きな差が出てくるので、意識することをオススメします。
仮説と検証を繰り返すことの大切さ
どんなに経験の長いプログラマーやエンジニアでも、すべてを自分で調べて解決するのは時間がかかるもの。
初心者からすれば圧倒的に短時間で解決しているように見えるでしょう。
では、初心者と経験者にはどのような違いがあると思いますか?
それは、「仮説」=>「検証」を繰り返しながら多くの経験積んでいることです。
経験を積んでくると仮説の精度が段々と高まってくるので、仮説に対する検証の時間が短くなるんですよね。
「自分は考えを整理して相手に伝えるのがちょっと苦手。。。」
そんなあなたにオススメなのが、
作業中に考えていることをチャットに流すことです。
箇条書きでもOKなので、どんなことを調べながら実装しているのかを書くことが大事。
チャットをみた経験者から仮説が適切なのかもツッコミもらえたりすることもありますし。
やっているうちに段々と自分の頭の中が整理されていくので、まずは自分なりに仮説を立ててみましょう。
最後に
今はスーパーエンジニアのようにみえる人でも、かつてはあなたと同じように初心者でした。
エンジニアは「いかに生産性をあげるか」や「仕事を自動化するか」などをよく考える職業なので、他の業種よりこういった考え方に触れる機会は多いんじゃないかなと思ってます。
ただ、仮説と検証の考え方はがロジカルシンキングの一種でもあるので、これからエンジニアを目指す人は意識してみると圧倒的なスピードで成長できるかもしれませんよ。
コメント