Masters/PhD degree or Bachelors degree with equivalent experience
- Experience taking a leading role in building complex software systems that have been successfully delivered to customers
- Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
- Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
- Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers
- Hands-on expertise in many disparate technologies, typically ranging from machine learning, large scale data platforms, service oriented architecture, distributed systems design, android platform, front-end user interfaces, databases etc.