What is perfection?
Dictionary.com defines it as this:
the state or quality of being or becoming perfect
It defines "perfect" as:
excellent or complete beyond practical or theoretical improvement
Anyone who cares about their work strives for perfection. Very few ever achieve it. In some ways, it is unachievable. Art, for example, is subjective. One person may look at something and declare it a masterpiece. Others may view it as something less than that.
But if you take the subjective out of something and look purely at the form or execution, I think you can in fact achieve perfection of a sort. At minimum, one might consider a novel "perfect" if it contains no errors—no spelling mistakes, misuse of grammar, punctuation, etc. One wouldn't think this is that hard to achieve. Surprisingly, it is. A writer on his own, forget about it. A writer who uses a copyeditor or a succession of proofreaders and multiple editors… the chance of perfection rises, but still isn't guaranteed.
I've been thinking more and more about perfection, or at least the pursuit of it, as I come to see my writing as perhaps not quite a viable alternative occupation yet, but at least a second source of income. Besides for that, I'm one of those types of people who cares enough about their work to want perfection, or at least as close to it as I can get. It bothers me to no end when a reader finds a typo, for example. Especially a dumb one. One that I should have caught. One that never should have made it into the final product.
In software engineering, we often have groups dedicated to quality control. These QA (quality assurance) groups are charged with varying levels of testing to make sure bugs are fixed before the client ever sees them. This doesn't guarantee perfection, but it at least removes the "dumb" errors. The point is that a programmer should never perform the final QA testing of their own code or features or software. He or she is "too close". This doesn't mean he or she shouldn't test their own "stuff". They should. But they should also have a second (or third) set of eyes take a look before shipping.
Of course, this model translates into writing. The programmer is the author and the QA person is the copyeditor. The copyeditor's job is to apply a specific set of rules (spelling, grammar, punctuation, etc.) as well some subjective ones (style, wordiness, confusing passages, etc.) to a manuscript in order to help the author achieve perfection.
Even this is not enough to guarantee it, though. Even worse, it doesn't guarantee that everyone is going to like your finished product. Nothing can guarantee that, obviously.
Yet I will continue to strive for perfection. I know I won't ever truly reach it, but it's the journey, not the destination (or something like that).