Staff Software Engineer, Android, Search and Discovery
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 dp. 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 Senior Android Product Engineer in the Search team, you will be one of the founding members of the Search mobile team in NYC. You will work with a cross-disciplinary team, using your extensive knowledge of building applications to make the Slack experience on android be the best it can possibly be. Your focus will be on search, working to make the search experience on mobile as delightful as possible. While the position is based in New York, you will be working with product and design locally and your mobile counterparts in San Francisco.
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
- 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 is a layer of the business technology stack that brings together people, data, and applications – a single place where people can effectively work together, find important information, and access hundreds of thousands of critical applications and services to do their best work. From global Fortune 100 companies to corner markets, businesses and teams of all kinds use Slack to bring the right people together with all the right information. Slack is headquartered in San Francisco, CA and has ten offices around the world. For more information on how Slack makes teams better connected, visit slack.com.
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.