Senior Embedded Systems Software Engineer for global consumer device company in Mountain View, CA.
The Technology Directions Office is looking for engineering support to develop and optimize embedded systems software features.
5+ years with design, develop and optimizing embedded systems software features.
Integrate with mobile applications.
Develop bootloaders, device drivers and middleware such as network, filesystem and storage, sensors, etc. Perform board bring-up of prototype hardware.
Optimize runtime environments for on-device ML model execution.
Must have excellent experience developing embedded applications.
Experienced in writing C/C++ code on Embedded Linux, RTOS and Bare metal systems.
Emphasis on writing unit tests with good code coverage.
Experienced in writing Embedded code on resource constrained platforms. (Low power, Minimal Flash, Minimal Ram, CPU
Working knowledge of I2C, SPI, UART, BLE, Wi-Fi, BSD sockets,
C/C++ programming, Bootloaders, Microcontrollers, Board Bring-up, Board Support Package, Work Autonomously, Low Level Programming, Thrives in Ambiguity, Protocol Buffers
Embedded Linux, Kernel, and Device Driver in real time operating systems experience
Experience using HW development kits (eval kits or development kits supplied by semiconductor vendors)
Experience with microcontroller or microprocessor based embedded systems.
C/C++, Linux Kernel, Linux Drivers, Bluetooth Low Energy, Socket Programming
Knowledge of capacitive touch technology Linux kernel and device driver experience
Experience interfacing embedded software with Android mobile apps via BLE/Bluetooth Smart, Wi-Fi, UART, etc.
Familiarity with the Android software stack (AOSP) and NDK usage
Familiarity with usage of Machine Learning in embedded systems
Experience with memory and power optimization
Experience with optimizing code for DSPs and other hardware accelerators
Location: Mountain View, CA
Schedule: Hybrid (M,F WFH & T,W,TH in office)
Duration: 6 months with possible extension
Hourly Rate Range: $70-95/h (DOE)