Good question, but as a developer I would try to analyze more the value your code provides in a working state than how quickly you can crank it out. You're competent when you can be depended on to get a job done in a way that doesn't break anything that is already there and can be picked up by someone else when you inevitably move on to something different. What is a reasonable amount of time to do that depends on complexity.