Principal Java Engineer II - Machine Learning - Elasticsearch

Elastic Elastic · Enterprise · United Kingdom · Platform - Elasticsearch

This Principal Software Engineer II role on the Elasticsearch - Machine Learning team focuses on building and maintaining the platform and components for machine learning within Elasticsearch. The role involves both Java for ML support and C++ for model performance optimizations, integrating advanced analytics and ML into the distributed Elastic platform for search, observability, and security solutions.

What you'd actually do

  1. Build and maintain Machine Learning and advanced analytical platform components.
  2. Implement scalable, high quality, well-architected code.
  3. Collaborate with other engineering teams within Elastic that build on our platform.
  4. Assist our support engineers and community.
  5. Promote knowledge sharing and collaboration in a distributed team.

Skills

Required

  • core Java
  • standard library of data structures and concurrency constructs
  • newer language features
  • deep technical proficiency in algorithms
  • professional experience in leading the development of Machine Learning components
  • understand and work on complex systems
  • build and debug features with a broad impact, running on multiple machines
  • own projects from beginning to end
  • experience communicating with a variety of stakeholders

Nice to have

  • Experience with the Elastic Stack
  • Experience in C++
  • Experience with Python / Go
  • Open source experience

What the JD emphasized

  • leading the development of Machine Learning components
  • understand and work on complex systems
  • build and debug features with a broad impact, running on multiple machines
  • own projects from beginning to end

Other signals

  • integrates advanced analytics and machine learning components into the distributed Elastic platform
  • build and maintain Machine Learning and advanced analytical platform components
  • working on model performance optimizations