Position Summary
Our Device Management Team is responsible for developing and maintaining the application stack that is deployed to our growing family of devices.
We support the full lifecycle of these devices from prototype to productization, deployment, and operational sustainment.
This team straddles the line between firmware and backend, bridging the two to ensure seamless integration and functionality of device applications.
We focus on developing robust app-level code while collaborating closely with the firmware and computer vision teams to optimize performance, reliability, security and enhance user experience.
As a Software Developer on this team, you will work within a Linux environment and develop various apps on device (in Node.
js, Golang, C++) along with the cloud services around those devices, working with IoT, AWS and various SpringBoot services.
Furthermore, you will get to work with upgrade tools such as apt and RAUC and various networking tools / technologies (OpenVPN, IPSec, systemd-networkd) to address a wide array of customer networking demands.
You will be a core contributor to drive the technical architecture, design, coding, testing, deployment and support requirements of complex features, while fostering a shared product quality and code ownership culture.
The code you write will have a real impact on millions of people on the road in over 17,000 municipalities worldwide.
Key Accountabilities
- Design, develop, test, deploy and maintain high quality software systems
- Collaborate with the team and system architects to develop a long-term technical vision and a shared roadmap
- Enable fast iteration through build, test, and deployment automation
- Evaluate performance, cost, and scalability of live systems
- Mentor junior members of the team and co-op students
- Evaluate and recommend changes to existing systems, including new technologies and refactoring opportunities
- Peer review code to ensure that it aligns to our code quality standard
Skills / Qualifications
You should have a track record of working collaboratively with remote teams to deliver high quality solutions at a regular cadence.
Pride in your work and a desire to delight the customer should motivate you to take initiative, responsibility, and ownership of your projects.
Below are some more specific things we look for :
- 3+ years of experience with at least one of : Go, NodeJS, Kotlin, SpringBoot, C / C++
- Working and testing with physical device hardware
- Good command of Linux tools like systemd-networkd, tcpdump, OpenVPN, apt / dpkg, bash, filesystems
- Curiosity to dive into technical details, setup scenarios in the hardware lab, prototype, read protocol specifications, figure things out.
- Experience with cloud software architecture
- An operational mindset, instrumenting code for observability in production, monitoring dashboards looking for trouble, participating in a rotation handling engineering escalations and installation support.
- The ability to work with a variety of stakeholders including product managers, data scientists, and QA
- A history of taking ownership of problems and delivering complete and high-quality solutions
- Experience with test driven development and test automation
Our Tech Stack
- Node.js, Javascript, Typescript
- Go and C++
- Kotlin, Spring Boot, Kubernetes, Gitlab CI, Argo
- AWS Services
- Terraform
This is a hybrid position and will require you to work from our office in Kitchener, ON from time to time.
Perks and Benefits
Note : We do offer flexible onsite and remote work options. Our Benefits are designed to reflect this and include :
- Comprehensive health benefits starting on day one
- RRSP Matching Plan
- Variable Incentive Plan
We extend all three-day weekends to four-days and provide a Holiday Shutdown in December
- Virtual Healthcare Service providing employees and their families access to healthcare providers 24 / 7
- Internet subsidy and a remote work allowance
- Enhanced paternity and maternity leaves
- Unlimited vacation policy
- Wellness offerings (Fitness, Mindfulness)
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
Please indicate if you require accommodation on your application, and our team will work with you to meet your accessibility needs.
To all recruitment agencies : Miovision does not accept agency solicitation or resumes. Please do not forward resumes to our HR alias e-mail address, to any Miovision employee, or to other Miovision e-mail addresses.
Miovision will not pay any fees related to unsolicited resumes.