I usually prefer fast code first. The keywords being _usually _and first.
Most companies, especially smaller ones, want their product to work. However, on the long run, they also want it to be maintainable, optimal, etc.
As a lead developer of a startup company I expect my colleagues to write working code first, with tests at least for the so called happy paths. However, all such code must have a follow-up where they have to add tests for edge cases, optimise it for speed and memory consumption, etc. so we don’t make regressions later.
Deadlines are our enemies but untested code is the enemy within, more dangerous than anything else.