プログラマーの開発が止まる原因は、技術不足だけではないです。もちろん知識が足りなくて詰まることもある。でも実際には、`どこから手を付ければいいか分からない`、`何を作れば完成なのか曖昧`、`選択肢が多すぎて決められない`、`疲れていて判断が荒い`。こういう理由で止まることの方がかなり多いと思っています。
しかも今は、AI を使えばある程度コードは出ます。だから余計に `書けるかどうか` が原因ではなくなってきている。止まるのは、実装の前か、実装の外側です。何を作るか、何を切るか、何がズレているか。そこが決まっていないと、出力が速くても前には進みにくいです。
この記事の要点
- 開発が止まるのは、技術不足だけでなく、次の一手が決まっていない状態でも起きます。
- 終わりが曖昧なまま進めていると、作業量ではなく判断量が増えて止まりやすいです。
- 完璧に理解してから進もうとする姿勢や、情報を抱えすぎることも停滞の原因になります。
- 疲労や寝不足は生産性だけでなく、切り分け力そのものを落とします。
- 止まった時は、問題を小さくし、次の30分でやることを一つに絞るのが有効です。
一番多いのは、終わりが曖昧なまま進めていること
開発が止まる時は、作業が難しいというより、完成条件が曖昧なことが多いです。どこまで作れば十分なのか。今やるべきことは何で、あと回しにしていいことは何か。ここが曖昧だと、作業中ずっと判断し続けることになります。
前に書いた MVPからリリースまでを早くする話 や MVPで削るべき機能の話 にもつながりますが、止まる人ほど `やることが多い` のではなく `やらなくていいことが決まっていない` ケースが多いです。終わりが曖昧だと、どこから手を付けても不安が残ります。
選択肢が多すぎると、手は止まりやすい
技術選定、設計、UI、命名、ディレクトリ構成、ライブラリ、AI にどう頼むか。今の開発は選択肢が多いです。しかもそれぞれに正解っぽい情報がある。これが地味に重い。どれでもできそうに見える状態は、逆に決めきれず止まりやすいです。
止まる人は、全部を比較してから進もうとしがちです。改善が進む人や公開まで持っていける人は、一定の雑さで切ります。`今はこれで行く` と一回決める。後で直せる前提で進める。ここをできないと、開発はすぐ止まります。
完璧に理解してから進もうとすると、いつまでも着手できない
真面目な人ほど、全部理解してから動きたくなります。設計も、依存関係も、最終形も見えてから書きたい。でも実際の開発は、動かしながら見えてくることがかなり多いです。特に個人開発や新規機能は、最初から全部見えている方が珍しい。
前に書いた assets の話 でもそうでしたが、途中で初めて `ここが設計の問題だったのか` と分かることは普通にあります。だから、全部理解してから進むより、まず仮で置いてみて、ズレを観察する方が前に進みます。完璧主義は丁寧さに見えて、実際には停滞の原因になりやすいです。
疲れていると、技術ではなく切り分けが落ちる
寝不足や疲労もかなり大きいです。前に継続案件の話でも書きましたが、疲れているとまず会話が雑になります。同じように、開発では切り分けが雑になります。何が問題で、何が症状で、どこから見ればいいか。その順番が崩れると、解ける問題も重く感じます。
つまり、疲労は `作業速度` だけでなく `判断速度` を落とします。ここを軽く見ると、ただ集中力がない日、くらいで済ませがちですが、実際には開発停止のかなり大きい原因です。止まっている時ほど、知識を足す前に休んだ方がいい場面はあります。
頭の中だけで抱えると、止まりやすい
開発が止まっている時は、問題を頭の中で抱えすぎていることも多いです。ぼんやり詰まっている。何が分からないかも曖昧。そういう時は、書き出した方が早いです。何が決まっていて、何が決まっていないのか。何を仮置きできるのか。次の30分で何をやるのか。
これは 言語化力の話 や 相談される人の話 にもつながりますが、言葉にできる人の方が、止まった時の戻し方もうまいです。問題を説明できると、AI に渡す時も、人に相談する時も、自分で整理する時も強いです。
止まった時は、問題を一段小さくする
開発が止まった時に有効なのは、気合ではなく縮小です。機能全体を進めるのではなく、まず1画面。1関数。1導線。1つの文言。そこまで小さくする。次の30分で終わる単位まで落とすと、動き直しやすいです。
開発が止まる人は、問題が大きいまま向き合ってしまう。だから重い。逆に進む人は、止まった時ほど問題を砕きます。今すぐ答えが出ないなら、観察できる形にする。仮で置く。後で直す。そうやって少しずつ前に出ます。開発が止まらない人というより、止まっても戻れる人が強いのだと思います。
よくある質問
開発が止まるのは技術不足だけが原因ですか?
違います。次の一手が決められない、終わりが見えていない、切り分けが甘い、疲れている、といった要因でも開発は止まります。
AIを使っているのに開発が止まるのはなぜですか?
実装が速くなっても、何を作るか、何を切るか、何がズレているかを決めるのは人だからです。判断の部分が曖昧だと、AIを使っていても止まりやすいです。
止まった時は何から立て直せばいいですか?
問題を一段小さくし、次の30分でやることを一つに絞るのが有効です。整理して書き出し、最小単位で動き直す方が戻しやすいです。