Be a technical lead throughout the development lifecycle, from scoping, planning, conception, design, implementation, and testing, to documentation, delivery, and maintenance
Develops software solutions by studying information needs, conferring with users, studying systems flow, data usage, and work processes, investigating problem areas, following the software development lifecycle
Collaborates with Engineering Managers and Mobile Architects on engineering design and implementation
Decomposes and delegate work to junior engineers
Collaborates with backend engineers to efficiently build out new API for mobile apps
Researches and promotes internal best practices and coding conventions to write and execute tests for your own code, including creating comprehensive automated tests
Contributes to System Architecture documentation
Develop shared tooling and SDKs for use by multiple teams across the company
Takes an active interest in mobile application quality across all product lines
Identifies and pragmatically addresses technical debt
Requests constructive feedback for designs early in the process
Communicates successfully across departments with large teams and many personalities
Provides mentorship for Software Engineers and participates in interview panels to hire new Software Engineers
Assists in removing obstacles for the team to yield successful sprints
Monitors health of app releases and responds to any mobile escalations
Performs peer code reviews to ensure quality of the codebase
Occasional on-call duty rotation to respond to after-hours mobile incidents
Updates job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations
Works effectively with multiple projects and departments
Requirements
Bachelor's Degree in Computer Science or equivalent
Expertise in the industry, with experience in developing mobile applications, web, and/or large-scale enterprise products
Mobile Development Experience: Kotlin, Java, and Android Studio
Strong knowledge of Material Design and Android Architecture components
Experience with package management and app deployment pipelines
Deep experience with standard mobile architectures (MVC, MVVM, MVP, etc)
Expertise in building complex user interfaces
Skillful at writing effective unit and behavioral tests
Experience with testing frameworks such as junit, Espresso and/or Robolectric
Experience with software development processes (Agile, Scrum, Kanban, etc)
Familiar with git branching strategies and semantic versioning
Knowledge of mobile continuous integration best practices and tooling
Skillful at reviewing new feature impact on an application and recognizing potential risks.
Tech Stack
Android
Java
JUnit
Kotlin
Benefits
ClassPass offers thousands of fitness and wellness experiences worldwide