But you don't touch on one characteristic behavior that I've noticed in expert devs: they study and have deep knowledge of the tools they're using. They know the ins and outs of their editor/IDE so that they can whiz around the keyboard doing many things the journeyman does via stringing together bits of the small subset of commands he/she knows. Likewise, with tools like git, and subtle aspects of the language, etc. Whereas the journeyman tends to know a few commands that he/she repeats frequently, but not much outside of that small subset. As a result, by having invested in learning the tools and language deeply, the expert can run circles around the journeyman on that basis alone.
These are good insights.
But you don't touch on one characteristic behavior that I've noticed in expert devs: they study and have deep knowledge of the tools they're using. They know the ins and outs of their editor/IDE so that they can whiz around the keyboard doing many things the journeyman does via stringing together bits of the small subset of commands he/she knows. Likewise, with tools like git, and subtle aspects of the language, etc. Whereas the journeyman tends to know a few commands that he/she repeats frequently, but not much outside of that small subset. As a result, by having invested in learning the tools and language deeply, the expert can run circles around the journeyman on that basis alone.