Staff Software Engineer, Android
We're looking for people who are passionate about building the foundational components that underpin great Android applications. Android Application Infrastructure Engineers enable Android Product Engineers to build new features quickly, safely, and with confidence.
You've been around for a few API levels and you know how to delight Android users. As an application infrastructure engineer, you will find yourself looking deeper than the immediate bug or problem in front of you and towards how you can design a system that prevents the issue from happening in the first place. Your code will be the foundation for the core features of the Slack Android client and you will constantly be thinking of ways to make the app perform better for Slack’s users. Use your extensive knowledge of building and scaling applications across a wide array of Android devices to make the Slack experience on Android be the best it can possibly be.
Slack on Android is used by millions of people every week - we need engineers who want to make that experience as enjoyable as possible.
What you should have
- Bachelor's degree in Computer Science, Engineering or related field, or equivalent training, fellowship, or work experience
- Extensive understanding of Android framework components and their respective lifecycles
- Experience with complex API and library design and implementation, with an emphasis on modularity
- Strong computer science fundamentals: data structures, algorithms and programming languages
- An excellent understanding of best practices for networking, concurrency and threading
- Current and detailed knowledge of the capabilities of different Android API levels
- A disciplined approach to development, testing, documentation and code structure in a highly collaborative team environment
- A familiarity with the Android tool ecosystem for development, testing, debugging, and performance benchmarking
- At least four years of engineering experience, a large portion of which in a team environment
- A constant desire to improve, learn more, and take things higher
- Experience using Slack and a keen interest in making it better
- Experience with reactive programing (RXJava)
- Experience developing with Kotlin
- Experience with advanced debugging tools for memory and performance issues
- A passion for building and maintaining great open source projects or otherwise contributing to the Android community
- Experience with web development, distributed systems and parallel processing
Back to top