Apply

Software Engineer, Search Machine Learning

Software Engineer, Search Machine Learning

Slack is looking for a Machine Learning Engineer to join the Search team and build and improve our relevance ML models. Our team powers the ranking and retrieval of relevant information to our users in several places, the largest two being the search results page and autocomplete (on device). You will take part in the whole ML pipeline: data analysis, feature engineering, model training, model serving, and experimentation.

At Slack, that impact can be huge:

  • We have over 10 million daily active users relying on our product.
  • At peak usage, a million messages a minute passes through Slack.
  • During the week, our users spend over a billion minutes a day active in our product.

Search ML Engineers at Slack have a huge impact on users’ productivity, whether that’s helping them craft messages quickly with autocomplete or helping them find information at the press of a button. At various times, you may find yourself:

  • Building data pipelines in Apache Spark or Hive and scheduling them with Apache Airflow.
  • Training machine learning models with XGBoost, TensorFlow, or other common ML framework.
  • Building services in Java or Go, deploying them with Docker, Kubernetes.
  • Experimenting with retrieval of messages, files, and Slack channels via Apache Solr.
  • Implementing features in Slack’s monolithic PHP/Hack web application.

We don’t expect everyone to be an expert in everything, but we are looking for candidates with experience in Machine Learning, a strength in at least a couple of these, and who are excited to learn the rest.

What you will be doing

  • Brainstorm with Product Managers, Designers, and Frontend Engineers to conceptualize new Search use-cases that could benefit from ML.
  • Lead or contribute heavily to large multi-functional projects that have a significant impact on the business.
  • Analyze our abundant user data to find promising features that will improve search relevance.
  • Engineer features, train ML models, run experiments, launch, and iterate!
  • Craft high-quality, well-tested code, as well as deeply review teammates’ code.
  • Improve engineering standards, tooling, documentation, and processes.
  • Own, operate, and maintain the key services that power search.

What you should have

  • Experience building web applications, backend infrastructure, data pipelines, and/or machine learning models for 2+ years.
  • Experience with functional or imperative programming languages: PHP, Python, Ruby, Go, C, Scala, or Java.
  • An analytical mindset and curiosity to find insights in our data.
  • Experience deploying machine learning models to end-users and running experiments.
  • Habit of writing understandable, testable code with an eye towards maintainability.
  • You possess strong computer science fundamentals: data structures, algorithms, programming languages, distributed systems, and information retrieval.
  • You are a strong communicator and can explain complex technical concepts to designers, support, and other engineers.
  • A bachelor's degree in Computer Science, Engineering, Statistics, Mathematics or a related field, or you have equivalent training, fellowship, or work experience.

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 offices around the world. For more information on how Slack makes teams better connected, visit slack.com.

Come join us!

Slack is registered as an employer in many, but not all, states. If you are not located in or able to work from a state where Slack is registered, you will not be eligible for employment. Visa sponsorship may not be available in certain remote locations.

Visa sponsorship is not available for candidates living outside the country of this position.

Pursuant to the San Francisco Fair Chance Ordinance and the Los Angeles Fair Chance Initiative for Hiring, Salesforce will consider for employment qualified applicants with arrest and conviction records.


At Salesforce we believe that the business of business is to improve the state of our world. Each of us has a responsibility to drive Equality in our communities and workplaces. We are committed to creating a workforce that reflects society through inclusive programs and initiatives such as equal pay, employee resource groups, inclusive benefits, and more. Learn more about Equality at Salesforce and explore our benefits.

Salesforce.com and Salesforce.org are Equal Employment Opportunity and Affirmative Action Employers. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender perception or identity, national origin, age, marital status, protected veteran status, or disability status. Salesforce.com and Salesforce.org will not pay any third-party agency or company that does not have a signed agreement with Salesforce.com or Salesforce.org.

Salesforce welcomes all.