* Bachelor’s (or above) Degree in Computer Science or related field or equivalent experience
* 5+ Years Professional experience in software development
* Computer Science fundamentals in object-oriented design, data structures, algorithm design, efficiency, concurrency & performance optimization
* Software engineering fundamentals in testing: Unit Testing, Integration Testing, etc.
* Experience with delivering distributed, highly available, enterprise-scale cloud-based applications to customers
* Proven technical leadership of at least one team as a technical lead, team lead or architect.
* Strong experience in leading teams in systems design & architecture, including leading design reviews for your team and/or others
* Experience with applying best practices within all stages of the software development life cycle, including functional requirements gathering, software design/architecture, coding standards, code reviews, source control management, build processes, automated testing, and operations
* Experience working directly with customers, senior management, and/or business/product teams to influence your team’s roadmap & prioritization, as well as defining requirements for highly ambiguous problems
* Experience mentoring software engineers on your team to successfully execute on their deliverables, and achieve their longer term career aspirations