Knowledge of what design patterns and overall architecture.
Knowledge of what code smells are and how to mitigate them.
Working independently, design, implement and maintain high performance software solutions
Communicate ideas, issues, status, and outcomes with the team and managers
Working knowledge of various SDLC methodologies (waterfall, agile)
Manage, evaluate and coach engineers on the team
Create technical documentation
Manage, evaluate, and coach engineers on the team
Assist in promoting a positive engineering and team culture