Software Engineer, Android
We're looking for people who are passionate about creating great Android applications.
You've been around for a few API levels and you know how to delight Android users. You are passionate about architecture, data models, and high performing, scalable applications. You know your way around databases and networking and are eager to partner with android Product Engineers to craft efficient, performant, and delightful foundational frameworks. You like building for the long term and value patterns and structures that allow for maximum flexibility in a constantly evolving product.
As an Android Infrastructure Engineer, you will work with a cross-disciplinary team, using your extensive knowledge of building applications across a wide array of Android devices to make the Slack experience on Android be the best it can 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, and 2+ years of work experience
- Extensive understanding of Android framework components and their respective lifecycles
- Strong computer science fundamentals: data structures, algorithms and programming languages
- Experience working closely with product teams, designers, and other developers to create a truly delightful mobile experience
- Current and detailed knowledge of the capabilities of different Android API levels
- Experience developing highly performant Java code and view layouts and the ability to diagnose performance bottlenecks
- A disciplined approach to development, testing, documentation and code structure in a team environment
- A familiarity with the Android tool ecosystem for development, testing, debugging, and performance benchmarking
- An excellent understanding of best practices for concurrency and threading
- 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
- A passion for building and maintaining great open source projects or otherwise contributing to the Android community
- Experience with reactive programming (e.g. RXJava)
- Experience developing with Kotlin
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?
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.