Senior Software Engineer, Android
Build your engineering career and help us shape the future of education.
Duolingo is the most popular language learning application in the world, with over 500 million users and hundreds of billions of data points.
We are passionate about educating our users, making fact-based decisions, and finding elegant solutions. If this sounds like you, then come help us build the next-generation learning company!
Duolingo software engineers develop next-generation education technology. We’re looking for engineers who bring fresh ideas from all areas in computer science, including natural language processing, machine learning, large-scale system design, and iOS & Android mobile app development.
As an Android software engineer, you will work on a specific project critical to Duolingo’s needs, with opportunities to switch teams and projects as our fast-paced startup grows and evolves.
You will develop applications primarily in Kotlin and using the Android SDK. We need our engineers to be versatile, display leadership qualities and be enthusiastic to tackle new problems across the full-stack as we continue to innovate.
The Beijing office is Duolingo’s first office outside the United States. This is a unique opportunity to become part of the founding team of Duolingo’s China office and work with other talented Duolingo software engineers, designers, product managers, and learning scientists globally.
- Collaborate on software projects with product design and backend aspects
- Develop, release, and maintain native Android applications
- Manage individual project priorities, deadlines and deliverables
- A Bachelor’s degree in Computer Science or related technical field
- A solid foundation in computer science with strong competencies in data structures, algorithms, and software design
- Programming experience in Java
- Experience in mobile application development.
- Experience in China Android ecosystem.
- Relocation to Beijing, China. This position is based in Beijing.
- Strong spoken and written English skills.
Exceptional candidates will have :
- 5 years of programming experience in Java
- Considerable programming experience using Android Studio and the Android SDK
- Proficient in the following technologies : Java language and related frameworks, multi-threading and memory management specific to mobile devices, understanding of caching mechanisms
- Experience designing clean and maintainable APIs
- Experience with multithreaded programming
- Experience writing unit tests and testable code