Personality Traits of the Best Software Developers: "Someone who fixes a problem but doesn't take the time to find out what caused it is doomed to never become an expert in their field. Experience is not years on the job, it's learning to recognize a problem before they occur, which can only be done by knowing what causes it in the first place."