-
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
-
Participate in design and code reviews for your projects
-
Produce technical documentation related to your projects as needed
-
Assist in the development of test and verification plans as required
-
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
-
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
-
Experience with design patterns and architectures for complex embedded software
-
Ability to read and understand technical papers, datasheets, and interface control documents (ICDs)
-
Familiarity with both Windows and Linux as host operating systems
-
Familiarity with Agile software development practices
-
Good communication and interpersonal skills
-
University degree or College diploma in Software Engineering, Computer Engineering, Electrical Engineering, Computer Science or a related discipline.
-
Preferred internship or co-op experience in industry embedded software development