The RoleThe Staff Software Engineer specializes in mobile app development and is responsible for driving the team's technical direction, fostering innovation, and ensuring the highest quality in our development lifecycle. They bring a blend of deep Android expertise, strategic architectural vision, and strong leadership abilities to guide our engineering team toward excellence, from concept through release.
What You Do- Provide strategic guidance and mentorship to Android engineers, fostering a culture of innovation, code quality, and technical excellence.
- Lead the design and architecture of complex Android apps, ensuring scalability, reliability, and overall performance.
- Implement and utilize robotics to assist the public safety mission, from airborne drones to body-worn cameras.
- Work closely with internal and external partners to align technical solutions with business objectives.
- Integrate with backend services provided through REST, WebRTC, and others while maintaining offline-first capabilities.
- Accommodate a variety of different hardware configurations, from ordinary smartphones to headless single-board computers.
- Stay current with Android platform changes, dependency upgrades, and emerging app technologies.
- Oversee CI/CD pipelines and release processes, driving continuous iteration of automation, tools and practices.
- Ensure comprehensive documentation of app architecture, engineering decisions, and development standards.
What You BringRequired Qualifications:
- Degree in Computer Science, Software Engineering, or a related field, or equivalent industry experience and training.
- Minimum of 8 years of experience in Android development, including experience leading or acting as a technical lead for a team.
- Proven track record of collaboration amongst team members with a focus problem decomposition.
- Passion for reducing customer and engineering friction and eagerness to chase simplicity.
- Proficiency in Kotlin with experience in Jetpack libraries such as CameraX and Compose.
- Solid understanding of asynchronous and reactive programming such as Flows or RxJava.
- Familiarity with the Firebase platform such as Cloud Messaging and Crashlytics.
- Exposure to integrated project management and CI/CD tools such as GitHub or GitLab.
- Ability to articulate technical concepts to a variety of technical and non-technical stakeholders.
Additional Qualifications:
- Experience with connected hardware or peripherals such as IoT devices or retail terminals.
- Understanding of online mapping technologies such as ArcGIS or Mapbox.
- Familiarity with networking technologies such as MQTT and WebRTC.
- Experience leading or working on a geographically dispersed engineering team.
- Knowledge of adjacent platform capabilities and limitations such as Fire OS and iOS.
- FAA or Transport Canada remote pilot certification with flight experience.
- Hands-on time leveraging AI tooling in development workflows.
Note: This position requires a security clearance from the Government of Canada. Candidates must be legally authorized to work in Canada and must successfully obtain and maintain a Reliability security clearance. Please note that specific customer contracts may impose additional security verification requirements. Obtaining and maintaining all required security clearances is a condition of employment. For more information on the Government of Canada's security screening process, please visit Public Services and Procurement Canada.
Versaterm is committed to fair and equitable compensation that is competitive, consistent, and aligned with the value each role contributes to our organization. The starting salary for this position will be dependent upon many factors, such as the successful candidate's skills, experience, education, training as well as internal equity, market data, and business needs. In addition to base salary and our comprehensive benefits offering, some roles may also be eligible for variable compensation such as incentive plans or discretionary performance bonuses.
AI is central to how Versaterm builds and delivers solutions for our customers. Within Talent Acquisition, we use AI-enabled tools to support certain aspects of the recruitment process, helping our team work more efficiently and spend more time connecting with great talent. AI supports our work, but all hiring and employment decisions are made by people.