Software Engineer / Machine Learning
The Software Engineer will build and maintain Platform software, including authentication, security, machine learning systems, and infrastructure stack, enhancing the relevancy of our products as well as be a leading contributor to new disrupting products. This role requires a deep understanding of all the steps of designing, developing, deploying and maintaining software leveraging cutting edge technologies in an agile environment. The candidate needs to be comfortable dealing with ambiguities, have a “can-do” attitude, effective communication skills and the ability to lead others.
- Deliver great code in cutting-edge products
- Help keep the right balance between quality, process, and creativity in the team
- Be hands-on tech lead in our most critical projects
- Work with other product teams, and machine learning experts, infrastructure, and security teams to leverage advanced web data extraction, machine learning techniques, security and infrastructure in scalable, robust and maintainable systems
- Work with the Chief Architect, engineering managers, product managers and other engineering teams to help define requirements and optimize sequencing of work.
- Ability to understand business requirements, to stay aware of the greater picture while having a great attention to details
5+ years of experience as a Software Developer or equivalent
Proven experience delivering great code in Java and/or Scala, REST-Based services
Strong hands-on experience with the big data machine learning stack (Storm, Spark), SQL, NoSQL ElasticSearch, Cassandra
Strong experience in containers and microservices architecture
Full stack: frontend backend architecture, queue processors (Kafka, Rabbit), security, AWS
Robust ability to own all steps of product development in an agile environment, ability to own the relation with DevOps and SysOps
Team player, ability to set an example, mentor others, strive for root causes
Self-learner, ability to work with ambiguities, adapt to changes in priorities