I am typically the first guy to do an implementation. After that a bunch of guys come in and they refactor the code.
I pass all acceptance tests. (Typically a cucumber suite). The people I work with know this.
When I am contracting time is money. I don't refactor unless you pay me.
I can refactor that code as well as anybody, but by that time I'm typically called away on another project.
(My last assignment was writing a REST API while in Vietnam 5 subcontractors were writing a mobile app against my API on a nightly basis. That was a major pITA since they were 12 hours ahead of me. I prefer working against the West coast, three hours ahead is pretty much ideal.)
Now after I'm done In typically think of a much more elegant way of doing things, but by that time I'm usually on something else.
One thing: My hastily written code is nicer today than my refactored code was 5 years ago. So I guess I am improving.
People that hire me typically couldn't care less about what tools I use, or how elegant my code is.(Unless you work for a software company; I deal with a lot of businesses in totally different fields that need an issue solved, and need it done quickly.)