What you'll doWe're looking for a
Software Developer (Internal Tools) to build and maintain the software that keeps our teams moving. Internal tools are often treated as an afterthought - not here. We believe well-crafted tooling with a great user experience is a force multiplier: it streamlines processes, reduces errors, and gives our engineers and technicians time back every day.
This role suits a developer with diverse coding experience who hasn't sacrificed fundamentals along the way. You'll work across languages, platforms, and problem domains - one week you might be building a GUI for a calibration workflow, the next automating a data pipeline or improving a deployment process. Curiosity and a willingness to learn unfamiliar domains (for example, sensor calibration or data quality) matter as much as your current toolkit.
Core responsibilities- Design, build, and maintain internal tools and applications that streamline engineering and operational workflows
- Prioritize usability and user experience - internal users deserve polished, intuitive tools, not clunky scripts
- Write high-quality, well-structured, and maintainable code with appropriate testing and documentation
- Develop and support tooling across both Windows and Linux environments
- Collaborate closely with internal users (engineers, technicians, operations) to gather requirements, iterate on feedback, and measure whether tools actually improve their workflows
- Maintain and improve existing tools, managing technical debt pragmatically
- Contribute to team standards around code review, version control, and release practices
Your qualifications - 2-5 years of professional software development experience
- Strong experience in one or more Rust, C#, Go. Familiarity with C++ is a plus. - comfortable working across multiple languages and picking up new ones as needed
- Database management experience - schema design, administration, backups, query optimization
- Solid grounding in software development principles: clean architecture, testing, version control, code review, and maintainability - quality matters here
- Hands-on experience developing for and working in both Windows and Linux environments
- Strong sense of user experience - you think about the person using the tool, not just the code behind it
- Genuine willingness to learn new technical domains and processes (e.g., sensor calibration workflows) - you ask good questions and ramp up quickly
- Clear communicator who can work directly with non-developer users to understand their needs
Bonus Points - DevOps experience - CI/CD pipelines, build automation, infrastructure as code (big plus)
- Experience with Ansible for configuration management and automation (another big plus)
- Experience working with or alongside hardware - test rigs, sensors, lab equipment, or production hardware
- Familiarity with scripting and automating repetitive engineering or operational processes
- Exposure to robotics, computer vision, or sensor-driven systems
Work Location This is primarily an in-person role based at our Waterloo headquarters. Some flexibility for remote work is available; however, fully in person is preferred and a minimum of four days on-site is expected to support close collaboration with the team who is nearly full time in office.
The Perks - 5 weeks of total time off, flexible work hours and a dedication to a work-life balance.
- Employee-directed personal education funds to drive continuous learning
- Profit-sharing within to celebrate our successes together
- Regular company-wide social events
- Health and vision benefits
- RRSP Matching
The Pay This opening is for an active vacancy. The salary range for this role is $80,000 to $100,000 dependent on skillset and experience.