Embedded Systems Software Engineer
Engineering | Sunnyvale, CA | Full Time
Kumu Networks is revolutionizing the way wireless systems are built using an innovative full-duplex wireless design that its founders developed as a research project at Stanford. Wireless full-duplex allows a radio to transmit and receive signals at the same time using a single frequency channel. Kumu's patented full-duplex technology changes the basic assumptions on which current wireless radios are built, allowing for improved performance and reduced complexity across a variety of wireless devices and markets. Come help us change the future of wireless!
The embedded systems software engineer is responsible for designing, debugging, and verifying embedded systems code for wireless systems built on Kumu’s technology. The engineer will be part of a small team and responsible for bringing up embedded hardware running Linux, implementing control algorithms, and writing drivers for a variety of embedded system peripherals including DACs, ADCs, SPI radio components, FPGA DSP blocks, communication interfaces, and more. The ideal engineer will work well with the system architects, contribute to the overall design of the embedded systems, and collaborate with mixed-signal/RF, FPGA and test engineers.
•Bring up and verify functionality of new embedded system platforms using lab equipment (JTAG debuggers, logic analyzers, oscilloscopes, etc.)
•Bring up bootloader, Linux kernel and root filesystem on an embedded processor
•Work with system specifications to implement, verify, and test embedded systems drivers and algorithms in C/C++ running under embedded Linux
•Work with mixed signal and FPGA engineers to ensure that hardware/software interfaces are properly designed
•Contribute to software test automation frameworks involving test equipment control drivers and automation code written in Python.
•Work effectively with the test team to test and debug issues both in the lab and on field deployed systems.
•Ensure that designed features meet specifications and interface correctly with the rest of the system
•Demonstrated ability to design, build, and ship low-level C, C++ and Python code for embedded systems under Linux
•Fluent in C/C++ and Python with ability to rapidly design, test, and verify systems
•Experience with Linux device and network drivers and implementation on embedded processors
•Experience with build systems (make), source control (Git) and bug tracking systems
•Knowledge of Ethernet and IP networking protocols (ARP, DHCP, VLAN, IP, TCP/UDP etc)
•Clear written and spoken communication, ability to create functional and design specifications
•Experience with software-defined radio platforms
•Experience with lab equipment, such as oscilloscopes, logic analyzers, power-supplies
•Experience working on networking products
•Experience in designing embedded software for carrier-grade telecom systems
•Experience with cellular protocols like UMTS and LTE
•Breakfast and lunch provided daily
•Sunny, open, collaborative workspace
•Opportunity to work with great people!