Robotics Senior Software Engineer, Compute Acceleration
Location: Redwood City, CA
About Dexterity
At Dexterity, we believe robots can positively transform the world. Our breakthrough technology frees people to do the creative, inspiring, problem-solving jobs that humans do best by enabling robots to handle repetitive and physically difficult work.
We’re starting with warehouse automation, where the need for smarter, more resilient supply chains impacts millions of lives and businesses worldwide. Dexterity’s full-stack fixed or mobile robot manipulator systems grasp, move, pack, and collaborate with human-like skill, awareness, and learning capabilities. Our systems are software-driven and hardware-agnostic and have already picked over 15 million goods in production. And did we mention we’re customer-obsessed? Every decision, large and small, is driven by one question – how can we empower our customers with robots to do more than they thought was possible?
Dexterity is one of the fastest-growing companies in robotics, backed by world-class investors such as Kleiner Perkins, Lightspeed Venture Partners, and Obvious Ventures. We’re a diverse and multidisciplinary team with a culture built on passion, trust, and dedication. Come join Dexterity and help make intelligent robots at scale a reality!
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 tools from modern C++ best practices to multithreading, GPUs, and other specialized accelerators. 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 high-performance software practices, multithreading, and hardware accelerators such as GPUs
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 (CUDA 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
Minimum two years of relevant industry experience (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 $150,000 to $180,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.
Equal Opportunity Employer
We are an equal-opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.