Particle

SENIOR EMBEDDED SYSTEMS ENGINEER

Job description

Position Overview 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. You will: 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. You have: 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 Bonus: 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 About Particle 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.

Join a fast paced HAX portfolio company and be part of one of the largest hard tech communities in the world.