Android Developer
- Montreal, QC, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Apply by
- Experience
- 5+ years of software engineering experience with strong hands-on experience building production-grade native Android applications.
- Posting language
- English
- Posted
Original job description
About Highspring
Highspring is a next-generation consulting and professional services firm. We deliver modern, agile, and forward-thinking solutions to clients across North America, including organizations in banking, insurance, financial services, and technology. At Highspring, we believe in empowering our people, fostering technical leadership, and delivering meaningful business impact.
The Opportunity
We are looking for a Senior Android Developer to join our engineering team and contribute to client engagements focused on building, enhancing, and modernizing high-quality native Android applications.
In this hands-on role, you will help address technical debt and improve the stability, maintainability, performance, scalability, and testability of existing mobile applications while continuing to deliver business value. You will collaborate closely with architects, developers, product teams, designers, QA, security, DevOps, and client stakeholders to modernize legacy components and establish sustainable Android engineering practices.
This opportunity is well suited for an experienced Android engineer who enjoys solving complex technical challenges, applying clean architecture principles, strengthening automated testing, and leaving applications in a better state than they found them.
What You’ll Do
- Act as a senior Android developer on client engagements, delivering mobile capabilities aligned with project scope, architecture guidance, timelines, and quality expectations.
- Design and implement production-grade native Android features end-to-end using Kotlin and modern Android development practices.
- Modernize existing Android applications by reducing technical debt, refactoring legacy components, improving modularity, and strengthening testability.
- Apply clear separation of concerns, dependency injection, appropriate design patterns, and maintainable architecture.
- Build user interfaces using Jetpack Compose and/or XML-based views based on project requirements and established standards.
- Integrate applications with REST and/or GraphQL APIs, authentication and authorization flows, analytics, push notifications, secure storage, and offline capabilities.
- Write meaningful unit tests for business logic, ViewModels, use cases, repositories, and other critical application components.
- Contribute to integration, UI, regression, and other automated testing practices where appropriate.
- Use dependency injection, clean interfaces, predictable state management, and test doubles to design applications for testability.
- Participate in code reviews and provide constructive feedback focused on readability, maintainability, security, performance, and test coverage.
- Diagnose and resolve performance issues involving application startup, memory usage, rendering, networking, and battery efficiency.
- Support stable releases through effective defect identification, observability, edge-case validation, and collaboration with QA and DevOps.
- Work within CI/CD pipelines supporting automated builds, tests, quality gates, and release processes.
- Support Google Play release activities, including versioning, signing, feature flags, staged rollouts, and rollback strategies where applicable.
- Collaborate with product, design, security, architecture, QA, business, and other engineering teams to clarify requirements and identify delivery risks early.
- Contribute to estimation, technical analysis, sprint planning, and delivery within Agile teams.
- Communicate clearly with client stakeholders regarding progress, blockers, technical trade-offs, and quality considerations.
- Mentor developers on Android fundamentals, Kotlin, architecture, design patterns, testing, and maintainable engineering practices.
- Promote continuous improvement through pairing, code reviews, technical documentation, retrospectives, reusable examples, and codebase health initiatives.
What You Bring to the Table
- Bachelor’s degree in Computer Science, Engineering, a related discipline, or equivalent professional experience.
- 5+ years of software engineering experience with strong hands-on experience building production-grade native Android applications.
- Strong expertise in Kotlin, Android SDK, Android Studio, Gradle, and modern Android engineering practices.
- Solid understanding of Android fundamentals, including application lifecycle, permissions, storage, networking, background work, threading, debugging, and release constraints.
- Experience with modern Android architectures, including MVVM, Clean Architecture, modularization, repository and use-case patterns, and dependency injection.
- Strong experience writing unit tests and designing code for testability.
- Experience integrating mobile applications with REST and/or GraphQL APIs, authentication flows, analytics, push notifications, and secure storage.
- Familiarity with Android CI/CD, automated testing, code-quality tooling, and release pipelines.
- Strong communication and collaboration skills, including comfort working directly with client stakeholders.
- Experience working in Agile teams and contributing to estimation, planning, delivery, and continuous improvement.
- A strong commitment to software craftsmanship, maintainability, reliability, security, and engineering quality.
- Experience mentoring other developers and sharing practical engineering guidance.
Core Skills Required
- Languages: Kotlin
- Android: Android SDK, Android Studio, Gradle
- Architecture: MVVM, Clean Architecture, modularization, repository/use-case patterns
- Dependency Injection: Hilt and/or Dagger
- Android Jetpack: ViewModel, LiveData/Flow, Room, WorkManager, Navigation
- UI: Jetpack Compose and/or XML-based Android views
- Testing: JUnit, MockK and/or Mockito, Turbine, coroutine testing, test doubles
- Integration: REST APIs and/or GraphQL, authentication and authorization, analytics, push notifications
- Quality: Unit testing, integration testing, UI testing, regression coverage, code reviews
- Delivery: Git-based development, CI/CD, automated builds and tests, release pipelines
- Engineering Practices: Performance optimization, security, accessibility, observability, maintainable architecture
Additional assets include:
- Production experience with Jetpack Compose, including state management, UI testing, accessibility, and performance optimization.
- Experience establishing or improving mobile architecture standards, shared Android libraries, reusable components, or design systems.
- Knowledge of mobile security practices, including secure storage, secure communications, certificate pinning considerations, and root-detection approaches.
- Experience with crash reporting, structured logging, mobile APM, and production monitoring.
- Experience with Espresso, Compose UI Testing, Appium, or similar UI automation frameworks.
- Experience delivering applications within banking, insurance, healthcare, financial services, or other regulated environments.
- Experience collaborating across Android, iOS, React Native, backend, QA automation, DevOps, and architecture teams.
Our Stack
Depending on the client engagement, you may work with:
- Language: Kotlin
- Platform: Native Android
- UI: Jetpack Compose, XML-based views
- Architecture: MVVM, Clean Architecture, modular application architecture
- Android Jetpack: ViewModel, Flow/LiveData, Room, WorkManager, Navigation
- Dependency Injection: Hilt, Dagger
- Networking: REST, GraphQL
- Testing: JUnit, MockK, Mockito, Turbine, coroutine testing, Espresso, Compose UI Testing
- Build & Delivery: Gradle, CI/CD pipelines, automated quality gates, Google Play release processes
- Engineering Focus: Security, observability, accessibility, performance, maintainability, and automated testing
Why Join Highspring
- Work with a dynamic and growing team of experienced consultants and developers.
- Contribute to high-impact technology initiatives for leading organizations.
- Solve meaningful modernization challenges and help improve the long-term health of production applications.
- Grow your expertise through continuous learning, certifications, and training opportunities.
- Be part of a collaborative culture that values technical leadership, engineering quality, and knowledge sharing.
More about this job
Responsibilities
Develop and modernize native Android applications using Kotlin, improving architecture, maintainability, performance, security, and test coverage. Collaborate with client and cross-functional teams on delivery, releases, quality practices, and technical guidance, while mentoring other developers.
Requirements
Requires a bachelor’s degree in computer science, engineering, a related discipline, or equivalent professional experience, plus 5 or more years of software engineering experience building production-grade Android applications. Candidates should have strong Kotlin and Android expertise, experience with modern architecture, testing, API integrations, CI/CD, Agile delivery, and communication with client stakeholders.
Skills
- Kotlin
- Android SDK
- Android Studio
- Gradle
- MVVM
- Clean Architecture
- Modularization
- Dependency Injection
- Jetpack Compose
- REST APIs
- GraphQL
- Unit Testing
- CI/CD
- Mobile Security
- Performance Optimization
- Agile Development
Benefits
- Continuous Learning
- Certifications
- Training Opportunities
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Consulting
- Engineering
Keywords
- Kotlin
- Android SDK
- Android Studio
- Gradle
- Jetpack Compose
- XML-Based Android Views
- MVVM
- Clean Architecture
- Modularization
- Hilt
- Dagger
- ViewModel
- LiveData
- Kotlin Flow
- Room
- WorkManager
- Navigation
- JUnit
- MockK
- Mockito
- Turbine
- Espresso
- REST APIs
- GraphQL
- CI/CD
- Google Play
- Agile
- Mobile Security
- Automated Testing
- Performance Optimization