頭の中だけでは設計が進まない
「考えるということは手を動かすことである」という言葉が、ずっと印象に残っています。
最近、その意味を仕事の中でよく感じます。頭の中だけで考えようとすると、すぐに情報量があふれます。
- 要件
- 技術的な制約
- パフォーマンス
- 既存システムとの整合性
- セキュリティ
- スケジュール
これらを脳内だけで同時に持ち続けるのは、なかなか厳しいです。考えているつもりなのに、同じ論点をぐるぐる回って終わることがあります。
私にとっては、書いた瞬間に思考が前へ進みます。
書いた途端に論点が見える
設計や要件整理で詰まるとき、頭の中では次のような状態になりがちです。
この機能をどう実装するか
既存コードとぶつからないか
運用は回るか
最初に何を考えていたか
ここで箇条書きでよいので外へ出すと、論点の輪郭が出てきます。
例: 通知機能の設計
問題: ユーザー通知機能の実装
既存の状況:
- メール送信機能はある
- リアルタイム通知はない
選択肢:
1. メールだけで対応する
2. WebSocketを使う
3. ポーリングで対応する
判断:
まずはメールで実装し、必要になったらリアルタイム通知を追加する
ここまで書くだけで、次に何を調べるか、どこを決めるかが見えます。
書くことは、脳の負荷を逃がす手段になる
人間は、一度に多くのことを抱え続けるのが得意ではありません。
その状態で設計を進めようとすると、
- さっき考えていた論点を忘れる
- 同じ比較を何度も繰り返す
- 不安だけが増えて手が止まる
ということが起きます。
書くと、ワーキングメモリの外に情報を置けます。すると頭の中は「覚えておく」より「判断する」に使えるようになります。
AIを使うほど、書く力が土台になる
最近はAIに壁打ちする機会も増えました。実装の相談、設計の比較、仕様のたたき台づくり。進み方は確かに速くなりました。
ただ、AIにうまく手伝ってもらうには、自分の考えをある程度書けることが前提になります。
曖昧な相談
いい実装方法ない?
論点を書いた相談
Rails APIでユーザー通知機能を実装したい
要件:
- 通知は1時間以内に届けばよい
- 確実に届く必要がある
- 月間100万通知程度の規模
現状:
- Sidekiq導入済み
- SendGridを使用中
どの構成がよさそうか
この差は大きいです。書くことで思考が整理され、AIから返ってくる答えも具体的になります。
書いたものは、未来の自分にも返ってくる
書くことの良さは、その場で考えやすくなるだけではありません。
- 設計の判断理由が残る
- 詰まったポイントを後から見返せる
- 同じ問題に再び出会ったときの土台になる
考えるために書いたメモが、後からドキュメントやレビューの材料になることも多いです。
まとめ
頭の中だけで考えるより、手を動かした方が論点は整理されます。
- 書くと、問題の輪郭が見える
- 書くと、次に決めることがわかる
- 書くと、AIとの対話も深くなる
考えるために、まず書く。私にとっては、それがいちばん現実的な進め方です。