Embedded Systems Engineer
Listed on 2026-10-13
-
Software Development
Embedded Systems/ Firmware/ IoT, Embedded Software Engineer, C++ Developer
Embedded Systems Engineer
Bright Silicon Technologies | Pleasanton, CA | Full time
About the RoleBright Silicon Technologies (BST) is developing precision optical systems around our Light field Directing Array (LDA), a solid-state beam-steering technology. Our projects include OCTANE, a free-space laser communications terminal that brings together optics, electronics, and controls to connect moving platforms. Reliable embedded software makes that hardware work as a system.
We’re looking for an Embedded Systems Engineer to develop the low-level and system software that connects these components together. This is a broad, hands‑on engineering role spanning firmware, embedded Linux, device interfaces, hardware bring‑up, system integration, and test.
Because we are a small engineering team, the work can vary from writing real‑time firmware and device drivers to performing hardware bring‑up and characterization in the lab. You’ll work closely with electrical, controls, communications, photonics, and software engineers to move systems from early prototypes to dependable integrated hardware. We’re looking for someone who is comfortable working across these boundaries, learning unfamiliar technologies when needed, and taking ownership of problems that do not always fit neatly within one engineering discipline.
Whatyou’ll do
- Develop and debug C and C++ firmware and embedded software for device control, data acquisition, and communications. Carry your work from hardware bring‑up through integration and validation.
- Work with electrical engineers to bring up new hardware and diagnose problems across electronics, firmware, and software. Use measurements and targeted experiments to understand timing, performance, and reliability.
- Use oscilloscopes, logic analyzers, debuggers, protocol analyzers, and other laboratory instrumentation to measure system behavior and investigate timing, signal, performance, and reliability problems.
- Partner with controls, integration, communications, and photonics engineers to deploy algorithms and connect subsystems on target hardware. Provide dependable device access, timing, telemetry, and diagnostic interfaces.
- Lead design and code reviews, share knowledge, and support other engineers through implementation and debugging. Document decisions so the team can build on each other’s work.
- Strengthen automated builds, hardware testing, and release practices. Make software configurations reproducible and failures easier to diagnose as systems move from the lab toward deployment.
- Strong C and C++ development skills and experience delivering embedded software on physical hardware. You’ve taken responsibility for a subsystem through bring‑up, integration, and validation.
- Experience with bare‑metal firmware, an RTOS, or embedded Linux. You understand how concurrency, interrupts, memory, and execution timing affect system behavior and can investigate performance problems.
- Hands‑on hardware and software debugging experience. You can read schematics, work with device documentation, and use debuggers, oscilloscopes, or logic analyzers to trace a problem to its cause.
- Experience implementing device interfaces and communications, such as SPI, I2C, UART, or Ethernet. You can reason about latency, throughput, synchronization, and failure handling across connected components.
- A degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field, or equivalent practical experience.
- U.S. citizenship - Position works on government projects requiring US Citizenship.
- Experience working with processor–FPGA systems or developing software interfaces to FPGA-based hardware.
- Familiarity with FPGA RTL development for timing, control, data acquisition,…
(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).