I don't think the obvious things really help though. Whether a compile takes 5 minutes or 10 minutes, you are still going to async out of it and do other things. You might not come back to it until well after, eg at 15 or 30 minutes. If the same compile only took 10s though, you would stare at the screen and then get to testing immediately. So it's definitely non-linear in the sense that it would be great if it were super fast but if it's already slow, being a little slower doesn't harm much. With all the tooling, there's a distinction between fast enough to use synchronously and so slow that you need a reminder to come check the results.<p>IMO the thing that really matters is domain knowledge, a fancy way of saying judgement. If you know your domain you might avoid the most expensive mistakes: having to change language or framework, requiring entirely different developers, bricking hardware that you paid a lot of money for, buying services that you don't need, writing code that won't be used.<p>Another thing I'd mention is having people to bounce ideas off. LLMs are actually ok at this, in the sense of spitting out lists of things that you might have missed. But in general having another expert around to really discuss stuff saves a lot of time going down caves that you forgot not to go down.