Overview
Remote
On Site
$90 - $110
Contract - W2
Contract - 12 Month(s)
Skills
Computer Vision
C++
ARM
3D computer graphics
Augmented reality
Code optimization
Digital signal processing
ISP
Image processing
LLVM
OpenCV
SIMD
x86
Virtual reality
Real-time
Machine Learning (ML)
Codecs
Valgrind
Perf
gprof
VisualVM
GDB
DSP
RISC
RISC-V
Tensilica
Video
Audio
Job Details
Job Description:
- Clients mission is to give people the power to build community and bring the world closer together. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build connections in meaningful ways. Together, we can help people build stronger communities we're just getting started.
- Focuses on connecting people through Virtual Reality (VR) and Augmented Reality (AR). The compute performance and power efficiency requirements of these products require custom silicon. 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.
Minimum Qualifications:
- Bachelor s degree in electrical engineering, computer science, or equivalent relevant 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 coaching
- Theoretical knowledge of audio pipelines and algorithms: capture, render, codecs.
- Experience in the 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.
Other Details about the Role:
- Story Behind the Need: This is a backfill for Contractor that we had, and they left and joined another company in fulltime role.
- Is there anything we can share with Candidates to compel them to choose over competitors? It is an exciting role, doing applied research and development in the cross section of LLM, Compiler and modern C/C++ programming.
- Typical Day in the Role & How will performance be measured: For our contractor roles, usually we assign long-term projects, which need to be completed in the span of weeks or sometimes months, so it will be a mixture of research, design, problem solving, coding and debugging. Success is measured by successfully landing the impact and delivering on the tasks.
- Interview Process: We will do three sequential interviews, general coding and problem solving, modern C++ coding and compiler, System design and AI.
- Onsite: Onsite
- Coding Requirement: coding will be C/C++ and focusing on in-domain expertise, mostly computer vision, audio signal processing and AI/ML related topics
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.