Embedded Software Developer (Level II / III)
A Great Opportunity in Our Research & Development Team!
We are seeking an Embedded Software Developer (Level II or III) to build and maintain the applications, services and drivers used to operate our industrial hardware solutions. Operating within a team of 4–8 developers, you will report directly to the Embedded Software Team Lead. This is a full-time, in-person role based out of our Ottawa facility.
In this role, you will bridge the gap between electronic hardware and the user interface, developing Windows-based application software using C++ and OS-images. This software will directly interface with real-time PLC controllers and data acquisition modules. This hands-on position is ideal for a developer who thrives on seeing code interact with real-world industrial hardware.
Key Responsibilities
- Application Development: Design, write, and maintain C++ application software in a Windows environment to configure, calibrate, and operate industrial electronics.
- Hardware Interfacing & Protocols: Implement driver-level and application-level communications to interface with configuration databases, custom hardware, PLCs, and data acquisition systems using protocols such as SQL, EtherCAT, CAN, SPI.
- Tooling & Configuration Suites: Develop desktop utilities and images that allow factory technicians and field engineers to flash firmware, run diagnostics, and manage hardware settings.
- On-Site Integration & Testing: Work with hardware engineers and manufacturing technicians, deploying code directly to test benches, bringing up new systems, and troubleshooting hardware-software integration bugs.
- Software Lifecycle Support: Maintain code quality and operational continuity for software suites already deployed globally, resolving field bugs, refactoring legacy code, and updating applications for new hardware iterations.
- Documentation & Verification: Author technical documentation, interface specifications, and internal test procedures to validate software reliability and support compliance testing.
Qualifications:
- Education: B.S. or M.S. in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field, or equivalent. Professional registration (EIT/P.Eng) with Professional Engineers Ontario (PEO) is an asset but not required.
- Experience: 1+ years of professional software development experience, with a track record of building applications that interact closely with physical hardware or industrial control systems.
- Core Technical Skills: Strong proficiency in C++ within a Windows development environment (e.g., Microsoft Visual Studio). Familiarity with Beckhoff TwinCAT, SQL database management, and multi-threaded application design are a plus.
- Hardware & Fieldbus Familiarity: Desirable experience working with industrial systems, including PLC protocols (e.g. EtherCAT, ProfiNET, Ethernet/IP), automotive communication (CAN, LIN, FlexRay), sensor protocols (IO Link, SENT) and microcontroller interfaces (UART, I2C, SPI).
- Lab & Debugging Skills: Ability to use software debugging tools alongside hardware tools (like protocol analyzers or basic oscilloscopes) to isolate integration issues.
- Attributes: Independence, strong problem-solving skills, self-organized, and collaborative.
- Location: Must be located in or willing to commute daily to our Ottawa region location.
Salary Range
-
$85,000 to $135,000
Artificial Intelligence may be used to assess and/or screen applications.
Apply to careers@sciemetric.com. Please include "Embedded Software Developer" in the subject line.