Job Description :
Location: Walnut Creek,CA
Duration: 12+ Months

High level expectations from Manager:

- Programming in C++, C, embedded C
- Linux application development
- Experience with firmware and board bring up

Be prepared to drop everything and help someone else meet their goals because they will do the same for you.
We treat you like an adult. We expect you to be able to work with other skilled people while accomplishing well defined goals.
We follow coding standards and review each other’s code. We strive to have our process make our coding better, not consume your workday.
You get to wear steal toe shoes and safety goggles when you go on the production floor. We may give you a screw driver or wrench and expect you to work to avoid workplace injury.
Be part of a team that is integral to the success of the company. We have goals to meet as a team, and we have the voice within the company to make our good ideas a reality.


Bachelor’s degree in Computer Science, Mechanical Engineering, Electrical Engineering, etc. Master’s degree preferred.
Strong embedded software experience. At least 4 years of direct, relevant experience is required.
Additional experience with system design, web design, or mechanical design.
LANGUAGE ABILITY: Ability to read, analyze, and interpret technical documentation which include algorithmic or mathematical components. Ability to document your designs for other software developers to follow. Ability to interpret written and verbal descriptions of problems and develop concrete code/procedure to solve the issue.
MATH ABILITY: Ability to comprehend and apply principles of advanced mathematical concepts such as calculus, determination of test reliability and validity, and performance trade-offs in code.
REASONING ABILITY: Ability to apply principles of logical or scientific
thinking to a wide range of intellectual and practical problems. Ability to deal with nonverbal symbolism (formulas, scientific equations, graphs, musical notes, etc.,) in its most difficult phases. Ability to deal with a variety of abstract and concrete variables.
Expert at developing Linux software applications in C and/or C++ using a POSIX or real time environment.
Knowledge of Linux device drivers, BSPs and real time OS concepts.
Experience utilizing popular development tools including Git, Bugzilla and Subversion is preferred.
Knowledge of SPI, I2C, GPIO, Serial, USB and CAN bus is preferred.
Deep understanding of the OSI Model and TCP/IP Stack
Awareness of system and network security principles such as system hardening
Knowledge of Oscilloscope/Logic Analyzer, preferred
Knowledge of electrical design and a solid understanding of physics required.
Experience with Linux programming preferred.
Experience with Web programming including HTML, CSS, JavaScript, JSON, AJAX,CGI.