Job Title: Firmware Software Engineer II
Duration: 15 months W2 ( possible conversion)
Location: Redmond, WA
Role and Responsibilities:
Support rapid prototyping, development, and characterization of novel hardware systems, including sensors and imaging systems for future Augmented Reality (AR), Virtual Reality (VR), and Mixed Reality (MR) devices.
Develop and own validation plans for new hardware within a cross-functional team.
Manage and document reference designs across multiple versions of sensors, firmware, and/or software configurations.
Develop simulation/emulation of new architectures for testing of RTL, hardware and software tools.
Understand and drive implementation of FW/SW development good practices across teams and projects
Write Linux drivers and/or software libraries. Strong software design and testing skills required.
Hands-on experience with the following interfaces: I2C/I3C, MIPI, UART, SPI, CSI-2, GPIO, USB
Hands-on experience with FPGA and hardware evaluation boards, and EDA design tools including Xilinx parts, tool chains, Verilog or VHDL
Direct experience with embedded systems (software and hardware) including design, testing, and support.
Familiar with programming language/scripting and test automation in both characterization and form-factor environment
Experience with lab instrumentation like oscilloscope, logic/protocol analyzers for debugging embedded systems at HW level
Experience in software design and programming in C/C++ for development, debugging, testing and performance analysis
Bachelor's degree + 3 years’ experience in computer science, electrical engineering, or equivalent required; graduate degree preferred
Computer vision and/or Machine learning
DSP and/or Signal processing
C++ and Python
Experience with Rigid boards design and manufacturing.
Experience interpreting datasheets and schematics, generating netlists and constraints, and using schematic for PCB layout and routing reference.
Familiarity with embedded micro-controllers' architecture such as MicroBlaze
Experience in real-time, embedded processing for computer vision and user interaction tasks, high-compute/throughput systems and using simulation and modeling technique to estimate performance and power