Location: Redwood City, CA
About The Role
At Dexterity, you will move across the whole robot autonomy stack to accelerate algorithms and thereby unlock new robot capabilities. You will leverage primarily GPUs in addition to other tools from modern C++ best practices to multithreading. You will both accelerate existing algorithms and design and implement new algorithms with performance and access to hardware acceleration in mind. These algorithms will span from motion generation, control, and perception to high-level decision-making, where you will work with domain experts in each area to improve compute performance. You will enable rapid identification of key compute bottlenecks through improved tooling and developer team training. You will also build software infrastructure and uplevel teams to enable accessible and robust use of high-performance software best practices and leveraging of accelerated hardware. As part of this role, you will get hands-on experience deploying your software on real robots in production and scaling it across robot fleets, monitoring performance in order to hit throughput and other KPIs.
Day-to-day Responsibilities (does not include all responsibilities)
Build high-throughput and low-latency robot autonomy algorithms, leveraging GPUs, high-performance software practices, multithreading, and other hardware accelerators
Build infrastructure to empower developers to easily use high-performance and robust software best practices and to leverage hardware acceleration
Rapidly identify key compute bottlenecks in the robot autonomy stack and improve related tooling and infrastructure (tracing, profiling, benchmarking, and metrics reporting, etc.), empower teams to instrument their own software to measure and monitor performance
Work closely with teams across the autonomy stack, from robot perception and high-level decision-making to trajectory generation, optimization, and control to remove compute bottlenecks and enable high-performance compute to deliver new capabilities
Equip and uplevel software development teams with high-performance best practices through direct collaboration, code reviews and audits, sharing uplevelling resources, and broad communications
Experiment with frontier hardware acceleration resources to access capability and practicality for further leveraging and scaling
Participate in roadmapping of future robot compute platforms
Enable complex robotic systems to scale globally!
Desired Experience, Knowledge, Skills and Abilities
BS (6+ years experience) / MS (4+ years experience) / Ph.D. (2+ years experience) in Computer Science or a related discipline or equivalent experience.
Strong knowledge of modern C++ (C++20 preferred / not required)
Experience in GPU programming and compute architecture (CUDA C++ or CUDA Python interfaces)
Experience with multithreading preferred
Experience delivering production software
Proficient in Linux
Nice-to-have: Experience with Python and Docker
Strong user-centric focus on tooling and infrastructure
Excellent interpersonal and collaboration skills to work seamlessly with a wide variety of developers and teams
Independent, self-starter, and critical-thinking engineer
Excellent verbal and written communication skills
Strong analytical and problem-solving skills
Excellent organizational skills and attention to detail
Two years of relevant industry experience preferred (e.g., including game engine development, computer graphics, etc.)
Base pay is one element of our Total Rewards package which may also include comprehensive benefits and equity etc., depending on eligibility. The annual base salary range for this position is from $160,000 to $200,000. The actual base pay offered will be determined on factors such as years of relevant experience, skills, education etc. Decisions will be determined on a case-by-case basis.