Embedded Software Engineer Job in Milpitas, California US

About Us

Moog-Crossbow creates exceptional opportunities for flexible, enthusiastic people who want to do important work at the cutting edge of technology. We develop a number of products for continuous position tracking and inertial navigation. One of our products enables leading Fortune 50 logistics companies to monitor their packages in real-time as they move across the world. Another is used by the US military to precisely determine the position and orientation of ground vehicles.

Moog-Crossbow believes in a performance driven culture that empowers and inspires individuals to achieve remarkable things for our customers, for the company and for each other. We hire great people and help them to achieve their potential: deeper job satisfaction, increased earning power and improved job prospects are all part of the mix, but the Moog culture is fundamentally about respect. We believe in our people and it shows in everything we do.

About this Job

Moog Crossbow is looking for an Embedded Software Engineer to lead platform level firmware development, architecture, and maintenance of our leading edge products. You should have extensive experience in C/C++, real-time operating systems, and developing efficient and robust hardware driver code. Familiarity with implementing algorithmic data processing of raw sensor data to maximize the relevant signal from noise is also required. Additional familiarity with standard web protocols such as HTTP and TCP/IP, and with other languages such as C#, Perl, or Python is also desirable.

We are committed to developing the most cutting edge, and highest quality navigation systems.

Responsibilities
*Extend multi-threaded embedded systems written in C/C++
*Interface with GPS, inertial sensors, wireless radios, DSPs and low power microcontrollers
*Interface with data capture, analysis, and visualization tools written in C# via custom packet protocols and web applications written in Python via HTTP protocol.
*Aggressively optimize memory usage and energy usage
*Developing and debugging multi-threaded systems, e.g. control blocking and asynchronous behaviors
*Design and implement detailed sensor data processing algorithms
*Write coherent, organized, maintainable code on sophisticated code-base

Requirements
*Bachelors Degree in CS or equivalent, M.S. preferred
*Expert C, C++ programming skills
*5+ years experience developing multi-threaded embedded systems
*Flexible, team-focused, and able to handle many tasks concurrently
*Quality oriented, do it right the first time" mentality
*Able to lead full SW product development cycle including builds and QA
*Passion for software development and object oriented design
Preferred Experience
*Experience with embedded RTOS design and driver development
*Experience with embedded tools, compilers, IAR, arm-gcc, gdb, and IDE
*Experience designing serial protocols, and writing PC applications in C#
*Working in agile and test-centric development environments