制約があるから工夫が活きる
2025/04/10
個人開発で数週間悩んでいた問題がある。ChatGPTに壁打ちしながら色々試すもなかなか上手くいかない。仕事や家事中も何となくずっと心地悪さを抱えていたが、今日ふとしたキッカケで前進。そのキッカケとは夜までに絶対終わらさないといけないという制約だった。
夜に開発中のその機能について話す場があり、そこまでに何とか終わらせる必要があった。そうなると色んな手段を使って解決しようとする。実質1時間くらいで解決。数週間のモヤモヤが嘘だったようにすぐに機能を追加できてしまった。
振り返ってみるとこれまでは本質的な、よりエレガントな方法で解決することにこだわっていた。それはエンジニアとしての矜持や「本来はこれでいけるはず」というこだわり、適当な実装で誤魔化したくないという学習意欲がそうさせていたように思う。向き合うなら向き合えばいいが、ダラダラとべき論を述べているだけでは前進は見込めない。それよりはガムシャラでも少しずつ前に進んだ方が良い。ちゃんと理解した方が結局早いケースも多いが、コアの機能でなければ誤魔化しの実装でその場を凌ぐことも時には重要だと思う。
下手な方法でも一度進んでみれば見えるものは変わる。別の良いやり方が見つかるかもしれないし、そもそもその機能自体が不要だと気づくかもしれない。「完璧を目指すよりまず終わらせろ」とはFacebookのザッカーバーグ氏。まず終わらせる。完成したらリリースするのではなくリリース日を決めてそこに間に合うようにアクセルを踏む。仕事と違い好きなペースで取り組める個人開発では、特にこの諦めのバランスが必要そうだ。