Software Engineer
Role summary
We are seeking a Software Engineer with strong modern C++ expertise to develop and validate a reference software implementation. This role requires a deep understanding of C++ for building core systems, protocols, and data models, with a focus on correctness, performance, and security. You will be responsible for designing, implementing, and maintaining systems, as well as defining and executing validation strategies, including automated testing and fault injection. The ideal candidate will have a strong grasp of memory management, performance optimization, and deterministic behavior, translating requirements and architectural specifications into production-quality code. Experience in Linux environments and with test automation frameworks is a plus.
We’re looking for a Software Engineer with strong modern C++ expertise to build and validate a reference software implementation where correctness, consistency, and well-defined behavior are critical, including high-performance video encoding behavior, secure data handling, and integrity-verified communication.
This role combines implementation and validation ownership—ensuring that the system is not only functionally accurate, but precisely aligned with requirements, architecture, and system specifications, with a focus on modeling media processing, encryption flows, and authenticated integrity mechanisms used for system-level verification.
What You’ll Do
- Design, implement, and maintain core systems in modern C++
- Build protocol, data model, and structured system logic
- Translate requirements and architecture into production-quality code
- Define and execute validation strategies (functional, integration, regression, edge cases)
- Develop automated tests and validation tooling
- Perform fault injection and verify behavior against specifications
- Identify ambiguities and gaps in requirements and system definitions
- Collaborate across systems, architecture, and validation teams
What You Bring
- Strong experience with modern C++ in complex systems
- Deep understanding of memory management, performance, and deterministic behavior
- Strong design, debugging, and code quality skills
- Experience working from requirements and architectural specifications
- Ability to reason about system behavior and edge cases
- Strong validation, test design, and defect analysis capabilities
Nice to Have
- Experience with modern C++ standards (e.g., C++23)
- Experience in Linux environments or low-level / driver development
- Experience with test automation frameworks (e.g., Robot Framework or similar)
- Proficiency in Python or scripting for automation and tooling
- Familiarity with UML or structured system and software models
Similar roles
Senior Software EngineerNorthside Hospital · Atlanta, Georgia, United States · Onsite- Senior Software EngineerRandstad Digital Americas · North York, Ontario, Canada · Hybrid
Software EngineerConcord Servicing, LLC · Dallas, Texas, United States · Remote
Lead Software EngineerElanco · Lake County, Indiana, United States · Onsite
Software EngineerAMERICAN SYSTEMS · Fredericksburg, Virginia, United States · Onsite