Senior Software Engineer
Listed on 2026-06-24
-
Software Development
Embedded Systems/ Firmware/ IoT, C++ Developer, Unix/Linux, Python
Senior Software Engineer
Location: San Diego, CA
Job Type: Full‑Time
Salary: 146K – 155K
About the RoleWe are a startup building complex, performance‑critical software and hardware systems at the intersection of instrumentation, algorithms, and data. We are looking for a Senior Software Engineer who is equally comfortable writing low‑level C/C++ for embedded targets and building higher‑level Python applications that tie a system together.
You will write production code that spans from device‑level firmware interfaces up through orchestration software that coordinates the electrical, fluidic, and mechanical subsystems of a complex instrument. This is a hands‑on engineering role for someone who likes working close to the hardware, enjoys making messy real‑world systems behave predictably, and takes pride in clean, well‑tested code.
You will work closely with hardware, firmware, algorithm, and application engineers to take instrument subsystems from prototype to production.
What You’ll Do Embedded & Application Software Development- Write production‑quality C/C++ for embedded targets and resource‑constrained environments
- Build Python applications and services that orchestrate, monitor, and expose instrument behavior
- Develop and maintain device drivers, hardware abstraction layers, and communication interfaces (serial, USB, Ethernet, CAN, SPI, I2C)
- Bridge embedded subsystems and higher‑level application logic through clean, well‑defined interfaces
- Debug across the stack — from a misbehaving sensor or actuator up to an unhappy application thread
- Design and implement the software that coordinates electrical, fluidic, and mechanical subsystems into a working instrument
- Build state machines and control loops that move the system through complex, multi‑step protocols reliably
- Handle the realities of real‑world hardware — timing, failure modes, recovery, calibration, interlocks, and safety
- Define interfaces and contracts between subsystem controllers, the orchestration layer, and the user‑facing application
- Instrument the system so that when something goes wrong on a wet bench at 2am, the logs actually tell you why
- Develop and deploy on Linux — both desktop and embedded
- Build and maintain Docker images and containerized workflows for development, testing, and deployment
- Manage build environments, dependencies, and reproducibility across developer machines and target hardware
- Debug system‑level issues involving processes, devices, networking, and resource contention
- Write code that other engineers can read, extend, and trust — clear interfaces, sensible abstractions, useful tests
- Use git fluently for branching, review, bisecting, and clean history
- Participate in code review as a thoughtful reviewer and a graceful author
- Build small, sharp tools that make the team faster — not large frameworks that slow them down
- BS in Computer Science or Engineering with 5+ years or MS with 3+ years of professional software engineering experience building production systems
- Strong C/C++ skills, including comfort reading and debugging existing codebases
- 5+ years of Python experience and proven ability to design, build, and ship application‑level software
- Hands‑on experience with embedded development — talking to real hardware, working with constrained environments, and dealing with the failure modes that come with both
- Hands‑on experience with application development — services, APIs, user‑facing tools, or orchestration software
- Strong Linux skills: comfortable on the command line, debugging system behavior, and working with build tool chains
- Solid git fundamentals and good code hygiene — clear commits, readable diffs, useful tests, careful reviews
- Comfortable with Docker and containerized development and deployment workflows
- Experience building multi‑component orchestration software for systems that combine electrical, fluidic, and mechanical subsystems (instruments, lab automation, robotics, manufacturing equipment, or similar)
- Experience designing state machines or control software for multi‑step physical protocols
- Comf…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).