- Ability to provide accurate time estimates
- Ability to quickly learn recent technologies
- Ability to quickly read through and understand unfamiliar code
- Good code quality (clear comments, specific well-named functions, etc.)
- Good troubleshooting skills
- Experience collaborating with other developers