Software Engineer, Machine Learning
Slack
Job Overview
Who's the hiring manager?
Sign up to PitchMeAI to discover the hiring manager's details for this job. We will also write them an intro email for you.

Job Description
About Salesforce & Slack
Salesforce is the #1 AI CRM, driving customer success with cutting-edge AI. Slack, a Salesforce company, is seeking a Software Engineer, Machine Learning to enhance its product through data-driven features and models. This role is crucial for leveraging our vast user data to make Slack a robust, safe, and valuable product. You will work on applications spanning agentic systems (Slackbot), search, recommendations, and conversational intelligence.
Impact at Slack
- Over 10 million daily active users rely on Slack.
- A million messages per minute pass through Slack at peak usage.
- Users spend over a billion minutes a day active in the product during the week.
About the Role
As a Software Engineer, Machine Learning, you'll engage with various parts of our technical stack, from building data pipelines and training recommendation models to fine-tuning LLMs, implementing application features, and analyzing experiment data. While expertise in all areas isn't expected, a strong background in Machine Learning and a desire to learn new technologies are essential. This is a practical, impact-driven team focused on delivering business value through machine learning and data, whether it involves bootstrapping simple models or developing sophisticated, novel solutions for Slack’s unique problem space.
What You Will Be Doing
- Leverage machine learning and artificial intelligence expertise to enhance the Slackbot experience.
- Develop ML models for ranking, retrieval, and generative AI use-cases.
- Collaborate with Product Managers, Designers, and Frontend Engineers to conceptualize and build new features.
- Lead or contribute significantly to large, cross-functional projects with business impact.
- Own features or systems, defining their long-term health and improving surrounding systems.
- Support the development of sustainable data collection pipelines and ML feature management.
- Assist support and operations teams in triaging and resolving production issues.
- Mentor other engineers and conduct thorough code reviews.
- Contribute to improving engineering standards, tooling, and processes.
What You May Bring
- Experience with functional or imperative programming languages such as PHP, Python, Ruby, Go, C, Scala, or Java.
- Proficiency with common ML frameworks like PyTorch, Tensorflow, Keras, XGBoost, or Scikit-learn.
- Experience fine-tuning LLMs or BERT models.
- Background in building batch data processing pipelines using tools like Apache Spark, Hadoop, EMR, MapReduce, Airflow, Dagster, or Luigi.
- An analytical and data-driven mindset, with the ability to measure success in complex ML/AI products.
- Proven experience deploying machine learning models or data-derived artifacts into production at scale.
- Track record of leading technical architecture discussions and driving technical decisions.
- Ability to write understandable, testable, and maintainable code.
- Strong communication skills, capable of explaining complex technical concepts to diverse audiences.
Bonus Points
- Expertise in conversational agentic systems.
- Expertise in retrieval systems and search algorithms.
- Familiarity with vector databases and embeddings.
- Knowledge of using multiple data types in RAG (Retrieval-Augmented Generation) solutions.
- Broad experience across NLP, ML, and Generative AI capabilities.
Key Skills/Competency
- Machine Learning Engineering
- Artificial Intelligence (AI)
- Generative AI / LLMs
- Python / Scala / Java
- PyTorch / TensorFlow
- Data Pipelines (Spark, Airflow)
- Conversational AI
- Search & Retrieval Systems
- Production ML Systems
- System Design & Architecture
How to Get Hired at Slack
- Research Salesforce & Slack's culture: Study their mission, values, recent news, and employee testimonials on LinkedIn and Glassdoor. Understand the "Agentforce" vision.
- Tailor your resume & cover letter: Customize your application to highlight relevant Machine Learning, AI, and data pipeline experience. Use keywords like "LLM fine-tuning," "generative AI," and "production ML systems" that resonate with the Software Engineer, Machine Learning role.
- Showcase technical proficiency: Prepare to discuss your experience with Python, Scala, PyTorch, TensorFlow, and large-scale data processing tools like Spark. Emphasize projects where you deployed ML models to production.
- Master behavioral interview questions: Practice articulating your problem-solving approach, teamwork, and how you drive business impact with ML solutions, aligning with Slack's practical, results-oriented ML team.
- Network strategically: Connect with current Slack or Salesforce engineers on LinkedIn to gain insights and potentially referrals for the Software Engineer, Machine Learning position.
Frequently Asked Questions
Find answers to common questions about this job opportunity
Explore similar opportunities that match your background