- The Silicon team is driving the state of the art forward with breakthroughs in computer vision, machine learning, mixed reality, graphics, displays, sensors, and new ways to map the human body.
- We believe the only way to achieve our goals is to look at the entire stack, from transistors, through architecture, to firmware, and algorithms.
- We are seeking a Software Engineer with experience in compiler development (such as LLVM or higher-level IR) and code optimization for ISAs like x86, ARM, or RISC-V.
Responsibilities:
- Develop optimized software in an embedded environment for vector machines.
- Build an optimization flow or compiler automation for a SIMD or vector processor.
Experience:
- 5+ years of experience designing and implementing complex real-time systems using C/C++ for embedded processors.
Skillsets:
- 5+ years of experience in embedded firmware design or equivalent experience
- 5+ years of experience designing and implementing complex real-time systems using C/C++ for embedded processors.
- 5+ years of experience in software development for imaging and CV algorithms or related signal processing fields.
- Solid C/C++ programming and refactoring skills, and able to understand and debug heavily threaded code.
Preferred Qualifications:
• MS or PhD in EE/CS.
• Theoretical knowledge in the fields of computer vision, machine learning, and image processing, or ISP sensors.
• Experience with low-level SW optimization at instruction level, loop optimization, vectorization, data organization and caching
• Theoretical knowledge of audio pipeline and algorithms: capture, render, codecs.
• Experience in development of imaging and CV or related signal processing algorithms (e.g. OpenCV, Eigen, Halide, Game
physics and 3D graphics, CODECs, or Communication)
• Prior experience with ARM or RISC-V CPUs, or Tensilica DSP architectures
Education:
- Bachelor’s degree in electrical engineering, computer science, or equivalent relevant experience