Snap Mobile logo

Senior Software Engineer, Mobile Apps (Android)

Snap Mobile
Full-time
Remote
Worldwide

About Snap! Mobile, Inc: 

Snap! Mobile is the essential technology platform for school athletics and activities. To date, Snap! Raise, our industry-leading fundraising solution, has raised more than $800 million dollars for over 100,000 groups and teams through over 12.5 million participants and donors. In addition to the Snap! Raise fundraising platform, Snap! Mobile further supports schools, groups, and teams with its other solutions: FanX (communication and fan engagement in a custom app), Snap! Spend (full-service money management), Snap! Store (year-round access to spirit wear), Snap! Manage (integrated scheduling, rostering, and registration), Snap! Insights (dashboard for custom financial reporting and fundraising oversight), and Snap! Sponsor (marketplace for local sponsors).

About Snap! Mobile, Inc:

Snap! Mobile, Inc. is the leading online fundraising and e-commerce platform servicing schools, teams, clubs, and booster clubs to help them get the resources they need to build the next generation of leaders. There are a hundred ways you can join us in creating a better tomorrow. Donate to a program. Buy a T-shirt. Become part of our team. Whatever it is, it will be the most important, meaningful thing you can do, because youʼll be making a difference in the life of a kid. And every kid needs a champion.

About Us

Our applications are built primarily using Node.js, TypeScript (React/Vue/Svelte), iOS/Android/React Native (mobile applications), and Postgres, with some legacy systems on Ruby on Rails. We utilize AWS and deploy to production on average 10 times per day. We are focused on Continuous Delivery and CI/CD pipelines. We value being agile over doing "Agile."

This is a Full-Time, Remote position.

Our Team Values:

Team Work - We support and help one another to achieve our goals together 
Curiosity - We push ourselves to always learn and improve
Initiative - We take ownership of our work from start to finish
Drive and Urgency - We motivate ourselves and those around us to push forward 
Honesty - We value direct, open, and respectful communication
Integrity - We do as we say; We keep our commitments

The Senior Software Engineer will help build out our vision through the development and ownership of our Android Mobile Apps. The Android applications are built primarily in Java, with some Kotlin. The backend system uses an internal API to interact with the Snap! platform. This role requires an understanding of mobile development and release cycles. 70% of the time is dedicated to building and improving customer interactions with our product. 20% of the time is dedicated to planning, documenting, and working with various domains. 10% of the time will be dedicated to helping other developers and strengthening a positive team culture.

Responsibilities:

  • Build new and support existing Android applications
  • Build new UI features, support existing ones, and create A/B experiments
  • Build unit tests and end-to-end tests to ensure the quality of work
  • Support RESTful APIs to connect Android applications to back-end services
  • Contribute to product documentation with product managers
  • Document endpoints as needed, including writing self-documenting code
  • Work with developers from across the organization to understand and document their challenges
  • Estimate internally in the dev pod to develop a timeline the pod can commit to
  • Support service change management and uptime
  • Provide technical and architectural guidance to more junior developers
  • Pair program with more junior developers to help drive projects across the finish line
  • Setting best practices and standards for the team. Maintain a positive and respectful culture

Qualifications:

  • 5+ years of professional experience building Android applications
  • Proficient with Java or Kotlin
  • Understanding of Android design principles and interface guidelines
  • Experience integrating third party SDKs
  • 4+ years of professional experience working in a team to achieve goals together
  • 3+ years experience working with Jira or similar project management software to document and break down development work
  • Knowledge of Serverless Framework and experience using various AWS services (lambda, ECR, SQS, etc.)
  • Bachelor's degree in Computer Science or similar field OR equivalent work experience
  • A clear understanding of the full lifecycle of software development
  • Strong knowledge of security best practices, and the ability to deliver quality development work
  • Strong communication and writing skills

Our Primary Tech Stack:

  • Java, Kotlin, React Native, Swift, Objective-C, Ruby
  • NodeJS, JavaScript, TypeScript 
  • React, Vue, Svelte frontends
  • WebComponents via StencilJS
  • GraphQL APIs + GraphQL Federation via API Gateway
  • Kubernetes, Docker, Helm
  • GitHub CI/CD with a Continuous Delivery Model
  • Postgres, Redis, DynamoDB, Kafka, MongoDB, Firebase
  • AWS Cloud Services
  • Distributed Service and Frontend Architecture
  • Apple App Store Connect, Apple Developer, Google Play Store

Snap! Mobile is proud to offer the following benefits:

  • Medical, Dental, Vision
  • 401K with a 4% match from the company
  • Unlimited Vacation
  • Professional development opportunities 
  • Monthly Wellness Classes (virtually!)