Next.jsの公式チュートリアルを進めていて、3章の途中で手が止まりました。
これは難しい、と思いました。
このペースだと止まりそうだな、とも思いました。5月から6月にかけて、
動画教材を通しているあいだに2ヶ月ほど止まった経験があります。
その感覚が戻ってきた。怖かったです。
ところが記録を見返したら、遅れていませんでした。
体感と数字がズレていた
学習にかかった時間は毎回メモしています。見積と実績を並べてみました。
| 項目 | 時間 |
|---|---|
| 1〜3章の見積 | 1.5時間 |
| 1〜3章の実績 | 約2時間(他のことをしていた時間込み) |
30分オーバー。ただしこの2時間には、集中が切れて別の作業をしていた時間も入っています。
実作業だけなら、ほぼ見積どおりでした。遅れていません。
進んでいないという感覚だけがあって、数字のほうはそう言っていない。
このズレが何だったのかを考えていくうちに、原因が教材の側ではなく
自分の進め方のほうにあると分かった、というのがこの記事で書きたいことです。
教材が求めていた深さと、自分が潜った深さ
3章は画像の最適化を扱う章です。教材が求めていたのは、実質これだけでした。
<Image src="/hero-desktop.png" width={1000} height={760} />
コンポーネントを置いて、幅と高さを渡す。それだけです。
自分が実際にやっていたのは、こういう流れでした。
1. Image の型定義が気になって node_modules を開く
2. image.d.ts を読み、そこから image-external.d.ts へ Cmd+クリックで辿る
3. ブラウザの検証ツールで、出力されたHTMLを確認する
4. ついでに元画像の解像度まで調べる
教材が指定した深さを、3階層ぶん超えて潜っていました。
難しかったのは、章の内容ではありません。自分が勝手に深くまで潜っていたからでした。
体感速度を決めていたのは難易度ではなく、深度のほうです。
潜るのをやめたら、翌日に1.75時間で2章進んだ
翌日から進め方を変えました。疑問が湧いてもその場では調べず、
1行のメモに送ってから先へ進むという、それだけのルールにしました。
結果は4章と5章を合わせて1時間45分。
完了判定にしていた条件もクリアして、基礎学習のフェーズはそこで終わりました。
納期に置いていた08-07に対して5日早い着地です。速すぎて拍子抜けしました。
面白いことに気づきました。3章の時点で「ファイル構造が頭に描けない」と詰まって、
自分で調べて埋めようとしていた部分が、そのまま4章の内容だったのです。
自力で解決しようと潜っていた疑問に、教材は次の章で答えるつもりでいました。
先に進むだけで解けた。それをその場で解こうとしていたわけです。
疑問を持つことと、その場で解くことは別
疑問が湧くこと自体は悪くないと思っています。node_modules を辿ったおかげで、型定義ファイルの読み方は少し分かりました。
収穫はありました。
問題は、それをその場でやったことです。
1作目のアプリを作ったときは、詰まったら1行メモに書いて先へ進むという運用が
自然にできていました。作りながら調べる流れだと、止まっている時間が
そのまま進捗の遅れとして目に見えるからだと思います。
学習中はそれが見えません。潜っている時間も「勉強している時間」に見える。
だから歯止めが効きませんでした。
記録がなければ「自分は遅い」で終わっていた
一番の収穫はこれでした。体感と数字がズレていたと分かったことです。
記録を取っていなければ、「難しくて進まない」という感覚だけが残って、
そこから「自分には向いていないのかもしれない」まで行っていた気がします。
実際には見積どおりでした。遅く感じた原因は、自分の潜り方にあった。
原因が分かれば対処できるもので、次の章からは、その場では潜らないと
決めておくだけで済みました。
学習の時間を測っておくと、こういうときに助かります。
感覚は簡単にブレます。記録はブレません。
