Android Application Infrastructure Engineer
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.
- 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
Slack is the collaboration hub of choice for companies of all sizes, all across the world. By using Slack, they ensure that the right people are always in the loop, that key information is always at their fingertips, and new team members can get up to speed easily. With Slack, teams are better connected.
Launched in February 2014, Slack is the fastest growing business application ever and is used by thousands of teams and millions of users every day. We currently have nine offices worldwide, in San Francisco, Vancouver, Dublin, Melbourne, New York, London, Tokyo, Toronto and Denver.
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.