Embedded Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+22 more
Job description
The Embedded Software Engineer III is responsible for developing embedded software solutions for satellite avionics and payload data processing systems. These solutions may include custom real-time system monitoring, power management software, Linux board support packages (BSPs) for flight applications, and interfaces to sensors, communication buses, radios, and Communications Security (COMSEC) equipment. The role involves close collaboration with hardware and FPGA engineering teams to deliver integrated, rugged, and reliable Low-Size, Weight, and Power (Low-SWaP) products for aerospace applications., The essential functions include, but are not limited to the following:
Design and implement embedded software for multi-core application processors integrated with FPGA systems (e.g., Xilinx, Microsemi, Microchip, Vorago).
Develop software targeting ARM Cortex and RISC-V processor architectures.
Utilize C/C++ for development on embedded Linux platforms and other real-time operating systems (RTOS).
Configure and maintain Linux systems, including kernel modifications and bootloaders such as GRUB and U-Boot.
Implement networking and security protocols at the RFC level (e.g., IP, TLS, IPsec).
Interface with a variety of interconnect standards, including SPI, I2C, UART, GPIO, PCI, PCIe, Ethernet, and SpaceWire.
Contribute to software solutions involving cryptographic systems (e.g., AES, RSA, ECDSA, ECDH); experience in this area is desirable.
Participate in the design, development, documentation, and testing of reusable embedded software components.
Translate customer and system-level requirements into software requirements.
Present software designs and technical updates to internal teams and external stakeholders.
Support integration, debugging, and validation of software and hardware systems.
Track software development tasks, features, and defects throughout the product lifecycle.
Manage build processes and software releases using industry-standard tools and methodologies.
Requirements
Bachelor’s Degree in related field (Electrical or Computer Engineering, Computer Science) is required.
5 or more years of related experience in developing embedded software.
Proficiency in embedded C/C++ and experience working with embedded Linux and RTOS environments.
Hands-on experience with bootloader configuration and Linux kernel customization.
Strong understanding of networking and communications protocols.
Ability to interpret complex technical documents, such as schematics, standards, and specifications.
Experience with software version control systems and issue tracking tools.
Strong communication skills, with the ability to explain technical concepts clearly to peers and customers.
Experience with parallel-processing frameworks such as OpenCL and CUDA.
Familiarity with COMSEC requirements and secure system development.
Knowledge of software development for aerospace or defense systems, including compliance with relevant industry standards.
Ability to obtain a U.S. Security Clearance.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
What is Software Engineering?
Software Engineer Career: Things You Should Know
Best Countries for Software Engineers
Where to Find Entry-Level Software Engineering Jobs