Senior Android Engineer
Posted: Jun 23, 2020
**About GooseChase** GooseChase is a rapidly growing, fully remote web and mobile platform for creating and facilitating scavenger hunts. Through our website, organizers create custom "hunts" for anything from on-boarding new employees, touring museums, engaging at festivals, educating students and more! Participants can compete as teams or individuals to submit photo/video, text or GPS based missions through our native Android and iOS apps. The key technologies we use are: * **Android App**: Java using Realm for local data storage. Open to moving to Kotlin going forward. * iOS App: Primarily Objective-C (UI with PureLayout and Layout Anchors), with a bit of Swift and Realm for local data storage. Looking to move towards Swift going forward. * Front-End: Typescript with React (Redux), HTML, SCSS & Webpack. * Back-End: Django, REST (Tastypie), Task Queuing (Celery, Redis, RabbitMQ), Postgres, Nginx, Gunicorn. Because of the flexibility and ease-of-use of our product, we have successfully powered game types ranging from festival-wide competitions, with thousands of dollars in prizes, to K-12 classroom lessons on government types, featuring gummy bears to help demonstrate the differences between a dictatorship and a democracy! Seeing the different ways the product can be used, and the joy it creates in those who participate, is an incredibly rewarding experience & is something we’d love to share with you as well! You'll also be having a major impact as our apps have been responsible for ~10M submissions in the last year alone! **Responsibilities** As Senior Android Developer, you’ll have the opportunity to create new, exciting features for our game participants. You will work directly with our design and back-end teams to bring feature mock-ups to life, delighting our users and ensuring the delivery of high-quality code that focuses on reliability and performance. Specific responsibilities include: * Being familiar and up-to-date with the platform functionality (online game manager & participant mobile apps). * Working with our customer success & design teams to understand the motivations for a feature & coding it with those objectives and the user's experience in mind. Put another way, we want you to know why you are doing what you’re doing! * Staying up to date with the relevant Android guidelines and best practices, as well as relevant SDK changes and common libraries. * Developing the mobile components for new features that will help game participants play games more effectively while delighting them in new and unexpected ways. * Participating as a member of the development team - sharing best practices & learnings so the rest of the team can improve. * Working under limited supervision with significant latitude for the use of initiative and independent judgment. * At least base level experience with the iOS platform to support other engineers. **Job Requirements** The candidate for this position must be: * At an advanced level in Android application development, with architect-level involvement in at least one large production app that has been published in the Play Store. * Deeply knowledgeable about Android programming best practices and how to implement them in an existing project. * Able to take ownership of work, maintaining high standards of performance, reliability & security. * An excellent communicator, problem solver, and creative thinker. * Located within, or has regular working hours within the GMT-8 (PST) to GMT+2 (CEST) time zones to ensure sufficient overlap with our distributed product team. Although not strictly required, it would be a massive plus if the candidate had past experience: * Working with the platform-specific camera APIs to capture and display photos/videos. * Implementing automated testing into legacy applications. * Participating in smaller teams, especially in a remote setting. **Perks** * Fully remote work - work whenever/wherever/however you want. * Competitive compensation & benefits, including stipends for equipment, co-working spaces, etc. * Join a company that is profitable & growing quickly, but still prioritizes doing the right thing over everything else. * Significant learning opportunities - whether it’s learning about other parts of the business or taking on more responsibility, we expect everyone on the team to be continually looking to grow.