It's as important to know the costs as it is the benefits of some technology.
Know programming patterns. Be able to categorize a problem as an instance of a pattern (or not).
Know what you don't know.
Execute.
Being better at debugging is more valuable than coding faster.
Train those junior to you as if you want them to replace you.
Use the Socratic method. Ask a lot of questions. Over-communicate.
Be able to adapt yourself to the person you're talking to.
Be able to manage "up." People should trust you not only because you can get things done, but also because they are well informed that things are getting done the way they want.
Know programming patterns. Be able to categorize a problem as an instance of a pattern (or not).
Know what you don't know.
Execute.
Being better at debugging is more valuable than coding faster.
Train those junior to you as if you want them to replace you.
Use the Socratic method. Ask a lot of questions. Over-communicate.
Be able to adapt yourself to the person you're talking to.
Be able to manage "up." People should trust you not only because you can get things done, but also because they are well informed that things are getting done the way they want.