An Android expert who will help millions of people learn on a mobile device.
Duolingo software engineers develop next-generation education technology that changes how over 300 million people around the world learn. 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.
* 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
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