Staff Software Engineer, AV
Slack is looking for a Staff Backend Engineer to build our next generation of audio / video communication and collaboration features. Our current suite of A/V features already serves millions of users each day. We’re exploring new ways to help our existing and future users get the most out of remote collaboration. In this role you’ll be working with a very talented team of engineers, designers and product owners to make this happen.
The business world is increasingly distributed, and reliant more than ever on A/V communication platforms to keep us connected. But existing tools are struggling to fill this gap - we’re all feeling the “fatigue.” We at Slack believe that there is tremendous opportunity to reimagine how A/V fits into our working lives.
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?
What you will be doing
- Collaborate with engineering, design and product owners to build features for creating playing and streaming audio/video recordings.
- You’ll produce high-quality results by leading or contributing heavily to large cross-functional projects that have a significant impact on the business.
- 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 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 professionally for 8+ years.
- 1+ years building applications heavily integrated with adaptive-bitrate technologies (e.g. HLS, mpeg-dash)
- You have experience with functional or imperative programming languages -- e.g., PHP, Python, Ruby, Go, C, or Java.
- 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 related field, or equivalent training, fellowship, or work experience.
Bonus points if you have experience with
- A/V transcoding tools (e.g. ffmpeg) in a production environment
- Cross-device video content delivery