Staff Android Engineer

3+ months agoSan Francisco, CA
About Quizlet:

Inspired by our belief that anyone can learn anything and powered by our own curiosity, we build the smartest tools we can imagine to help students learn.  

Quizlet is the popular, global learning platform and app that millions of students, teachers and everyday people use to study any subject imaginable for school, work or as part of their personal interests -- including two-thirds of high school students and half of all college students in the US. Combining cognitive science and machine learning, Quizlet guides students through adaptive study activities to confidently reach their learning goals. We’re on track to become the undisputed leader in user-generated learning content and engagement, at the scale of YouTube.  

Valued at $1 billion, Quizlet has raised over $60 million in venture capital from investors including Icon Ventures, Union Square Ventures, General Atlantic, Costanoa Ventures, Owl Ventures, and Altos Ventures.  

To serve our global community of learners, our teams tackle lofty technical challenges and design for use cases across cultures and languages. We work hard, act like owners, and collaborate every chance we get. We’re energized by the potential to power more learners through multiple approaches and various tools.

With offices in major cities around the world and ambitious plans for expansion, we remain grounded in our commitment to our mission of helping people learn. We’re looking for new team members who crave a challenge and want to help us continue amplifying our impact. 

About the Team:

The Android team is focused on building the best app to help people learn on their Android devices. The team works with other product teams across the organization to ensure we’re building mobile-first experiences that allow students to get the most out of Quizlet on their Android phones and tablets.

We collaborate with Product Managers, Designers, Data Analysts, iOS Engineers, and Web Engineers from other teams to ensure their vision aligns with the way Android does things. 

As a platform team, we ensure the Android application is robust, defect-free, and fast. Besides implementing new features, we also ensure our tech-debt is kept in check, and plan to refactor to modernize the older parts of our codebase.

About the Role:

As a member on the Android team, an average day likely starts by working on what's the highest priority for your current area of focus. We follow the Kanban process, so you then join the rest of the team at 10 AM Pacific to walk the board and help communicate status on any of your stories that are still in-progress, highlighting anything that might be getting in your way or in the way of the team.

Some days, you’ll meet with the team to plan and discuss what goals the team can accomplish in the next couple of weeks and what will need to be done to accomplish them. Similarly, after every 2 weeks, you’ll meet for a team retrospective to discuss what has gone well and what could be improved in our development process.

Typically, the team aims to schedule meetings between 10 am and 2 pm, so that you have blocks of uninterrupted time in the morning and the afternoon to focus. Though Wednesdays are our no-meetings day, so you can expect to have a whole day to really push work forward!

During the uninterrupted time, typically you get deep into coding and building the things you researched and estimated. Another good use of this time is to set up a pair-programming session with another engineer that has experience in the codebase you’re working on, or that wishes to learn more about that part of the codebase.

You can also use that time to research a project and identify what will need to be groomed with the product manager, or what questions you need to ask the designer, or how does the project need to be structured to work with our data along a data scientist, or what specific events will the data analyst need to answer our experiment hypothesis.

This research allows you to understand the product requirements and create an engineering plan to later estimate with a larger group of Android engineers to ensure your approach is sound and others are familiar with your decisions, and ultimately to help you estimate the work so it can be scheduled at a better time. Once you code the feature and build the tests to ensure it works as designed, you create a pull request where you can help other engineers learn how you built the new feature or fixed a defect, and get feedback to grow as a developer.

Outside the team process and meetings, the Android team also meets biweekly and discusses upcoming projects and progress being made on the platform from the other teams with Android engineers.

In this role, you will:

  • Collaborate with Android engineers, product managers, designers, data scientists, and other engineers to plan, develop, test, release features
  • Contribute and extend our Kotlin multi-platform codebase to share logic and features across our iOS and Web platforms
  • Refactor Java and Kotlin based legacy code to modernize and improve the developer experience
  • Lead and/or contribute to projects that improve Quizlet’s Learning Assistant and study modes
  • Contribute, propose, and lead Android platform investment projects each quarter that aim to improve the productivity of Android engineers as well as the quality of the codebase

What you bring to the table:

  • 6+ years of experience building Android mobile applications
  • Excellent written and oral communication skills
  • Experience leading projects
  • Proficiency with Kotlin and/or Java
  • Experience with CS fundamentals, software design patterns, and data structures
  • Proficiency writing unit tests and testable code
  • Enjoy collaborating with a cross-disciplinary team to solve problems through experimentation
  • Experience building high-quality native apps, ideally published on Google Play
  • Experience using popular Android libraries for simplifying or improving network, database, and UI components
  • Excitement about the impact your work could have on the lives of students and teachers around the world every day

Bonus points if you:

  • Teach, tutor, or mentor others at work or outside of work
  • Advocate architecture improvements to multidisciplinary stakeholders
  • Look for ways to add automated unit and integration tests using JUnit, Espresso, or Robolectric
  • Have contributed or improved continuous integration processes with systems like CircleCI or Jenkins
  • Gained proficiency with RxJava, Dependency Injection, Retrofit, MVVM, OrmLite/Room
  • Keep yourself up to date with the latest Android ecosystem news and libraries

Benefits & Perks:

  • Employees are eligible to participate in the Quizlet stock option program
  • Collaborate with your manager and team to create a schedule that ensures a high level of productivity (creating that ideal work/life balance)
  • We offer 20 days of paid vacation (and we expect you to take them!)
  • Comprehensive health coverage (Anthem, Kaiser), HSA, FSA, dental and vision (Guardian), competitive salary, 401(k), and equity
  • Other perks include: Wellness stipend, pet insurance offerings, annual learning and development stipend, commuter subsidy, and 40 hours of annual paid time off to participate in volunteer programs of choice
  • In addition, we offer access to mental health resources, fertility education, fertility preservation, IVF, genetic testing, surrogacy, adoption, and more

We strive to make everyone feel comfortable and welcome! 
We work to create a holistic interview process, where both Quizlet and candidates have an opportunity to view what it would be like to work together, in exploring a mutually beneficial partnership.
We provide a transparent setting, that gives a comprehensive view of who we are!  

In Closing:

We hope you are excited about everything you read so far. We highly encourage you to apply for this position, even if you feel you do not meet all the requirements. Quizlet is always looking for amazing folks that believe in our mission and can contribute to our team in various ways - not merely candidates that fit a certain mold.

We have a bias for action, take initiative, and hustle to deliver results. We make informed decisions whenever possible but are unafraid to take calculated risks on great ideas to promote learning. We embrace challenges and see effort as the path to mastery. We’re constantly seeking opportunities to learn and we embrace curiosity. Quality matters at Quizlet, and we hold the bar high on everything we do.
We treat each other with honesty and respect, encourage vigorous debate, and seek critical feedback. We value diversity, humility, transparency, and collaboration as the best paths to our success — as individuals, as a team, and as a company.

Quizlet’s success as an online learning community depends on a strong commitment to diversity, equity, and inclusion. We are actively working to build a team that is representative of the diverse communities we serve, and an open, inclusive work environment where all employees can thrive. As an equal opportunity employer and a tech company committed to societal change, we welcome applicants from all backgrounds. Women, people of color, members of the LGBTQ+ community, individuals with disabilities, and veterans are strongly encouraged to apply. Come join us!

To All Recruiters and Placement Agencies:
At this time Quizlet does not accept unsolicited agency resumes and/or profiles. 
Please do not forward unsolicited agency resumes to our website or to any Quizlet employee. Quizlet will not pay fees to any third-party agency or firm nor will it be responsible for any agency fees associated with unsolicited resumes. All unsolicited resumes received will be considered the property of Quizlet.

Job ID: d4081657-078e-4562-b6ed-b4ef7d375831