Description
Summary:
Seeking an experienced Software Engineer to contribute to architectural discussions, solve complex technical problems, and provide technical leadership to the development team.
Highlights:
1. Contribute to architectural discussions and make design decisions
2. Solve complex technical problems and make critical decisions
3. Provide technical leadership and guidance to junior team members
* Proficiency in Kotlin \& Swift: Deep understanding of modern Kotlin (coroutines/Flow, serialization) and Swift (async/await), including the platform runtimes, memory management and concurrency.
* Native UI Frameworks: Experience building production UI with declarative frameworks — Jetpack Compose on Android and SwiftUI on iOS — including state management and lifecycle.
* Architecture \& Dependency Injection: Experience with reactive, testable mobile architectures (e.g. MVVM, The Composable Architecture) and dependency injection frameworks such as Koin.
* RESTful API Integration: Experience designing and consuming robust, scalable REST APIs for third\-party integrations and internal UI consumption (e.g. Retrofit/OkHttp on Android, URLSession on iOS).
* Testing Frameworks: Proficiency with mobile testing across the pyramid — unit, integration, and UI testing with tools such as JUnit, Mockito, Robolectric, Espresso, and Compose UI test on Android; XCTest and XCUITest on iOS.
* Mobile Tooling \& CI/CD: Experience with automated, multi\-target build and release pipelines (e.g. Gradle, Swift Package Manager, Bitrise, Fastlane), ideally for white\-label / multi\-tenant apps.
* Worked on AI assisted development (e.g. GitHub Copilot, Claude, Cursor or ChatGPT)
* Familiarity with AI directed prompt engineering for developing applications.
Responsibilities \& Duties:
* Contribute to architectural discussions, make design decisions, and ensure that the overall software architecture aligns with business goals and industry best practices.
* Solve complex technical problems and make critical decisions related to technology selection, system architecture, and project planning.
* Provide technical leadership and guidance to junior members of the development team.
* Conduct code reviews to ensure code quality, maintainability, and adherence to coding standards.
Requirements:
* Bachelor's degree or Diploma in Computer Science, Engineering, related field, or equivalent work experience.
* 8\+ years of experience in software development, and 3\+ years as a Software Engineer with a focus on designing and building complex, scalable systems.
* Deep understanding of software engineering principles, design patterns, algorithms, and system architecture.
* Ability to lead technical discussions, make critical decisions, and drive consensus among team members.
* Experience with cloud technologies and microservices architecture.
**Salary range: $125,000 \- $135,000 CAD per year.**