I feel there are three related qualities which make a talented programmer. These are managing complexity, delivering quality, and forward thinking. These may not seem like quantitative attributes but I think they can be.
First, the ability to break a problem into small, manageable parts. A problem can be anything- from a feature request for a product to a complex algorithm. The idea is a programmer doesn't get lost in the complexity. They can break the problem into small, manageable pieces which can be done incrementally or concurrently with a group of people. This should be easy to measure- if you can understand a complex problem then it's broken down enough.
The second quality is the ability to deliver a "thing" to a "user" efficiently and with a positive result. A user can be another programmer, a product owner, even a business. The "thing" can be an class, framework, a website, or even an answer to a simple "Is this possible?" question. If you're impressed with the end result in an expected timeframe it's good. If it's an overkill solution or it took too long, then the problem wasn't broken down correctly! Why shouldn't you be impressed with a software product?
Third, a developer must have vision which is aligned with goals. Foresight is extremely important. Systems are organic and must grow. If something is done quickly and fancy, but is full of bugs or can't be changed, then shortcuts were taken and a bad product was built. If something was done that doesn't get the group to where they need to be, then the programmer isn't really helping anybody. What positive value is being added for the end result? This should be explicit and visible.
To gauge these qualities quickly (as in an interview) simply do some role playing games. Propose a complex problem and see if it can be broken down effectively. Ask how it will be done. See if long term problems can be solved or the system has extensibility points for growth.