Software Engineer (Machine Learning), Core Infra
Software Engineer, Machine Learning
Slack is looking for a Machine Learning Engineer to craft and implement features, services, API methods, infrastructure, and models to leverage our data to make Slack a fabulous, robust, safe, and valuable product for our users. The team is working on security and recommendation systems at the moment, but ultimately are looking for engineers who can help drive impact with machine learning all over the organization.
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 passed through Slack.
- During the week, our users spend over a billion minutes a day active in our product.
Machine learning engineers at Slack touch a great variety of parts of our technical stack. At various times, you may find yourself:
- Building an offline data pipeline in Apache Spark or Hive that is scheduled with Apache Airflow
- Training a machine learning model in tensorflow or other common ML framework
- Building services in Java, Go and Python, running on Kubernetes within Slack’s unique service architecture
- Implementing features in Slack’s monolithic PhP/Hack web application.
- Maintaining various pieces of our ML infrastructure with tools like Chef and Hashicorp Terraform
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.
This is a practical machine learning team, not a research team. Our goal is to deliver business value with machine learning and data in whatever form that takes. Sometimes that means bootstrapping something simple like a logistic regression and moving on. Other times that means developing sophisticated, finely tuned models and novel solutions to Slack’s unique problem space. We are looking for engineers who are driven by driving impact for our business, building great products for our customers, and delivering robust, reliable services with machine learning.
What you will be doing
- Brainstorm with Product Managers, Designers and Frontend Engineers to conceptualize and build new features for our large (and growing!) user base.
- Produce high-quality results by leading or contributing heavily to large multi-functional projects that have a significant impact on the business.
- Actively own features or systems and define their long-term health, while also improving the health of surrounding systems.
- Assist our skilled support team and operations team in triaging and resolving production issues.
- Mentor other engineers and deeply review code.
- Improve engineering standards, tooling, and processes
What you should have
- Been 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.
- Are analytical and data driven
- Have put machine learning models or other data-derived artifacts into production at scale.
- Can lead technical architecture discussions and help drive technical decisions within the team.
- Write understandable, testable code with an eye towards maintainability.
- As a strong communicator, you are capable of explaining complex technical concepts to designers, support, and other specialists is no problem.
- You possess strong computer science fundamentals: data structures, algorithms, programming languages, distributed systems, and information retrieval.
- A bachelor's degree in Computer Science, Engineering, Statistics, Mathematics or a related field, or you have equivalent training, fellowship, or work experience.
Slack has transformed business communication. It’s the leading channel-based messaging platform, used by millions to align their teams, unify their systems, and drive their businesses forward. Only Slack offers a secure, enterprise-grade environment that can scale with the largest companies in the world. It is a new layer of the business technology stack where people can work together more effectively, connect all their other software tools and services, and find the information they need to do their best work. Slack is where work happens.
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.