Software Engineer (Early Career) – C++ & Systems
$120,000 per year
Apply (opens in a new tab)Software Engineer (Early Career) – C++ & Systems
Posted 4 days ago
SENIORITY
Intern
SALARY
$120,000 per year
About the role
- Develop and maintain software components in modern C++ (C++17/20) for Linux-based systems, with guidance from senior engineers
- Implement features, fix bugs, and write unit and integration tests across the data pipeline, from sensor acquisition through processing and storage to the services that deliver results to applications
- Write and maintain Python scripts for automation, testing, and data analysis
- Read, and where needed modify, existing code written in other languages across our codebase
- Use AI coding tools (e.g., Claude Code, GitHub Copilot) to accelerate development, and verify their output through testing, profiling, and code review
- Run the system on real hardware in the lab to test and validate your changes, including setting up sensors and collecting data
- Participate in code reviews, both receiving and giving feedback, and follow team conventions for code quality
- Help diagnose and debug issues across software and hardware boundaries, working with firmware and hardware engineers
- Measure and improve performance of existing code under the direction of senior engineers
- Document your work so that others on the team can build on itWe're looking for candidates with:
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field (recent graduates welcome)0–2 years of professional software development experience; internships, co-ops, research, and substantial personal or open-source projects count
- Solid foundation in C++, including memory management, references and pointers, the standard library, and basic object-oriented and generic programming
- Strong ability to read, understand, and write Python, including working within existing Python codebases used for automation, testing, and data analysis
- Ability to pick up new programming languages quickly; our codebase spans several languages and you will need to read, and occasionally modify, code outside of C++ and Python
- Understanding of core computer science fundamentals: data structures, algorithms, operating systems, and concurrency basics
- Comfortable with the everyday toolchain: Linux command line, build tools (CMake or similar), a debugger, and Git-based workflows (branches, pull requests, code review)
- Hands-on experience using AI coding tools (e.g., Claude Code, GitHub Copilot, Cursor) as part of a real development workflow, and the judgment to review and test what they produce
- Comfortable working hands-on with lab and test equipment: setting up sensors, running the system on real hardware, and collecting data for testing and validation (we will train you on our specific equipment)
- Clear written and verbal communication, and the ability to work well with teammates across disciplines
- Experience with Qt, gRPC, or Protocol Buffers
- Familiarity with CI/CD pipelines and automated testing
- Experience with profiling and debugging tools such as perf, Valgrind, GDB, or sanitizers
- Familiarity with hardware communication interfaces such as Ethernet, USB, or Serial
- Contributions to open-source projects
- You will learn:
- How a high-throughput, multi-sensor data pipeline is built end to end, from acquisition through processing and storage, and kept reliable in production
- Modern C++ and Linux systems engineering, with regular code review and mentorship from senior engineers
- How software, firmware, and hardware teams work together to ship a physical product
- How to use AI coding tools effectively and responsibly in a professional engineering workflow
- A clear path to grow into a mid-level engineer with ownership of your own components
- Base Pay Range $120,000 —$160,000 USD
- Equity and Salary compensation depends on experience
- Health, Dental, Vision plans provided 401k matching provided
- Time off: 20 days of PTO per year, plus approximately 15 paid US holidays per year
Before you apply
Applying takes about a minute. These four things decide how fast it moves after that.
Your profile is current
It's what we read first. Occupations, seniority and locations matter more than a long history.
Two examples you can talk through
Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.
A number in mind
What you're on now and what would make you move. We negotiate better when we know both.
Your notice period
Employers plan around it, and it's the question that stalls offers most often.
Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.
