Embedded Software Engineer

Job Summary

Intevac Photonics is looking for a senior embedded software engineer to participate in the development of new digital camera systems employing intensified image sensors. We are looking for a highly motivated, team-oriented, self-driven individual with a keen technical mind and an eye for details.  Intevac Photonics Division is comprised of engineers who have a detailed understanding of hardware engineering and systems with embedded software. We operate in a fast-paced, highly technical R&D environment.  You will be expected to explore and create new product concepts, enhance our current product lines, and stay abreast of new technologies and techniques.

Primary Responsibilities

  • Developing embedded software for micro-processor based real-time video systems. Platforms include ARM, Freescale, Xilinx microBlaze, Xilinx Zynq, Altera Nios II, and others.
  • Implementing new firmware, improving existing firmware, reuse and integration of image processing algorithms.
  • Defining hardware, firmware and communication interfaces.
  • Interfacing microcontrollers with FPGAs and other digital modules.
  • Developing device drivers, unit tests and creating software documentation.
  • Integration of products, bring up boards and resolve issues on hardware platforms.
  • Test and verify system functions and features.

Required Skills and Experience

  • Expertise in C/C++.
  • Experience with python.
  • Experience with ARM processors, preferably with Freescale and Xilinx devices.
  • Proficiency with hardware interfaces such as: UART, SPI, GPIO, I2C, RS232, RS495, JTAG, USB.
  • Expertise with RTOS and multitasking is required, FreeRTOS is preferred.
  • Experience using electrical test equipment such as oscilloscopes, multi meters, signal generators, etc.
  • Familiarity with PCBA-level hardware and debugging.
  • Experience with version control.
  • Experience with other processors like Xilinx microBlaze, Altera Nios II, Microchip PIC, Arduino is desirable
  • Working knowledge of video interfaces and familiarity working with products such as Image Sensors, Displays, ADC, DACS and other peripheral devices is desirable.
  • Familiarity with video cameras or image sensor products and of video principles is a plus.
  • Experience with machine learning algorithm development is a plus.

Minimum Requirements

  • BS in EE or equivalent, advanced degree preferred.
  • 5+ years’ experience with embedded software systems experience or junior level with relevant experience.
  • Permanent Residency required. US citizenship is preferred.