The traits of a proficient programmer
Gregory Brown wrote an excellent article on how you can grow as a programmer.
Do you know what the difference between competence and proficiency is? ... Competence means having enough experience and knowledge to get stuff done; proficiency involves knowing why you are doing something in a certain way, and how it fits into the big picture. In other words, a proficient practitioner is always a competent practitioner, but the opposite may not be true.
https://www.oreilly.com/ideas/the-traits-of-a-proficient-programmer
What are your thoughts on "The traits of a proficient programmer"?