Embedded software engineer [h1.location_city]
[job_alerts.create_a_job]
Embedded software engineer • hayward ca
Embedded Software Engineer - Platform & Firmware
Pivotal SystemsFremont, CA, US- [promoted]
Software Engineer
VirtualVocationsHayward, California, United StatesSoftware Engineer
PDDNFremont, CA, USSoftware Engineer
The Mice GroupsFremont, CAEmbedded Software Engineer
NeuralinkFremont, California, United StatesSoftware Engineer - Perception Infrastructure
pony.aiFremont, CA, US- [promoted]
- [new]
Sr. Staff Software Engineer, Backend, Factory Software
TeslaFremont, CA, United StatesPrincipal Software Engineer
Cloud Software Group, Inc.San Ramon, CA, United StatesStaff Software Engineer
Iota BiosciencesAlameda, California, United StatesSr. Engineer, Software
Alamar BiosciencesFremont, California, United StatesSoftware Engineer
Robotics technology LLCFremont, CA, United States of AmericaEmbedded Tester (SIT)
VDart IncAlameda, California, USASoftware Engineer - ML Performance
BasetenSan Ramon, California, United StatesEmbedded Tester- Software Integrated Testing (SIT)
DMS Vision, Inc.Alameda, CA, United States of AmericaSr. Software Engineer, Clinical Software
PersonalisFremont, California, United StatesSoftware Engineer - Map Generalist
Pony.aiFremont, California, United StatesSr. Embedded Software Engineer
AbbottAlameda, California, United StatesSenior Software Engineer
Five9San Ramon, CA, USSoftware Engineer - Flutter
CXApp US, Inc.San Ramon, CA, USEmbedded Software Engineer - Platform & Firmware
Pivotal SystemsFremont, CA, US- [job_card.full_time]
Job Description
Job Description
Salary : $100,000 - $130,000
Embedded Software Engineer (Platform & Firmware)
Overview :
We are seeking an Embedded Software Engineer (Platform & Firmware) to design, develop, and test software that interfaces directly with hardware, such as microcontrollers and processors in embedded systems. This role focuses on foundational software development, including drivers, bootloaders, and firmware, using C, C++, and assembly to manage system resources and optimize device performance.
You will need a deep understanding of computer architecture, hardware-software integration, and low-level debugging. As a core member of our software engineering team, you will collaborate closely with embedded software and hardware engineers to deliver high-performance, reliable systems.
Key Responsibilities :
Develop Low-Level Software : Write and maintain firmware, bootloaders, and device drivers for embedded hardware platforms.
Optimize Performance : Ensure code efficiency and performance on resource-constrained systems (limited memory, CPU, power).
Hardware-Software Integration : Collaborate with hardware teams to validate and troubleshoot system-level issues.
Debug and Test : Use tools like oscilloscopes, logic analyzers, and in-circuit debuggers to identify and resolve issues at the hardware / software boundary.
System Resource Management : Implement low-level system features such as power management, memory allocation, and communication protocols (SPI, I2C, UART, etc.).
Required Skills and Qualifications :
Proficiency in C, C++, and assembly language for embedded development.
Strong understanding of microcontrollers, processors, and memory management.
Experience with device trees, real-time operating systems (RTOS), and device driver development.
Skilled in using low-level debugging tools : oscilloscopes, logic analyzers, JTAG, ICE, etc.
Excellent analytical and problem-solving skills to address complex hardware / software integration issues.
Bachelors or Masters degree in Computer Engineering, Electrical Engineering, or Computer Science.
Preferred skills :
The ideal candidate will also have :
Experience with EtherCAT technology
CAN ecosystem Software : DeviceNet or CANopen stacks
Embedded Linux Platform Software : Device tree, init / system services, userspace
deamons, kernal Diagnostic tooling : Python utilities for log parsing and packet / trace inspection
PLC familiarity : (software and hardware)