C++ Software Engineer (Senior, Staff, or Lead) in Philadelphia, Pennsylvania at Ghost Robotics Corporation
Explore Related Opportunities
Job Description
We're a robotics company building reliable, high-performance systems that operate in the real world. Our work spans perception, control, and systems software, and we value clean design, maintainability, and engineering rigor as much as raw performance.
We're hiring a C++ Software Engineer with strong modern C++ skills and solid general software engineering practices. You'll work on core robotics software while also contributing to the tooling, build systems, and CI infrastructure that keep our development fast and reliable. This role suits someone who enjoys both architecting clean C++ systems and owning the engineering environment around them.
How leveling works This is one role, open at the Senior, Staff, or Lead level. The responsibilities below reflect the core of the role at every level. You don't need to decide which level fits you before applying. The selected candidate will be placed at the level commensurate with the skills, scope, and experience they demonstrate through the interview process, and the offer will align with that level. Senior and Staff are individual-contributor positions. Lead carries the same technical scope plus people-leadership responsibilities, for candidates who want them.
What you'll do (all levels)
- Design, implement, and maintain high-quality C++ code for robotics systems
- Apply modern C++ (C++17/20) design patterns and best practices
- Contribute to system architecture with a focus on performance, safety, and maintainability
- Set up and maintain Linux-based development environments
- Configure and maintain GitLab CI/CD pipelines for build, test, and deployment
- Improve build systems (e.g., CMake) and dependency management
- Write unit and integration tests, and support automated testing workflows
- Collaborate with robotics, controls, and hardware engineers
- Participate in code reviews and help raise overall code quality
Senior C++ Software Engineer
- Typically reached with 5+ years of relevant experience, or 3+ years following a PhD
- Owns a defined technical area and delivers independently end to end
- Mentors less-experienced engineers
- Track record of shipping production C++ in real systems
Staff C++ Software Engineer
- Typically reached with 8+ years of relevant experience
- Drives technical direction and architecture across the team's area
- Sets engineering standards and multiplies the output of others
- Demonstrated influence beyond their own deliverables, across teams or a whole codebase
Lead C++ Software Engineer
- Typically reached with 10+ years of relevant experience, including experience guiding engineers
- Staff-level technical scope plus people-leadership responsibilities: direct reports, hiring, performance, and team planning
- Demonstrated ability to grow engineers and run a healthy, productive team
Core qualifications (all levels)
- Strong proficiency in modern C++ (C++17 or newer), with real experience shipping production systems. We weigh what you've built and shipped over where your degree is from. An advanced degree in CS, Electrical/Computer Engineering, Robotics, or a related field is one path in. Equivalent industry experience is another, and just as welcome.
- Hands-on command of modern C++ concepts: RAII, smart pointers, move semantics, templates and generic programming, concurrency primitives and thread safety, and clean API and library design
- Solid understanding of software design principles and patterns
- Experience working in Linux development environments
- Hands-on experience with Git and collaborative workflows
- Experience setting up or maintaining CI pipelines (GitLab CI preferred)
- Familiarity with build systems such as CMake
- Strong debugging skills and attention to detail
Preferred qualifications
- Experience in robotics, embedded systems, or real-time software
- Familiarity with ROS / ROS 2
- Experience with cross-compilation or embedded Linux
- Knowledge of performance profiling and optimization
- Experience with Docker or containerized development environments
- Exposure to Python or other scripting languages for tooling
What we offer
- Work on real-world robotics systems with tangible impact
- A strong engineering culture that values clean code and good design
- The opportunity to influence architecture, tooling, and development workflows
- Flexible work arrangements where possible
- The anticipated starting base salary for this position is $135,000 to $185,000 per year, placed by level as described above
Location
Philadelphia, PA. This is a full-time, on-site role. No remote candidates will be considered at this time.
Travel
None required, though domestic and international opportunities exist for engineers who want field exposure.
Compensation
Competitive base salary, full benefits, and a highly motivating equity incentive package. Flexible time off policy. We focus on output, impact, and the ability to work alongside a stellar interdisciplinary team.
Additional Information
Clear standard background checks are required pre-hire, post-hire, and at any time during employment. Permanent U.S. residency is required.