Master’s or PhD in Computer Science, Artificial Intelligence, Information Retrieval, or a related field
7+ years of software design and development experience, tackling non-trivial problems in backend service and/or data pipelines, including operation and monitoring
Solid foundation in Computer Science with strong proficiencies in Data Structures, Algorithms, Object-Oriented Programming, and Software Design
Comfortable using a variety of programming languages on a daily basis, such as Java/Scala, Python, C/C++
Experience with Big Data processing solutions (Hadoop, Spark, …), microservice frameworks (e.g. Java Spring), NoSQL databases and/or distributed document storage solutions (Apache Ignite, Cassandra, Redis, Solr, …)
Experience with cloud computing platforms and solutions (AWS, GCP, Kubernetes, …)
Excellent verbal and written communication and collaboration skills
Thought leadership and teaching skills
What you'll be doing:
Collaborate with Engineering and Product Management on shaping the department’s vision and roadmap
Help design cross-team software infrastructure and integration methods
Design, deliver, and maintain significant features in data pipelines, ML processing, and / or service infrastructure
Optimize software performance to achieve the required throughput and / or latency
Work with your manager, peers, and Product Managers to scope projects and features
Take part in cross-team efforts, taking ownership of a business problem and ensuring the different teams are in sync and working towards a coherent technical solution
Come up with a sound technical strategy to achieve the required results, taking into consideration the project goals, timelines, and expected impact
Mentor more junior peers, as well as review their work and provide frequent feedback and advice
Promote coding standards and craftsmanship within the team through careful code review, discussion and open, constructive feedback
Take active part in knowledge sharing across the organization - both teaching and learning from others