Associate, Embedded Software Developer
L3HARRIS WESCAM Division
Req# 47506
About the Role
The Software Engineering department at WESCAM is looking for an enthusiastic and motived new team member. Our software teams work directly with our optics and hardware teams, developing code that manages all of our systems controllers and actuators, telephoto lenses or targeting & tracking systems. We develop advanced real time software for various applications and processors, including new payloads like complex imagers, laser illuminators & targeting designators, range finders and trackers. We develop the embedded controls and user interfaces for complex electro-mechanical systems including remote I/O subsystems, custom lens controllers, and advanced video processing features.
Software at WESCAM is the heart of our MX-series systems and the glue that pulls together state of the art mechanical, electrical and optical features of our designs. Each system and mission offers unique challenges so our software has to be flexible while meeting challenging performance requirements that push the boundaries of what is possible with advanced imaging systems. Come join the team and help us create the next generation of MX-series systems!
Primary Responsibilities
Design, develop and validate real-time embedded software for complex electro-optical surveillance systems.
Work with other disciplines including electrical, mechanical, electro-optics and systems engineering to meet project objectives
Provide support to manufacturing and customer support teams to solve software issues as needed
Produce technical documentation as needed to document your project work
Contribute to planning and scheduling activities for your projects.
Participate in design and code reviews for your projects
Contribute to department level improvement initiatives such as code refactoring, test development and establishing design & coding guidelines
Preferred Capabilities
Embedded software development with C and/or C++
Background in one or more of the following:
Arm processors
FPGA based systems
Real time operating systems (RTOS), particularly ThreadX or vxWorks
Embedded Linux
Embedded systems interfaces such as I2C, SPI, CAN, Ethernet, etc.
Python for scripting and automation
MATLAB for simulation and data analysis
Interest or experience in any of the following areas:
Navigation and stabilization control software
Camera, imaging, or laser control & interfacing
Video or image processing
Avionics and/or defense applications
Development of software for complex electronic and FPGA systems.
Automated software test methodologies tailored to embedded systems
Development of software using simulation or emulation environments
Experience with “tools of the trade” such as IDEs/editors, compilation toolchains and source control management systems
Interest or experience with design patterns and architectures for complex embedded software
Familiarity with both Windows and Linux as host operating systems
Familiarity with Agile software development practices
Good communication and interpersonal skills
Education and Experience Requirements
Bachelor’s Degree with 0 to 2 years of prior related experience. In lieu of a degree, minimum of 4 years of prior related experience.
*This posting is for a current vacancy. In the province of Ontario, Canada, the pay range for this position will be $77,500 to $89,000