Firmware/Software Engineer

Job ID: Firmware/Software Engineer
Firmware/Software Engineer
Delta, BC [Annacis Island]
Technology Group
Reports To:
Software Architect
Start Date:

At LMI Technologies, we are passionate about developing innovative 3D scanning, measurement, and data visualization technologies that solve complex problems in a simple way. We take our knowledge and experience from working in the field and connect our customers to 3D solutions that enable them to achieve better business results. Our world leading products are fully designed, developed and manufactured in house. LMI believes in providing a modern, flexible, results-oriented work environment that allows all employees to thrive.

Job Summary

LMI is seeking a firmware/software engineer with 1-5 years of experience to join a multi-disciplinary engineering team. Engineers in this group are responsible for developing hardware and software components that are used by other groups within the company to develop, test, and manufacture sensor products. This involves the design, development, and testing of firmware and software modules used for device control, data processing, and network communication. A successful candidate should be a creative and resourceful individual, capable of working through problems in a fast-paced, geographically-distributed team environment.

Primary skills or experience:
  • Proficiency with C
  • Understanding of object-oriented programming
  • Embedded development and testing experience
  • Understanding of concurrency, memory management, and hardware-software interfaces
  • Experience using electrical analysis tools such as an oscilloscope, multimeter, and signal generator
  • TCP/UDP/IP networking experience
  • Ability to work in a team environment and to be accountable for your performance and documentation
  • Proficiency in English, both written and verbal
  • Bachelor's or Master's Degree in Computer Engineering or Computer Science
Skills of value
  • Experience with Windows or Linux system programming
  • Experience with TI DSP or ARM development
  • Experience with unit/integration testing
  • Experience with development or maintenance of medium-large projects (> 100K lines of code)
  • Proficiency with C++/MFC or Python
  • Exposure to machine vision algorithms and implementation
  • Experience with industrial communication protocols (e.g. Modbus, EtherNet/IP)
  • Experience with Agile development processes

If you are interested in becoming a part of our team, please apply for the opening positions below and send an email to to apply.