Principal Embedded Software Engineer
Raytheon · El Segundo, CA · 5 days ago
On-siteEngineeringFull-time
About the role
The Software Product Assurance Center’s Software Security Sensors and Effectors Department seeks a highly skilled embedded software engineer to join our team. This role involves employing Agile development techniques on embedded targets to continuously develop and deploy critical capabilities to the warfighter.
Responsibilities
- Employ Agile development techniques on embedded targets to continuously develop and deploy critical capabilities to the warfighter.
- Breakdown architectural documentation in support of the generation and decomposition of requirements needed to support software development activities.
- Participate in Technical Integration Meetings with subcontractors to ensure selected hardware meets hardware and software requirements.
- Work individually or as part of a team to apply embedded principles to the design and development of hardened software applications.
- Ensure consistency across teams and remove impediments as they arise.
Qualifications
- Requires a bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or related field and minimum of 8 years of prior relevant experience.
- Experience in an Agile and DevSecOps environment developing and maintaining software on an embedded processors/microcontroller.
- Demonstrated ability to work closely across other engineering disciplines (Systems Engineering, Hardware Engineering, etc.) to debug system and board level issues using software tools.
- Experience working in a Linux environment with ability to modify and maintain Linux Kernel root file systems.
- Experience developing multi-threaded applications.
- Proficiency with RTOS Systems, Linux device drivers, and/or embedded Linux.
- Experience designing, implementing, testing, or deploying real-time embedded software solutions.
- Willingness to learn new techniques and apply critical thinking and problem-solving skills to diagnose customer issues.
- Knowledge of modern computer architectures and hardware technologies including: x86, ARM Architectures, Field Programmable Gate Arrays (FPGAs).
- Working knowledge of the Linux Kernel development and device drivers for the Linux Kernel.
- Experience with bare-metal software development.
- Experience using version control systems such as Git or Subversion.
- Strong knowledge of building up and maintaining a code base built with CMake and Google Test.