Robotics Senior Software Engineer, Compute Acceleration
Location: Redwood City, CA
About DexterityAt 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 GPUsBuild infrastructure to empower developers to easily use high-performance and robust software best practices and to leverage hardware accelerationRapidly 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 performanceWork 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 capabilitiesEquip and uplevel software development teams with high-performance best practices through direct collaboration, code reviews and audits, sharing uplevelling resources, and broad communicationsExperiment with frontier hardware acceleration resources to access capability and practicality for further leveraging and scalingParticipate in roadmapping of future robot compute platformsEnable complex robotic systems to scale globally!
Desired Experience, Knowledge, Skills and AbilitiesBS (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 preferredExperience delivering production softwareProficient in LinuxNice-to-have: Experience with Python and DockerStrong user-centric focus on tooling and infrastructureExcellent interpersonal and collaboration skills to work seamlessly with a wide variety of developers and teamsIndependent, self-starter, and critical-thinking engineerExcellent verbal and written communication skillsStrong analytical and problem-solving skillsExcellent organizational skills and attention to detailMinimum 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 EmployerWe 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.