KiSAKU
技術系約4分で読めます

勉強法(3) 調べる場所が決まらない時間

公開

手が止まっている時間の中身を振り返ると、書き方が分からない時間はそれほど長くありませんでした。

長かったのは、どこを調べればいいか決まらない時間のほうです。

この記事で扱うこと

「読めない」「分からない」を、調べられる形まで分解する話です。CMSベンダーにいたころの詰まり方と、いまも同じ構造で出てくることを書きます。

3つのどれかは分かるのに、どれかが分からない

製品のベースがRailsの会社にいました。仕事は管理画面やフロントの改修です。

コードは目の前にあって、動いてもいます。それなのに読めない。理由を探していくと、こういう詰まり方でした。

目の前の1行が、Railsが用意した仕組みなのか、Rubyの文法なのか、製品独自の実装なのかが区別できない。

その行が何か 調べに行く先
フレームワークの機能 そのバージョンのドキュメント
言語の文法 言語のリファレンス
製品独自の実装 社内のコードと、書いた人

3つのどれかであることは分かります。どれなのかが分からない。結果として、調べ始める場所が決まりませんでした。

検索の言葉すら決まらない

調べるという行為は、探すものの見当が付いていて初めて成立します。

見当が付いていないと、当てずっぽうで言葉を変えながら探すことになります。これが時間を食う。しかも、進んでいる実感が無いまま食います。

「読めない」では、対処が決まらない

この状態を「経験が足りない」で片付けていたうちは、何をすればいいか分かりませんでした。

分解して「言語かフレームワークかの区別がつかない」まで持っていくと、読むべき本は1冊に決まります。フレームワークの本ではなく、言語そのものの本です。

読んだあと、知識の量よりも先に変わったのは手が止まる回数でした。「ここは言語の書き方だ」と分かると、調べ先が決まるからです。

分解の粒度は、対処が1つに決まるところまで

「分からない」では何も決まりません。「読めない」でもまだ決まりません。

「区別がつかない」まで下ろすと、やることが決まります。そこが止め時でした。それ以上細かくしても、やることは変わりません。

いまも、同じ構造で出てくる

これは過去の話ではなくて、今も形を変えて出てきます。

最近だと、記事を投稿しようとしてサーバーに弾かれました。403が返るだけで理由は出ません。ここで手が止まる理由は、Railsのときとまったく同じです。原因がどこにあるか分からないので、調べ始める場所が決まらない。

このときやったのは、本文を半分に割って試すことでした。知識を足したのではなく、「どこ」を絞り込んだだけです。2回割ったら、引っかかっている行が分かりました。

Railsのとき 403のとき
止まった理由 調べ先が決まらない 調べ先が決まらない
やったこと 3つのどれかを見分ける 範囲を半分に割る
必要だったもの 言語の知識 絞り込む手順

片方は知識で解決し、もう片方は手順で解決しました。共通していたのは、詰まりを「どこ」の問題に置き換えたことです。

教えていて気づいたこと

プログラミングを教えていると、同じ止まり方をよく見ます。

「動きません」と言われて画面を見ると、エラーは出ています。読めば書いてある。ただ、そのエラーが自分の書いた行の話なのか、道具の設定の話なのかが分からない状態です。

このとき答えを教えると、その場は進みます。ただ次に同じ形で止まります。渡すべきだったのは答えではなく、「いまのは3つのうちどれだと思うか」という問いのほうでした。

今回の学び

まず、いちばん時間を食うのは、探す時間ではなく探す場所を決められない時間だということ。答えを見つけるのは、場所さえ決まればそれほどかかりません。

次に、分解は「対処が1つに決まる」ところまでやること。「分からない」のままでは動けませんが、細かくしすぎても意味がありません。やることが決まった時点が止め時でした。

そして、同じ詰まり方は、分野を変えて何度も出てくること。言語とフレームワークの区別も、403の原因の特定も、困っている形は同じでした。1回分解できると、次はそれが型として使えます。

この記事を共有する

Xでポストはてブ
← ブログ一覧へ戻る