Senior Software Engineer
ExternalPrepare for this interview
EliteAI-generated questions, company research, and talking points tailored to this role
About the role
We 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.
Responsibilities
- 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
- Multi-Component System Orchestration
- 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
- Linux & Containerized Workflows
- 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
- Engineering Hygiene
- 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
Requirements
- Required
- 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 toolchains
- Solid git fundamentals and good code hygiene - clear commits, readable diffs, useful tests, careful reviews
- Comfortable with Docker and containerized development and deployment workflows
- Strongly Preferred
- 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
- Comfort working alongside hardware, firmware, and mechanical engineers - and translating their constraints into software
- Experience with CI/CD pipelines and build systems (CMake, Make, or similar)
- Background in scientific instrumentation, biosensor platforms, lab automation, or medical devices
- Experience with real-time or near-real-time control software
- Familiarity with common embedded interfaces and protocols (Modbus, CANopen, EtherCAT, gRPC, MQTT, etc.)
- Experience in regulated development environments (FDA, ISO, or similar)
- What Success Looks Like
- Instrument subsystems behave predictably, recover gracefully, and are debuggable when they don't
- The orchestration software is something other engineers w
Additional Information
Senior Software Engineer Location: San Diego, CA Job Type: Full-Time Salary: 146K - 155K
Your Match
How well this role fits your profile.
Company Intel
What employees say
Worked at Foresite Labs (Stealth Co)? Share your experience