C++ Developer
Role details
Job location
Tech stack
Job description
Analyze, design, develop, and test software applications Build and maintain applications across Linux/Unix and Android environments Develop software using C++, C, and Python Design modular applications with clear separation of concerns (presentation, business logic, persistence) Integrate software components, APIs, and system interfaces across environments (virtualized, containerized, or hardware systems) Implement secure coding practices and ensure reliable, fault-tolerant solutions Support software configuration management, version control, and refactoring efforts Contribute to CI/CD pipelines, automated testing, and deployment workflows Troubleshoot and resolve defects across the software lifecycle
Requirements
We are seeking a Software Engineer to support the design, development, integration, and testing of applications within a mission-driven environment. This role requires strong cross-platform development experience across Linux/Unix and Android systems, along with the ability to deliver high-quality, secure, and maintainable code. The ideal candidate will be comfortable working in Agile environments and support full lifecycle development including design, coding, testing, integration, and maintenance. Location: San Diego, CA (100% on-site) Clearance: Active Secret required, Active Secret DoD clearance Bachelor's degree in Computer Science or related field (or equivalent experience) Security+ certification (or ability to obtain within 90 days) Experience developing for Linux/Unix and Android environments Strong coding experience in C++, C, and Python Experience with Qt and Android application platforms Experience working in Agile/Scrum environments Experience with mobile application development Experience with version control tools such as Git, GitLab, GitHub, or Subversion Experience with UI/UX frameworks such as Qt/QML or JavaScript-based tools Familiarity with build tools such as cmake, ninja, make, and gcc Experience with unit testing frameworks such as gtest, catch2, or similar Experience with Agile management tools such as JIRA or similar Experience with automated testing approaches such as TDD, Selenium, Cucumber, or BDD Familiarity with CI/CD tools such as Docker, Kubernetes, or similar Experience with API development methodologies such as OpenAPI
Preferred Experience
Experience developing user interfaces for embedded or mobile systems Experience optimizing applications for resource-constrained environments Experience designing scalable and efficient software for performance-sensitive systems