Full Job Description
We're looking for a Senior Software Engineer to join the team that builds and operates the systems connecting our access control hardware to the cloud and to the mobile app. This team owns the cloud services that generate and distribute access credentials to door controllers and phones, the software that runs directly on our access control hardware, and the messaging and caching layers that keep everything in sync in real time. You'll work alongside the engineer who currently owns this area, taking on ownership of specific services and helping scale them as our deployment grows.
Responsibilities
• Develop and maintain the cloud services that generate, cache, and dispatch access credentials to door controllers and the mobile app
• Develop and maintain the on-device software that runs on our access control hardware, including its hardware I/O and cloud communication
• Design and tune the distributed caching and storage layer behind credential lookups and delivery
• Own the MQTT-based messaging between devices, phones, and cloud services, including handling message size limits and scaling
• Build and maintain performance-critical C/C++ components shared by the cloud and device software
• Diagnose and fix production issues affecting credential sync, entry visibility, and wireless lock integrations
• Improve test tooling and CI, including Docker-based test environments, fault injection, and data integrity checks
• Participate in architecture discussions and code review for the credential sync protocol across cloud, device, and mobile app
• Collaborate with adjacent teams (mobile, hardware, wireless lock partners) on cross-system issues
Qualifications
• Bachelor's degree in Computer Science, Computer Engineering, or a related discipline, or equivalent experience
• 7+ years of professional software development experience
• C/C++ experience, particularly with performance-sensitive code, memory management, and threading
• Strong experience with Python, ideally with Flask or a similar API framework
• Experience with distributed systems, caching layers (Redis or similar), and message-based/pub-sub protocols (MQTT or similar)
• Comfortable working across the stack, from Linux-based embedded/device software up through cloud services
• Experience with AWS services such as Lambda, Elastic Beanstalk, EC2, S3, and CloudWatch
• Experience with Docker and packaging/deploying software to Linux hosts (Debian packaging a plus)
• Exposure to Go is a plus
• Comfortable debugging low-level or hardware-adjacent issues
• Experience with agile methodologies and rapid iteration cycles
This position is based in Vancouver, BC and the candidate must reside in the Greater Vancouver area, as you will be required to go into the office on a hybrid work schedule.
Target Base Salary Range: $120,000 - 165,000 CAD
Consistent with Motorola Solutions values and applicable law, we provide the following information to promote pay transparency and equity. Pay within this range varies and depends on job-related knowledge, skills, and experience. The actual offer will be based on the individual candidate.
#LI-CA1
Basic Requirements
• Bachelors Degree
• 5+ years of software development experience
Travel Requirements
None
Relocation Provided
None
Position Type
Experienced
Referral Payment Plan
No