WHAT WE NEED (OVERVIEW) Satellite communication manufacturer of RF (Radio Frequency) and microwave electronics for the commercial, space and military industries seeks an Embedded Software Engineer Engineer to join our team! In this role you will develop hardware, firmware, and GUI applications, design circuits and define specifications, develop, design and document firmware and software for embedded systems.
WHAT YOU’LL BE DOING (A DAY IN THE LIFE) As an Embedded Systems Engineer, this role will be responsible for the hardware, firmware, and GUI applications to be used in modules or integrated into larger systems. The Embedded Software Engineer must be capable of designing circuits that incorporate SOICs running embedded OS cores (Linux, for instance); a micro controller and its related peripherals; ADC, DAC, Temperature Sensors, etc. Ideal candidate will also be responsible for defining specifications, developing, designing and documenting firmware and software for embedded systems.
Additional responsibilities to include:
Develop and test highly reusable embedded software
Debugging and unit testing of software products
Diagnose, debug and solve issues to meet production milestones
Support Hardware and software integration in an Agile development environment
Perform simulation and hardware-in-the-loop testing
Work in a team environment as well as individually
Supporting design reviews and other customer-facing meetings
WHAT YOU’LL NEED TO BRING WITH YOU (SKILLS & EXPERIENCE REQUIRED)
Bachelor’s degree in Computer Science, Computer Engineering, or relevant field
Minimum of 5 years of experience in bare-metal uC programming with additional experience in multithreaded and multiprocess code as well as asynchronous code (i.e. interrupt driven code); and integrating peripherals with a uC (e.g. DAC, ADC)
Regulated industry experience such as Aerospace / Avionics / Space
Development experience with real-time embedded software
Ability to write clear, well-tested, well-documented software
In-depth knowledge of the C coding language; strong C/C++ development experience
Basic understanding of electrical circuits and power amplifiers
Experience with aspects of the software life cycle process including planning, decomposition of system requirements to high-level software requirements, low-level requirements, architecture, code, verification, and certification