Staff Software Engineer, Machine Learning

Slack is looking for a Staff Backend Machine Learning Engineer to build features, design and implement API methods, and improve the performance and reliability of our machine learning infrastructure as we rapidly scale our product and organization. Machine learning is an important and growing area of investment and, in this role, you’ll be making some of the most significant engineering decisions for the company.

We build Slack using reliable tools that our team knows and trusts, including PHP/Hack,  Java/Scala, Python, MySQL, and Linux. Experience with Apache Spark, Hadoop (or other Map-Reduce frameworks), and Airflow (or other scheduling tools like Luigi) is a huge plus. We’re a collaborative team that genuinely enjoys working together with a cross-functional group of product managers, designers, front-end, iOS, Android, automation, and quality engineers to make Slack a better product. We are looking for engineers who understand that simplicity and reliability are aspects of a system to be carefully calculated with every decision made, and who understand how to turn data and math into customer value.

A taste of our scale and reach:

  • Users spend over 10 hours connected and 2+ hours active in Slack every work day.
  • 10M+ Daily Active Users in more than 150 countries.
  • 1.5 billion messages are sent per month, half of those outside the United States.
  • Every day we see over 3.5 million simultaneously connected users, over 3.5 billion web requests, over 42 billion database queries per day, and our systems see over 1 million queries/second in our caching tier.
  • We have 8.8M+ app installations with 155,000 weekly active developers building on the platform.
  • 90% of our paid teams on Slack actively use apps.

This is a full time Staff software engineering position based in either San Francisco, CA or New York, NY

What you will be doing

  • You’ll own technical strategy for broad or complex requirements, with insightful and forward-looking approaches that go beyond the direct team and solve large open-ended problems.
  • You’ll participate in the strategic development of methods, techniques, and evaluation criteria for projects and programs.
  • You’ll lead a broad functional area and direct efforts through team leads, along with the team’s overall planning.
  • You'll brainstorm with Product Managers, Designers, and Frontend Engineering to conceptualize and build new features for our large (and growing!) user base.
  • You’ll actively own features or systems and define their long-term health, while also improving the health of surrounding systems.
  • You'll assist our skilled support team and operations team in triaging and resolving production issues.
  • You’ll develop & implement tests for ensuring the quality, performance, & scalability of our application.
  • You'll mentor other engineers and deeply review code.
  • You’ll improve engineering standards, tooling, and processes.

What you should have

  • You’ve been building web applications or backend infrastructure professionally for 7+ years.
  • You have experience with functional or imperative programming languages—e.g., PHP/Hack, Python, Ruby, Go, C, or Java/Scala.
  • You have put machine learning models or other data-derived artifacts into production at scale.
  • You can lead technical architecture discussions and help drive technical decisions within your team.
  • You write understandable, testable code with an eye towards maintainability.
  • You are a strong communicator. Explaining complex technical concepts to designers, support, and other engineers is no problem for you.
  • You possess strong computer science fundamentals: data structures, algorithms, programming languages, distributed systems, and information retrieval.
  • You have a bachelor's degree in Computer Science, Engineering, or a related field, or you have equivalent training, fellowship, or work experience.

Slack has a positive, diverse, and supportive culture—we look for people who are curious, inventive, and work to be a little better every single day. In our work together we aim to be smart, humble, hardworking and, above all, collaborative. If this sounds like a good fit for you, why not say hello?

Slack is an Equal Opportunity Employer and participant in the U.S. Federal E-Verify program. Women, minorities, individuals with disabilities and protected veterans are encouraged to apply. Slack will consider qualified applicants with criminal histories in a manner consistent with the San Francisco Fair Chance Ordinance.


Slack is a layer of the business technology stack that brings together people, data, and applications – a single place where people can effectively work together, find important information, and access hundreds of thousands of critical applications and services to do their best work. From global Fortune 100 companies to corner markets, businesses and teams of all kinds use Slack to bring the right people together with all the right information. Slack is headquartered in San Francisco, CA and has ten offices around the world. For more information on how Slack makes teams better connected, visit

Ensuring a diverse and inclusive workplace where we learn from each other is core to Slack’s values. We welcome people of different backgrounds, experiences, abilities and perspectives. We are an equal opportunity employer and a pleasant and supportive place to work.

Come do the best work of your life here at Slack.