Software Developer (Device Team)
Apply on
Job Description
Miovision is a global industry leading company providing agencies and organizations modern tools to improve today s traffic problems. We offer solutions that collect multimodal traffic data and uncover actionable insights, helping organizations get more out of their road network. The result: streets capable of moving more people safely and efficiently whether they are in a car, on a bus, on a bike or e-scooter, or walking. Since 2005, our systems have counted or assisted more than thirty billion vehicles around the world. With global headquarters in Kitchener, Canada, as well as operations in Germany, Serbia and the United States. For more information, visit miovision.com.
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
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
- 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
- Mio-Days: 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.
PLEASE BE AWARE OF FRAUD: Applicants interested in applying for roles at Miovision should apply directly via the details provided on our careers page. We communicate directly with applicants and will not request banking information, payment, or fees during any point of the recruitment process. We do not conduct interviews via text message. If you suspect that a third party is impersonating Miovision or requesting payment for recruitment on behalf of Miovision, please alert us via [email protected].
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.
Powered by JazzHR
9RCDgGm21r