Particle is expanding the Device Connectivity team and hiring a Senior Embedded Systems Engineer! You will help build software and firmware for the next generation of Particle devices as well as maintain and enhance firmware we provide for our existing devices.
Develop next-generation embedded systems software.
Develop new features in our embedded Device OS software, as well as refactor the existing code base to assist with customer issues.
Continually develop news ways to test our embedded code to ensure it’s robust before being shipped to customers.
Migrate our code base to new MCU families and supplement our HAL portability layer
Help with troubleshooting and root cause analysis of issues that may appear anywhere in the stack between our embedded systems code, our cloud services, or customer applications.
Ensure the performance, reliability and security of our embedded platform.
Help improve our platform development tools from the particle CLI to Workbench
Foster trust with our customers and peers by planning our work, working to the plan, providing visibility on progress, and delivering on promises
Always incorporate risk-based security analysis into design and implementation
Design the future of the Particle devices.
Develop new device drivers, HAL updates, and communication libraries for supporting new multiprocessor embedded devices.
Collaborate with the Product team and lead engineers to provide users with a great experience at all stages of their journey building cellular IoT applications on existing and forthcoming devices.
Work daily with a global team.
Work with a global team of cloud engineers, embedded engineers and product managers.
Extensive experience developing embedded software for microcontroller architectures such as ARM Cortex-M4, Cortex-M3, Cortex-M7, Cortex-A7 devices
Extensive experience developing embedded systems with C99/C11/C17, C++14 or similar
Experience writing device drivers in an embedded environment
Experience building embedded applications both in an RTOS context or in a bare metal context with no scheduler
Experience writing or maintaining bootloaders
Familiarity with power management of battery-powered devices
Extensive experience debugging and troubleshooting using JTAG, SWD, openocd, jlink or similar
Outstanding written and verbal communication skills
Experience in test-driven development & knowledge of continuous integration and continuous deployment
Experience with other systems programming languages such as Rust and operating systems such as Linux
Chain-of-trust experience with secure-boot and application security
We are inspired by our mission of enabling the next technological revolution, and by the incredible products that people build on our platform. We also support our Particle family and community by embracing our core values of caring, curiosity, openness, joy, and trust.
Everyone is welcome at Particle. We are an equal opportunity employer that values diversity and inclusion and look for applicants who understand, embrace and thrive in a multicultural world.
We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
Pursuant to the SF Fair Chance Ordinance, we will consider employment for qualified applicants with arrests and conviction records.