Apply

Software Engineer, Search Ranking

Slack is looking for machine learning engineers, or software engineers with experience on search ranking, to design and build search algorithms that helps our millions of users to discover and find the most meaningful and personalized set of channels, files and messages in Slack's platform.

Our Search Quality team is responsible for search and autocomplete ranking and query understanding across all the knowledge within Slack: messages, people, channels, files, links, and more. We’re a collaborative team that genuinely enjoys working together with a cross-functional group of product managers, designers, front-end and backend engineers to make Slack a better product.

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.

What you will be doing

  • Identify search quality problems, analyze our corpus of messages, users, channels, files, and other Slack entities to come up with new ideas, and experiment with new search algorithms.
  • Leverage data to inform right business decisions, such as designing how to evaluate search ranking model updates and whether they should be launched.
  • Understand search ranking model stability and sources of volatility.
  • Develop new techniques for inferring user patterns based on different features.

What you should have

  • You have at least 2+ of experience as a professional software engineer.
  • You have a professional/academic background in at least one of search, ML, or data science broadly speaking. If not, you are very interested in learning and have a generalist skill set spanning infrastructure to front-end development.
  • You’re a good programmer and have experience with functional or imperative programming languages, eg. PHP, Python, Ruby, Go, C, or Java (used without frameworks).
  • Experience with Apache Spark, Hadoop (or other Map-Reduce frameworks), and Airflow (or other scheduling tools like Luigi) is a plus, but not mandatory requisite.
  • You have solid computer science fundamentals: data structures, algorithms, programming languages, distributed systems, and information retrieval. 
  • You write understandable code with an eye towards maintainability. 
  • You are a good communicator. Explaining complex technical concepts to designers, support, and other engineers is no problem for you. 
  • You know how the web works and what a good API looks like. 
  • You have completed a bachelor's degree in Computer Science, Engineering or related field, or 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 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.

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.