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’ve got an eye for the beautiful Android design our users expect and an attention to detail down to the very last density independent pixel. You know your way around the View hierarchy and are eager to partner with Product and Design to craft efficient, performant, and delightful user experiences. 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 Product 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 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.
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 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
- Experience building design systems to create reusable and scalable components
- A passion for creating accessible applications
- 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 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.