学びきらないと決めた——基礎学習を1ヶ月から1週間に縮めて、5日前倒しで終わった話

Next.jsの基礎学習に、8月をまるまる1ヶ月充てる計画を立てていました。

それを1週間に縮めて、実際に1週間で終わりました。しかも予定より5日早く。
その判断の話を書きます。

目次

計画を立てている途中で、前提が崩れた

最初は素直に「基礎を固めてから作り始めよう」と考えていました。

ところが教材を比較しているうちに、妙なことに気づきます。
範囲が広すぎるのです。

  • ルーティング
  • React Server Components
  • Server Actions
  • キャッシュの挙動
  • レンダリング方式の使い分け
  • 認証
  • middleware
  • メタデータ

どれも「知っておいたほうがいい」ものです。
しかも、1回読んだだけで身につく気がしない。

1ヶ月かけても全部は終わりません。
終わらないまま8月が終わって、「まだ基礎が固まっていないから」と9月も学習に充てている自分が、はっきり想像できました。

8章だけやることにした

そこで、公式チュートリアル全15章のうち、次に作るアプリに直結する8章だけをやると決めました。

期間は1週間。15時間、12工程です。1ヶ月の計画を4分の1に切りました。

大事だったのは、飛ばす章に理由をつけたことです。

「やらない」とは書きません。「実装中に必要になったら戻る」と書いておく。
こうしておくと、飛ばしたことが借金に見えなくなります。

実際にスキップしたのは7章分。使うデータベースが教材と違うので、そのままではコードを流用できない章が中心です。
今読んでも書き換えが要る。そう判断しました。

根拠は自分の実績だった

短縮する根拠にしたのは、自分の記録でした。一般論は使っていません。

1作目のアプリは7日で公開まで行きました。実装しながら都度調べるやり方です。
一方、止まったのは5月から6月の2ヶ月。教材を通していた期間でした。

自分の場合、作っている期間は進み、学んでいる期間に止まる。
記録がそう言っていました。

なので「学習フェーズは短いほうが安全」という結論になりました。
理解が浅いまま入るのも怖い。ただ、自分の記録を見る限り、
実際に手が止まったのは学習している期間のほうで、そちらを避けるほうが確実だと判断しました。

完了判定を「章の数」で置かなかった

もうひとつ決めたのが、終わりの判定です。

「15章のうち8章を消化したら終わり」にすると、消化そのものが目的になります。
代わりに、次に作るアプリの工程表を自分で引けるかを判定にしました。

章を読み終えても工程表が書けないなら、学習が足りていない。
逆に工程表が書けるなら、残りの章は実装中に取りに行けばいい。

これなら、後ろめたさが判断に混ざりません。

結果

8月2日に完了しました。納期は8月7日です。5日前倒しでした。

最後の2章は合わせて1時間45分でした。
工程表も自分の言葉で引き直せています。判定条件はクリアです。

短く切ったら、切ったとおりに終わりました。

完璧に理解してから、の日は来ない

振り返ると、「完璧に理解してから作る」を選んでいたら、
理解し終わる日は来なかったと思います。

Next.jsの範囲は広い。しかも新しい機能が足されていきます。
追いかけている限り、いつまでも「まだ足りない」と言い続けられてしまう。

分からない箇所を実装中に回収する前提にすると、学習フェーズは短く切れます。
実際、困りませんでした。

もちろん、この先の実装で詰まる場面は来るはずです。
そのときは戻ればいい。飛ばした章それぞれに「実装中に必要になったら戻る」と書いてあるので、戻ること自体が最初から予定の一部になっています。

目次