In my recent blog posting "The Secrets to Becoming a Great Programmer" I discuss a couple of characteristics of great programmers. You can read about those characteristics at
The Secrets to Becoming a Great Programmer
What other characteristics make a programmer great? Do you agree with my assessment?
Thanks for the comments! My reference to "not reinventing the wheel" was meant as mentioned that a programmer needs to be aware of what is going on in the industry and if they can leverage someone else's work such as a 3rd party component, etc to get the job done then they do. I've seen many times when programmers rewrite a common from scratch themselves, fight with it, introduce horrible bugs into their system when they could have simply bought an inexpensive piece of software that did the same thing but had already been tested and validated. It goes in line with the "Not Invented Here Syndrome" that some programmers have where if they didn't write it then the code is unacceptable.
Thanks for the additional insights and the comments greatly benefit the community!
I hope that the ARM CC will serve as a place for brainshare for programming ARM, so that engineers can build on each other rather than re-discovery everything from scratch.