Bachelor's Degree in a relevant field or 4+ years of related experience in lieu of a degree
Experience in embedded software development using C and/or C++
Familiarity with real-time operating systems (RTOS) like ThreadX or vxWorks
Knowledge of embedded systems interfaces such as I2C, SPI, CAN, Ethernet
Proficiency in Python for scripting and MATLAB for simulation
Responsibilities
Design, develop, and validate real-time embedded software for surveillance systems
Collaborate with electrical, mechanical, and systems engineering teams to achieve project goals
Support manufacturing and customer teams in resolving software issues
Create technical documentation for project work
Participate in project planning and scheduling activities
Engage in design and code reviews to enhance project quality
Contribute to department initiatives like code refactoring and establishing coding guidelines
Benefits
Opportunity to work on cutting-edge technology in electro-optical systems
Collaborative environment with cross-disciplinary teams
Engagement in innovative projects that push technological boundaries
Potential for professional growth and skill development
Involvement in department-level improvement initiatives
Full Job Description
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