Well, the programming it is a way of thinking, not matter what language, framework, library ..etc the programmer using, the languages and tools every day changes, so the important thing in programming is the logic.
Not matter for me the code is it look beautiful or documented, theses are small things and easy to fix, the good programmer mean good logic and mean this programmer can switch from technology to another very fast and no need to explain more, he/she can understand the problem from little words.
So, about your question, What are the three things that help you determine this?