勉強法(3) 調べる場所が決まらない時間
手が止まっている時間の中身を振り返ると、書き方が分からない時間はそれほど長くありませんでした。
長かったのは、どこを調べればいいか決まらない時間のほうです。
「読めない」「分からない」を、調べられる形まで分解する話です。CMSベンダーにいたころの詰まり方と、いまも同じ構造で出てくることを書きます。
3つのどれかは分かるのに、どれかが分からない
製品のベースがRailsの会社にいました。仕事は管理画面やフロントの改修です。
コードは目の前にあって、動いてもいます。それなのに読めない。理由を探していくと、こういう詰まり方でした。
目の前の1行が、Railsが用意した仕組みなのか、Rubyの文法なのか、製品独自の実装なのかが区別できない。
| その行が何か | 調べに行く先 |
|---|---|
| フレームワークの機能 | そのバージョンのドキュメント |
| 言語の文法 | 言語のリファレンス |
| 製品独自の実装 | 社内のコードと、書いた人 |
3つのどれかであることは分かります。どれなのかが分からない。結果として、調べ始める場所が決まりませんでした。
調べるという行為は、探すものの見当が付いていて初めて成立します。
見当が付いていないと、当てずっぽうで言葉を変えながら探すことになります。これが時間を食う。しかも、進んでいる実感が無いまま食います。
「読めない」では、対処が決まらない
この状態を「経験が足りない」で片付けていたうちは、何をすればいいか分かりませんでした。
分解して「言語かフレームワークかの区別がつかない」まで持っていくと、読むべき本は1冊に決まります。フレームワークの本ではなく、言語そのものの本です。
読んだあと、知識の量よりも先に変わったのは手が止まる回数でした。「ここは言語の書き方だ」と分かると、調べ先が決まるからです。
「分からない」では何も決まりません。「読めない」でもまだ決まりません。
「区別がつかない」まで下ろすと、やることが決まります。そこが止め時でした。それ以上細かくしても、やることは変わりません。
いまも、同じ構造で出てくる
これは過去の話ではなくて、今も形を変えて出てきます。
最近だと、記事を投稿しようとしてサーバーに弾かれました。403が返るだけで理由は出ません。ここで手が止まる理由は、Railsのときとまったく同じです。原因がどこにあるか分からないので、調べ始める場所が決まらない。
このときやったのは、本文を半分に割って試すことでした。知識を足したのではなく、「どこ」を絞り込んだだけです。2回割ったら、引っかかっている行が分かりました。
| Railsのとき | 403のとき | |
|---|---|---|
| 止まった理由 | 調べ先が決まらない | 調べ先が決まらない |
| やったこと | 3つのどれかを見分ける | 範囲を半分に割る |
| 必要だったもの | 言語の知識 | 絞り込む手順 |
片方は知識で解決し、もう片方は手順で解決しました。共通していたのは、詰まりを「どこ」の問題に置き換えたことです。
教えていて気づいたこと
プログラミングを教えていると、同じ止まり方をよく見ます。
「動きません」と言われて画面を見ると、エラーは出ています。読めば書いてある。ただ、そのエラーが自分の書いた行の話なのか、道具の設定の話なのかが分からない状態です。
このとき答えを教えると、その場は進みます。ただ次に同じ形で止まります。渡すべきだったのは答えではなく、「いまのは3つのうちどれだと思うか」という問いのほうでした。
今回の学び
まず、いちばん時間を食うのは、探す時間ではなく探す場所を決められない時間だということ。答えを見つけるのは、場所さえ決まればそれほどかかりません。
次に、分解は「対処が1つに決まる」ところまでやること。「分からない」のままでは動けませんが、細かくしすぎても意味がありません。やることが決まった時点が止め時でした。
そして、同じ詰まり方は、分野を変えて何度も出てくること。言語とフレームワークの区別も、403の原因の特定も、困っている形は同じでした。1回分解できると、次はそれが型として使えます。
この記事を共有する
関連記事

勉強法(4) 教える側に回ると、穴が見える
教える側に回って見えた、自分の理解の穴。答えられなかった質問の種類と、そのあと説明の仕方をどう変えたかです。

勉強法(2) 測らないと、分かったことにならない
このサイトで実際にやった「確かめ方」を3つ。どれも、確かめていなかったら間違ったまま進んでいたものです。

勉強法(1) 1つ作り切ると、広く当たる
ポートフォリオサイトを1つ作るのに、結果として何を触ることになったか。その一覧と、それが「順番に勉強する」やり方とどう違ったかです。