Scribd Remote US Canada Full-time

At Scribd (pronounced “scribbed”), our mission is to spark human curiosity. Join our team as we create a world of stories and knowledge, democratize the exchange of ideas and information, and empower collective expertise through our three products: Everand, Scribd, and Slideshare. 
We support a culture where our employees can be real and be bold; where we debate and commit as we embrace plot twists; and where every employee is empowered to take action as we prioritize the customer.
We love collaborating and investing time in our Scribd community, and we create intentional in-person moments with each other to build culture and connection. And, it is through our flexible work benefit – Scribd Flex – that we enable employees, in partnership with their manager, to choose the work-style that best suits their individual needs and preferences.
About the role
As a Staff Android Engineer, you will play a pivotal role in designing, developing, and maintaining our Android application. You will be responsible for setting the technical direction, mentoring junior engineers, and ensuring the implementation of best practices. Your expertise in the latest Android technologies and your leadership abilities will be crucial in driving our projects to success. You will work closely with our product and design teams to understand the requirements and translate them into delivering captivating customer experiences. Must be a fast learner and ready to contribute without requiring much ramp-up time.

Responsibilities

  • Lead the architecture, design, and development of advanced native Android applications.
  • Collaborate with cross-functional teams to define, design, and ship new features.
  • Mentor and guide junior and mid-level engineers, fostering a culture of learning and growth.
  • Conduct code reviews and ensure adherence to coding standards and best practices.
  • Stay up-to-date with the latest industry trends and technologies to ensure our applications remain cutting-edge.
  • Ability to understand and decompose complex codebases, and refactor them as necessary.
  • Contribute to strategic planning and decision-making at the technology and product levels.
  • Ability to troubleshoot hard-to-reproduce problems including in the areas of performance and responsivenessEnsure the continuous integration and delivery of Android applications.
  • Unit-test code for robustness, including edge cases, usability, and general reliability.
  • Continuously discover, evaluate, and implement new tools to maximize development efficiency.

Requirements

  • Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field.
  • 8+ years of experience in Android development with a strong understanding of the Android SDK.
  • Strong foundation of Kotlin programming language.
  • Experience with Jetpack Compose, Material Design, Compose Navigation, Kotlin Coroutines, and flows.
  • Experience with Dagger or Hilt for dependency injection.
  • Knowledge of architectural patterns like MVVM or MVI.
  • Experience with Android development tools like Android Studio, Gradle, and Git.
  • Image loading with Coil, persistence with Room DatabaseExperience with automated testing frameworks such as Espresso or Robolectric.
  • Familiarity with RESTful APIs to connect Android applications to back-end services.
  • Ability to diagnose performance and memory leak issues.
  • Understanding of Google’s Android design principles and interface guidelines.
  • Familiarity with Git and Continuous-Integration tools.

Nice to have

  • Experience with Media3 / Exoplayer
  • Auth0 authentication framework