First
Understand before building
Bad output is almost never a reasoning failure. It's a context failure. Something was asked to build into a system it had never looked at, so it guessed, and it guesses fluently, which is exactly what makes it expensive. Confident, plausible, and wrong is harder to catch than obviously broken.
So nothing starts with building. Work starts with reading: what already exists here, what pattern this system already follows, what was decided before and for what reason. The answer is usually already in the codebase. The job is to go find it instead of inventing a second way to do the same thing.
Read what exists → Find the pattern → Then build
Every hour skipped here comes back as a week of untangling.