I feel like the personal value system and personality are what drive long term performance. You can explain and cajole all you want, but inevitably a few months later the core personality starts coming back through. Establishing a culture around certain things will go a long way toward making those behaviors expected, but finding a person who has the appropriate temperament and skill level for a the types of activity needed for a role is so incredibly easier than doing everything the hard way.
Maybe I've been spoiled... I have a few engineers in other roles who do naturally get things done and don't need constant hand-holding to get through anything boring, but so far the programmers mostly just want to work on whatever they think is cool and turn into procrastination machines if I push too hard or give them an uncool task. I do have one older guy who I can leave to his own devices and the result will mostly make sense and happen without lots of my time pushing to finish. The other engineering roles with 'finishers' are mostly young guys, though, so I'm still hopeful any age could be this type.