Senior Embedded Software Engineer
San Francisco Bay Area
BrightAI
BrightAI delivers AI-powered operations that help critical infrastructure teams boost productivity and resilience.Company Overview:
We are a high-growth company that is looking for teammates who want to be key contributors to changing the way complex physical businesses are run. This is an incredible opportunity to complete work that is disrupting industries. Be a part of scaling a business by increasing the number of devices, events, applications, services, and traffic that result in measurable success for our customers. We have the best and brightest minds in AI, IoT, Cloud and Mobile who have built leading companies in those spaces (Microsoft, Amazon Alexa, Meta/Facebook, SmartThings, Samsung).
Responsibilities:
- Lead the design, development, and maintenance of embedded Linux software applications.
- Drive cross-functional collaboration, leading technical discussions with product managers, cloud engineers, and mobile engineers to ensure alignment on system architecture and design goals.
- Architect and optimize networking protocols such as TCP/IP, UDP, CAN bus, and RESTful APIs within embedded systems, ensuring efficient, high-performance communication between devices.
- Lead the integration of embedded communication protocols like I2C, SPI, and UART, facilitating robust data exchange across various embedded system components.
- Provide expert support during hardware bring-up, ensuring smooth integration with BSPs, Linux device drivers, and ongoing OS maintenance.
- Champion the use of CI/CD processes to automate testing, deployment, and quality assurance, promoting efficient, repeatable workflows and ensuring high system reliability.
- Video Pipeline Development:
- Design, develop, and optimize real-time video pipelines using GStreamer or equivalent multimedia frameworks (e.g., FFmpeg, OpenCV, MediaPipe).
- Implement advanced AI-based video processing tasks, including object detection, tracking, and segmentation.
- Camera Integration:
- Manage and optimize low-level camera drivers and APIs for CSI and USB cameras using V4L2.
- Develop and troubleshoot solutions for running multiple synchronized cameras with low latency.
- Ensure stable, high-performance operation of cameras under various conditions (e.g., high frame rates, low light).
- Streaming & Distribution:
- Implement and manage MediaMTX for RTSP/RTMP/WebRTC streaming and integration.
- Work on distributed video stream processing and real-time metadata handling.
Skills and Expertise:
- BS/MS degree in Computer Science, Electrical Engineering, Computer Engineering, or a related field.
- 7+ years of experience in embedded software development, with a strong emphasis on embedded Linux systems.
- Proven expertise in embedded Linux development, including deep knowledge of the kernel and the ability to work with low-level system components.
- Extensive experience reading, debugging, and optimizing driver/C code, including understanding complex kernel internals.
- Advanced knowledge of networking protocols in the context of embedded Linux systems (TCP/IP, UDP, CAN bus, RESTful APIs).
- Significant experience with embedded communication protocols (I2C, SPI, UART), and system-level data exchange.
- Proficiency in systems programming using languages like Rust, Go, or C, with a focus on writing efficient, resource-constrained applications.
- Deep familiarity with source control (Git) and development workflows.
Bonus Criteria:
- Expertise in building high-performance applications that integrate embedded sensors, with a keen understanding of hardware limitations and performance trade-offs.
- Advanced skills in designing optimized solutions using Rust, Python, or Go for embedded systems with stringent resource constraints.
- Strong background in math-based programming, with the ability to apply linear algebra for complex tasks like kinematics and leveraging tools such as NumPy.
- Expert knowledge in trigonometry and its application in LIDAR systems.
- Experience in developing AI/ML solutions, with hands-on expertise in frameworks such as OpenCV and PyTorch for embedded applications.
- Deep experience in system architectures, including event-driven and modular design approaches, as well as abstracting hardware layers (HAL, sensor fusion, application layers).
- Advanced knowledge of containerization technologies (Docker, cgroups, etc.) and their application in embedded systems.
- Strong background in Android platform development (AOSP, etc.), with a focus on embedded systems.
- Proven experience in developing, maintaining, and scaling CI/CD pipelines, particularly with tools like GitHub Actions, to ensure high-quality, automated build and release processes.
* Salary range is an estimate based on our AI, ML, Data Science Salary Index 💰
Tags: APIs Architecture CI/CD Computer Science Docker Engineering Git GitHub Lidar Linear algebra Linux Machine Learning Mathematics NumPy OpenCV Pipelines Python PyTorch Rust Streaming Testing
Perks/benefits: Startup environment Team events
More jobs like this
Explore more career opportunities
Find even more open roles below ordered by popularity of job title or skills/products/technologies used.