Embedded Software Engineer
Role details
Job location
Tech stack
Job description
The Software Engineer will support the design, development, and integration of embedded software solutions for high-reliability space-based electronic systems. This role spans the full software development lifecycle, from architecture and implementation through integration, test, and deployment. Working collaboratively within a multidisciplinary engineering team, the engineer will contribute to innovative, radiation-mitigated designs that support DoD, Intelligence Community, and Civil Space missions. The ideal candidate is technically rigorous, hands-on with embedded Linux development, and motivated to solve complex challenges in mission-critical environments., * Designs, develops, debugs new software features for existing products and new applications
- Performs software development over the full software life cycle process across multiple projects
- Works independently or as part of a small team to complete assignments
- Works with cross functional design team to design, develop and test new embedded software/firmware/hardware; support and enhance existing embedded systems
- Supports interfacing disciplines such as firmware, mechanical, RF, hardware, integration & test, and project management
- Ability to support travel or off-site work, as needed.
- Perform other duties as assigned.
Requirements
- Bachelor's degree in Computer Science, Computer/Electrical Engineering or related technical degree
- 2+ years of related experience
- Experience developing software in C/C++
- Experience developing for Linux platforms
- Experience developing and debugging software for embedded platforms
- Experience with software development processes, standards, and product configuration management tools such as Git
- Experience with multiple programming/scripting languages such as Python, bash, MATLAB, LabVIEW
Preferred Qualifications
- Experience developing high-reliability software for low-power, embedded systems deployed in space/marine environments
- Experience developing test software that exercises and verifies hardware interfaces
- Experience using embedded Linux development tools such as Yocto
- Experience using task management applications such as Jira
- Experience developing graphical user interfaces using Python libraries
- Experience developing for embedded operating systems such as Linux, FreeRTOS, VxWorks
- Experience with hardware integration, test and debug tools (logic analyzers, scopes, emulators) and board bring-up/verification in an electronic lab environment
- Experience developing Linux kernel modules and device drivers
- Experience developing embedded networking software
- Experience in addressing cybersecurity vulnerabilities in software products
Benefits & conditions
paid time off, short term disability, long term disability, tuition reimbursement, 401(k), Hired applicants may be eligible for benefits including but not limited to:
- Health benefits
- Medical
- Dental
- Vision
- Basic life with AD&D
- Short term disability
- Long term disability
- Ancillary (Voluntary life with AD&D, accident, critical illness, hospital, and pet)
- Spending accounts (HSA, FSA, and DCFSA)
- Paid time off
- Holidays
- 401(k) (including company match)
- Tuition reimbursement
- Leaves (Parental, maternity, and military)
- Annual discretionary bonus (for eligible roles)