•Programming skills
•Technical knowledge
•Theoretical foundations
•Technical judgment
•Complexity, design, and abstraction
•Effective work and problem solving
•Communications
and learning
•Learning skills
•Communication skills
•Creative thinking skills