Principal Software Engineer - Machine Learning

Join us as we pursue our disruptive new vision to make machine data accessible, usable and valuable to everyone. We are a company filled with people who are passionate about our product and seek to deliver the best experience for our customers. At Splunk, we’re committed to our work, customers, having fun and most importantly to each other’s success. Learn more about Splunk careers and how you can become a part of our journey!


Splunk’s Machine Learning team is looking for a Principal Machine Learning Engineer who can design, build, test, and support our batch and streaming machine learning services at scale. These services will be used in solutions for both on-premise and cloud deployments, and they form a core part of our current and next-generation product offerings.


Splunk engineers are passionate about continuously improving both what we deliver, and how we deliver our product to customers. As a Principal Machine Learning Engineer, you will:w

  • Drive the system architecture and design decisions for Splunk’s machine learning infrastructure, for both cloud and on premise environments, and for both batch and stream based processing.
  • Design, develop, determine test strategy, test, and maintain key software improvements related to machine learning capabilities at Splunk.
  • Work in a team with product managers and data scientists, as the software engineering technical leader, to develop novel solutions for our most difficult data based challenges.
  • Be a great teammate who enjoys collaborating with, learning from, mentoring, and teaching other team members to build a positive work environment.


  • 12+ years of commercial or open source product development experience, preferably in large scale cloud computing and/or distributed systems environments.
  • 1+ years of professional experience developing solutions using data pipelines, popular machine learning frameworks (scikit-learn, SparkML, or Tensorflow), and notebook based experimentation tools (Jupyter, Zepellin).
  • 12+ years of programming in large scale production systems, in languages such as Python, Java, Scala or C++.
  • A strong interest and preferably a strong background in mathematics, such that you are able to collaborate effectively in design discussions with machine learning researchers and data scientists.

Nice to have:

  • Expertise in developing software with containers and container orchestration technologies, such as Docker and Kubernetes.
  • Expertise in developing software on a public cloud platform (e.g. AWS, GCP, MS Azure etc.)
  • Expertise in developing software with stream processing technology (e.g. Flink, Kafka, etc.)


Requires a minimum of 12 years of related experience with a technical Bachelor’s degree; or equivalent practical experience.

We value diversity at our company. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, or any other applicable legally protected characteristics in the location in which the candidate is applying.

For job positions in San Francisco, CA, and other locations where required, we will consider for employment qualified applicants with arrest and conviction records.

Splunk's Hiring Practices
Splunk turns machine data into answers. Organizations use market-leading Splunk solutions with machine learning to solve their toughest IT, Internet of Things and security challenges.

Individuals seeking employment at Splunk are considered without regards to race, religion, color, national origin, ancestry, sex, gender, gender identity, gender expression, sexual orientation, marital status, age, physical or mental disability or medical condition (except where physical fitness is a valid occupational qualification), genetic information, veteran status, or any other consideration made unlawful by federal, state or local laws. Click here to review the US Department of Labor’s EEO is The Law notice. Please click here to review Splunk’s Affirmative Action Policy Statement.

Splunk also has policies in place to protect the personal information candidates disclose to us as part of the application process. Please click here to review Splunk’s Career Site Privacy Policy.

Splunk does not discriminate against employees or applicants because they have inquired about, discussed, or disclosed their own pay or the pay of another employee or applicant. Please click here to review Splunk’s Pay Transparency Nondiscrimination Provision. 
For job positions in San Francisco, CA, and other locations where required, we will consider for employment qualified applicants with arrest and conviction records.

Splunk is also committed to providing access to all individuals who are seeking information from our website. Any individual using assistive technology (such as a screen reader, Braille reader, etc.) who experiences difficulty accessing information on any part of Splunk’s website should send comments to Please include the nature of the accessibility problem and your e-mail or contact address. If the accessibility problem involves a particular page, the message should include the URL of that page.

Splunk doesn't accept unsolicited agency resumes and won't pay fees to any third-party agency or firm that doesn't have a signed agreement with Splunk.

To check on your application click here.
Find out what makes Splunk such a great place to work
Our Values

Splunkers are encouraged and empowered to be Innovative, Passionate, Disruptive, Open and Fun.
Learn More

Our Locations

From San Francisco to Shanghai, Splunkers work in 25+ offices across the globe.
Learn More

University Recruiting Program

Intern with people you want to hang out with, even outside the office.
Learn More

Our Blog

Hear from Splunkers on the latest.
Learn More

Diversity & Inclusion

Culture of Inclusion: Splunkers Share Their Stories
Learn More


Follow Splunk on LinkedIn for job announcements, company news, and more.
Learn More