System on Chip Software Engineer
Science · Alameda, CA · 6 days ago
Engineering$130k–$200k/yrFull-time
Role Responsibilities
- Boot, BSP & Build Infrastructure
- Own the SoC BSP integration pipeline: bootloader, firmware, kernel, and userspace builds
- First boot on custom hardware: device tree development, PMIC configuration, power sequencing, flash procedure development
- Maintain build environments, patch systems, kernel config management
- Debug boot failures at every stage: bootloader stages, kernel init, userspace
- Peripheral Bringup & Integration
- Display: MIPI DSI panel driver bringup, init sequences, timing, display subsystem configuration
- Camera: sensor driver bringup (MIPI CSI), ISP pipeline configuration and optimization
- Audio: codec bringup, digital and analog mic path configuration, mixer/DAPM routing
- Connectivity: Bluetooth and WiFi firmware loading and configuration
- IMU and other sensor bringup (I2C/SPI integration)
- Power & Performance
- Platform power measurement and optimization: CPU tuning, peripheral power profiling, regulator management
- Battery/charger configuration, suspend/resume, peripheral power gating
- PMIC debug: LDO/SMPS configuration, fault analysis
- Characterization, Reliability & Production Readiness
- Reliability testing: long-duration soak tests, suspend/resume cycling, subsystem crash recovery, watchdog validation
- Secure boot chain, verified boot, SELinux policy configuration
- OTA update infrastructure, factory provisioning, production test support
- Platform characterization: thermal profiling, power consumption across operating modes, sustained-workload stress testing
- Cross-Functional Debug
- Systematic failure triage: reading crash dumps, correlating timestamps across subsystems, bisecting regressions across BSP and kernel versions
- Board-level debug in collaboration with EE team: correlating software behavior with bench measurements, power rail issues, fault isolation
- 5+ years of embedded Linux development with significant hands-on SoC platform bringup experience
- Direct experience bringing up custom hardware from a vendor BSP: bootloader, device tree, kernel drivers, flash procedures
- Deep familiarity with multiple SoC subsystems: PMIC, audio codec, connectivity, display, camera
- Kernel driver development and debugging, meaning reading and modifying driver source
- Comfortable with bench-level debug: UART consoles, JTAG, oscilloscopes, logic analyzers
- Strong understanding of common embedded interfaces: MIPI DSI/CSI, I2C, SPI, SPMI, SoundWire or similar
- Qualcomm SoC experience is strongly preferred: chipcode/BSP integration, CamX/CHI camera pipeline, SDE/MDSS display, SoundWire audio, XBL boot, CDT, DTBO
- Experience shipping a product on custom hardware with custom device trees, custom drivers, and production builds (not just eval board work)
- Both Android (AOSP) and Linux (Ubuntu/Yocto) BSP experience
- Camera ISP pipeline depth: topology, sensor driver integration, pipeline optimization
- Medical device software experience (IEC 62304)
- FPGA/co-processor integration
- Competitive salary and equity
- Medical, dental, vision, and life insurance
- Flexible vacation and company-paid holidays
- Healthy meals and snacks provided onsite
- Paid parental, jury duty, bereavement, family care, and medical leave
- Dependent Care Flexible Spending Account, subsidized by Science Corporation
- Flexible Spending Account
- 401(k) plan