Uncubed
   

Staff Software Engineer, Android

Slack, Toronto, Canada

Slack's cloud-based collaboration tools and services are used worldwide.


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. You know your way around the View hierarchy and are eager to partner with Product and Design to craft efficient, performant, and awesome user experiences. You like building for the long term and value patterns and structures that allow for maximum flexibility in a constantly evolving product.

You excel in leading others and mentoring and growing other Android engineers is something you are passionate about. You set a high bar for the technical design and code quality of your team. You demonstrate exceptional ownership of not only the area of your team, but across Slack’s entire Android codebase. You have a “can do” attitude and nothing is beneath you or outside your responsibilities because you do what it takes to deliver the highest quality code and the most impactful features. 

As an Android Product Engineer on the Activation Team, you will work with a cross-disciplinary team, building out features that directly impact our users. The Activation Team is part of the Expansion organization, a critical part of Slack’s self serve business. Our features bring new users to Slack and then help them on their journey to become successful and active users of Slack.

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 7+ years of work experience
  • Experience developing with Kotlin 
  • 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

Bonus Points

  • 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)

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?

 

About Slack

Empathy. Courtesy. Playfulness. Craftsmanship. Solidarity — these are some of the values we live by, as a company. We work by them, too: we’re building a platform and products we believe in — knowing there is real value to be gained from helping people, wherever they are, simplify whatever it is that they do and bring more of themselves to their work.

We’re building a strong, diverse team of curious, creative people who want to find a purpose in their work and support each other in the process. We work hard and we play to win… within normal business hours. And then we go home.

That balance is important: It enables us to truly do the best work of our lives. As a result, we create a place where all kinds of work happens — and happens well — all while working alongside people we respect and admire.

Want to learn more about Slack? Visit Slack's website.