Senior Embedded Software Engineer
Mountain View, CA, United States
Job Title: Senior Embedded Software Engineer
Job Location: Mountain View, CA (On-site)
Job Type: Full-time(Permanent)
Must-Have: C, Firmware, Device driver, RTOS
Required Skills: Multithreading
Concurrency
Reentrance Very experienced with embedded systems Being able to design and develop software that works well in resource-constrained environments (CPU, battery, networking, memory, etc)
Familiar with work closer to the hardware
Being a generalist with firmware and embedded work Have a wider breadth of expertise
Be ready for ongoing changes and innovation
No specific single platform (e.g., chipset or specific RTOS) is required, but the ability to quickly learn, and a solid engineering foundation
Experience with RTOS
Excellent software engineering skills Not just "hacking" code together, but writing rock-solid software
Creating readable, maintainable, and extensible code
Understand secure code
Excellent software design skills Plan before coding
Creating good software design documents
Being able to collaboratively improve designs together with stakeholders
Solid understanding of C programming at a very solid level
Preferred (Bonus) Skills: Strong expertise in communication protocols
Experience in Firmware development
Custom protocols on top of TCP/IP, Bluetooth, WiFi, or similar
Designing or extending protocols
Debugging and testing communication
Experience with lossy communication, making communication robust
Experience with test automation for embedded systems
Experience with code refactoring
Experience with "bare-metal" embedded systems
Experience with real-time embedded Linux OS
Experience with IoT, sensors
C++ programming at a solid level