About Our Machine Learning Software Engineer

Dynamic Yield is on the lookout for a Machine Learning Software Engineer with orientation to Machine Learning pipelines. As part of our team, this role is responsible for all engineering aspects of our machine learning algorithms and A/B test mechanisms at scale while working closely with the company’s data science team. The job requires someone skillful at the latest big data batch and streaming technologies. We are seeking for outstanding software developers, with strong OOP capabilities, deep understanding of distributed systems, and passion for data science and algorithms.

You’ll be expected to utilize advanced technical skills and critical thinking abilities to focus on appropriate methods for evaluation for optimal results by using a range of technological stacks we use: Spark, Flink, HBase, Kafka, Redis, Elasticsearch, Akka Streams, and we code mainly in Java, Scala and Python. A strong team player with great communication skills while having the know-how to deliver high-levels of coding, design, testing, and execution.

The Task-at-Hand:

  • Design, code, and maintain Big Data workflows/pipelines
  • Create a machine learning infrastructure from training to predict
  • Develop A/B test features and tools
  • Build, maintain and execute unit test cases with high code coverage
  • Work in teams and collaborate with others
  • Bring a strong opinion to the table and be proactively involved with product planning
  • Be fully responsible for the product’s lifecycle - from design and development to deployment

Optimal Skills for Success:

  • 2+ years of experience as machine-learning engineer or Data engineer
  • 4+ years of hands-on experience in engineering Scala/Java/Python
  • Deep understanding of Machine Learning algorithms and models 
  • Experience with Big Data / NoSQL / Stream processing technologies (e.g Spark,Flink, Redis, Kafka)
  • Proven experience with implementing production models (Infrastructure, data pipelines etc) 
  • Good knowledge of machine learning libraries and tools such: Pandas, Scikit-learn, NumPy, Notebooks
  • Bachelor’s degree in Computer Science or related
  • Experience working on cloud solutions (AWS a big advantage) - a plus
  • Experience working in Agile Scrum methodologies - a plus
  • Understanding of different machine learning algorithm families and their tradeoffs (linear, tree-based, kernel-based, neural networks, unsupervised algorithms, etc.)
  • Excellent understanding of development methodologies, paradigms (OOP, FP)

Apply for this Job

* Required