Skip to main content
Back to jobs

Senior Software Engineer

External
Full-timeOn-site2d ago
CI/CDDockerGitgRPCLinuxMove
Cover LetterConnect

Prepare for this interview

Elite

AI-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

Interested in this role?

Apply on the company's website.

Cover LetterConnect