Job TITLE: Embedded Software Developer

Location: Campbell CA

Term: Contract

Skill: The Senior Embedded Engineer will be responsible for embedded development on Linux based systems, including board bring up, power-on and run-time diagnostics, drivers and user-land applications. Responsibilities • Take responsibility for multiple areas of a product, from low-level (drivers, diags, board bring up) to embedded applications including networking, "business logic" and configuration. • Design and implement device drivers and applications for embedded product based on the Linux OS, with peripherals interfaced via USB, serial, SPI and I2C. • Work side by side with hardware engineers to bring up new boards and systems, debug potential hardware issues, evaluate hardware architectures, board schematics/layout and third-party chipsets from the software perspective. Requirements • Demonstrated ability and willingness to make critical system-level design decisions and drive projects from start to finish with minimal supervision • Demonstrated ability to dive into a project and deal with the uncertainties of new product development, and get hands-on quickly • Proven ability to perform all low level SW development for custom boards running Linux, including boot loader, U-Boot, kernel, drivers, and applications • 7+ years of experience in developing embedded systems with excellent C programming and scripting languages skills • Experience with board bring up, Linux kernel, driver, application development and in debugging crash dumps • Fluency with the GCC toolchain, Make, buildroot, SVN/git, Bash • Experience with Serial interfaces & protocols: RS-232, I2C, SPI, PPP, and Wireless interfaces such as WiFi, Bluetooth, NFC, Zigbee • Familiarity with Network programming using sockets or higher level abstractions and File systems such UBIFS, JFFS2 • Excellent communication skills, and willingness to participate with positive attitude in a team environment

Experience: NA

Education: • Bachelor’s degree (Masters preferred) in Electrical Engineering/Computer Science or equivalent