Programming with intention: problem solving and supporting the business and technical needs
Design thinking: avoid over and under-design
Considers testability before writing code
Succeed with Acceptance Test Driven Development
Minimizes complexity and rework
Knows when and how to use inheritance/legacy
Continuous learning attitude to developing and delivering standards and best practices (including learning from peers)
Behavioral:
Communication, collaboration, time management/ planning, problem solving, conflict management, flexibility to changing requirements, decision making, diplomacy