Here is my (possibly wrong and definitely still a WIP) opinion on what makes engineers, and in particular programmers really really good.
They are infinitely curious.
- Can we do better than this? (They are always asking this)
- What was the reason for a particular design decision?
- Why did changing the code in this way, make the bug disappear? (In particular they are never satisfied that a fix makes the bug go away, until they have really reached the root cause)
- Under what conditions would my code break or behave unexpectedly?
- Most importantly, they never make any assumptions about there code or believe in any assumptions, but verify them before proceeding.
They are fearless:
- They are never to afraid or lazy of diving deep into any complex code to make sure they understand what it does (see point 1)
- They aren’t afraid of making potentially large impact changes on a code base, if it will make it better in the long run.