Principal Engineer Embedded Software
Northrop GrummanAbout the role
Description
At Northrop Grumman, our employees have incredible opportunities to work on revolutionary systems that impact people's lives around the world today, and for generations to come. Our pioneering and inventive spirit has enabled us to be at the forefront of many technological advancements in our nation's history - from the first flight across the Atlantic Ocean, to stealth bombers, to landing on the moon. We look for people who have bold new ideas, courage and a pioneering spirit to join forces to invent the future, and have fun along the way. Our culture thrives on intellectual curiosity, cognitive diversity and bringing your whole self to work — and we have an insatiable drive to do what others think is impossible. Our employees are not only part of history, they're making history.Northrop Grumman Defense Systems is seeking a self‑motivated, proactive Principal Software Engineer to join the medium‑caliber Bushmaster gun controller product line. The role offers a high‑exposure, fast‑paced environment where hands‑on technical challenges, problem‑solving, and cross‑department collaboration are the norm. The engineer will be responsible for delivering high‑quality, innovative software that meets system requirements, coding standards, and technical design specifications while supporting the full product lifecycle—from requirements through integration, test, and verification.
Key Responsibilities
- Design, develop, and implement software functionality – Create and deliver software that meets system and customer requirements while respecting industry best practices, cost targets, and technical constraints.
- Develop and integrate embedded SW for microcontroller‑based hardware – Apply solid software engineering skills to design, code, and test firmware while performing hands‑on hardware activities such as bench‑level debugging, hardware‑software integration, and peripheral configuration on microcontrollers and associated circuitry. This responsibility ensures that the candidate can bridge software development with real‑world hardware implementation to deliver reliable, high‑performance embedded solutions.
- Develop software requirements – Elicit, define, and document functional and non‑functional requirements; lead the creation and validation of requirement specifications and ensure clear traceability to system specifications, design artifacts, and test deliverables.
- Perform requirements decomposition, verification, validation, and troubleshooting – Break down high‑level requirements into implementable units, verify and validate each element throughout the development cycle, and resolve issues through systematic analysis.
- Implement software solutions – Write clean, maintainable, and testable code in C, C++, Java, LabVIEW, Python, or other required languages; integrate modules, adhere to coding standards and security best practices, and modify code as needed for functional testing.
- Plan and execute software testing –
- Update and calibrate test equipment and fixtures.
- Develop comprehensive test cases and automated test suites.
- Conduct functional, integration, regression, and hardware‑in‑the‑loop testing.
- Perform hands‑on debugging, root‑cause analysis, and corrective actions
- Oversee contractor testing activities when applicable to ensure compliance with test plans and quality criteria.
- Verify and validate requirements – Execute systematic V&V activities, confirm that the implemented software satisfies all stipulated requirements, and produce traceability matrices, verification reports, and compliance documentation.
- Produce comprehensive documentation – Author design‑review packages (PDR/CDR), verification & validation (V&V) reports, interface control documents (ICDs), user manuals, and detailed test procedures that support the full product lifecycle.
- Develop and apply control algorithms – Design closed‑loop control solutions (e.g., PID), state‑machine patterns, and motor‑control techniques for safety‑critical embedded systems.
- Collaborate with cross‑functional teams – Work closely with product‑development teammates, mechanical and electrical engineers, and other specialists to ensure seamless integration across the hardware‑software development process.
- Maintain configuration management – Use Git (or equivalent) for source‑code control, manage software builds, and ensure version‑controlled artifacts are available to the team.
Basic Qualifications
- Bachelor of Science degree in Computer Science, Computer Engineering, Electrica
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s