No Jargon
In this line of work, using plain language with clients is essential. Don't mistake an absence of jargon for a lack of knowledge and experience. It's often the presence of jargon that should concern you.
Tenacious
If the solution to a problem is not immediately apparent, unlike many programmers, I won't let go until I solve the problem. I'll look through hundreds of lines of code if necessary. I don't like loose ends.
Good Lazy, Not Bad
Most programmers are lazy, but there's good lazy and bad lazy.
Good lazy is using freely available software packages instead of writing something yourself - as long as it's appropriate for the project.
Bad lazy is incomplete testing, or using packages mentioned above when writing custom code is more appropriate, or saying, "It's good enough" when it most definitely isn't.