Embedded Software Engineer
Job description
About the role
You will architect and develop safety-critical embedded software that directly powers General Matter's industrial enrichment systems with unwavering reliability and precision. Your code will command physical actuators and process high-speed sensor data where errors are not an option and safety is paramount. You will build low-level firmware in C, C++, Rust, and PLCs to orchestrate electromechanical hardware and execute fault-tolerant control logic. You will own the entire software lifecycle from development through deployment by creating automated build, test, and validation infrastructure. You will partner closely with hardware, electrical, and controls engineers to bring up new systems, integrate firmware with complex hardware, and troubleshoot intricate electromechanical challenges. You will perform rigorous safety analyses and validate control logic to guarantee deterministic behavior and functional safety under both nominal and fault conditions. You will debug real-world embedded systems using oscilloscopes, logic analyzers, protocol analyzers, and other laboratory instrumentation to root-cause elusive issues. You will contribute to integrated system testing, commissioning, and continuous improvement of embedded software running on production equipment to ensure operational excellence.
Key facts
What you'll do
- Architect and develop safety-critical embedded software that powers General Matter's industrial systems with reliability and precision.
- Build low-level firmware in C, C++, Rust, and PLCs to control electromechanical actuators, process high-speed sensor data, and execute fault-tolerant control logic.
- Design robust control architectures, state machines, and data acquisition systems for mission-critical hardware.
- Own software from development through deployment by creating automated build, test, and validation infrastructure.
- Partner closely with hardware, electrical, and controls engineers to bring up new systems, integrate firmware with hardware, and troubleshoot complex electromechanical challenges.
- Perform safety analyses and validate control logic to ensure deterministic behavior and functional safety under both normal and fault conditions.
- Debug real-world embedded systems using oscilloscopes, logic analyzers, protocol analyzers, and other laboratory instrumentation.
- Contribute to integrated system testing, commissioning, and continuous improvement of embedded software running on production equipment.
- Implement real-time data acquisition system setup, maintenance, and development for high-fidelity process monitoring.
- Support electrical hardware troubleshooting and PCBA bring-up activities to accelerate system readiness.
- Conduct digital signal processing and low-level communication protocol debugging to resolve data integrity and timing issues.
- Apply PLC/SCADA system programming experience to streamline control workflows and operational reliability.
- Perform security analysis and threat modeling to identify and mitigate potential vulnerabilities in embedded firmware.
- Thrive in a fast-paced engineering environment by applying a resourceful, entrepreneurial approach to complete tasks within tight timeframes and budget constraints.
- Collaborate with nuclear engineers, materials scientists, and physicists to align software behavior with domain-specific requirements.
- Ensure software artifacts meet stringent quality, safety, and regulatory standards for nuclear-related applications.
- Drive root cause analysis for field failures and implement corrective actions in firmware and control logic.
- Document designs, test procedures, and interfaces to enable knowledge transfer and maintainability.
- Participate in on-call rotations and extended hours as necessary to support production deployments and incidents.
Requirements
- Strong understanding of engineering fundamentals across software, electrical, and control domains.
- Ability to perform trade studies and make clear recommendations using first principles and engineering fundamentals even with partial information.
- BS degree in computer science, engineering, math, or a STEM discipline and 5+ years of professional experience.
- Development experience in C, C++, Golang, Python, or Rust.
- Experience with embedded or low-level systems development on microcontrollers, processors, or real-time operating systems.
- Demonstrated capability to design data acquisition systems and integrate sensors into control workflows.
- Hands-on experience with digital and analog signal processing concepts and implementation.
- Familiarity with low-level communication protocols such as SPI, I2C, CAN, and UART for debugging and integration.
- Understanding of PLC/SCADA programming paradigms and industrial control concepts.
- Exposure to security analysis, threat modeling, and secure coding practices for safety-critical systems.
- Proven experience working in fast-paced, highly technical roles that demand resourcefulness under tight schedules and budget constraints.
- Willingness and ability to work extended hours and weekends as necessary to meet project and production demands.
- Commitment to compliance with nuclear industry standards and regulatory requirements.
- Strong written and verbal communication skills to interface effectively with cross-functional technical teams.
- Ability to read and interpret schematics, datasheets, and technical documentation without ambiguity.
- Capacity to manage multiple priorities and deliver high-quality software under aggressive timelines.
- Willingness to support production systems through debugging and diagnostic efforts during extended operational windows.
Nice to have
- Data acquisition system setup, maintenance, and development.
- Electrical hardware troubleshooting and assistance in PCBA bring-up.
- Digital Signal Processing.
- Low-level communication protocol debugging.
- PLC/SCADA system programming experience.
- Security analysis and threat modeling.
- Experience in a fast-paced engineering environment or a highly technical role requiring a resourceful, entrepreneurial approach to complete tasks within tight timeframes or budget constraints.
Practical notes
- Full-time position.
- Work may require extended hours and weekend availability.
- Candidates must be eligible to work in the United States without sponsorship for this role.