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. Moving 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.
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!
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.
- At an advanced level in Android application development (5+ years of dedicated Android experience), with architect-level involvement in at least one large production app that has been published in the Play Store.
- Deeply knowledgeable about mobile 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.
- 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.
- 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.