Jobs · Engineering · Massachusetts

Principal Software Engineer, Manipulation

Berkshire Grey · Bedford, MA · 3 wk ago
On-siteEngineeringFull-time

Responsibilities

  • Autonomously contribute to and advance the software architecture, technical strategy, and long-term roadmap for robotic manipulation capabilities on the Scoop program.
  • Create high-performance software solutions for motion planning, robotic kinematics, control strategies, motion execution, multi-arm coordination, and environment representation.
  • Lead complex engineering efforts from requirements and design through implementation, validation, deployment, and operational support.
  • Architect and evolve simulation environments, automated tests, and hardware-in-the-loop workflows to validate expected, safe, and robust manipulation performance.
  • Lead the diagnosis and resolution of complex issues spanning manipulation software, robotic hardware, controls, sensors, distributed systems, and system behavior.
  • Work closely with hardware engineers, controls and perception engineers, product managers, systems engineers, test engineers, and other software teams to integrate manipulation capabilities into broader robotic systems.
  • Drive architecture discussions, design reviews, code reviews, technical planning, and major engineering decisions while documenting tradeoffs and ensuring durable outcomes.
  • Provide technical leadership and mentorship to senior and developing engineers, strengthening technical judgment and execution across the team.
  • Clearly and proactively communicate technical strategy, priorities, progress, tradeoffs, dependencies, and risks to engineering leaders and cross-functional stakeholders.

Requirements

  • Bachelor’s degree in Robotics, Computer Science, or a closely related field with 10+ years of professional software development experience in production environments; or a master’s degree with 8+ years of experience.
  • Expert-level development skills in Python and strong programming experience in C++.
  • Deep understanding of parallel and distributed systems and asynchronous or concurrent programming.
  • Extensive experience designing and implementing production software and algorithms for motion planning, motion execution, multi-arm coordination, robotic kinematics, control strategies, and/or environment representation.
  • Experience architecting and developing RESTful interfaces, gRPC services and clients, and other reliable communication interfaces for distributed robotic systems.
  • Advanced experience with Git-based development workflows, code reviews, issue tracking systems such as Jira, and automated testing, including unit, integration, simulation, and hardware-in-the-loop testing.
  • Proven ability to influence multidisciplinary teams, communicate effectively with technical and non-technical stakeholders, and mentor engineers across experience levels.

Qualifications

  • Master’s or doctoral degree in Robotics, Computer Science, or a closely related field.
  • 12+ years of software development experience in production environments, including significant technical leadership in robotic manipulation systems.
  • Advanced experience with ROS or ROS2 architecture, integration, performance analysis, and production deployment.
  • Experience leading the development and integration of drivers and software interfaces for robotic hardware, particularly robotic arms.
  • Experience establishing robotics simulation tools, test environments, and validation strategies for complex manipulation capabilities.
  • Deep experience developing, debugging, and operating production software in the Linux ecosystem, preferably Ubuntu.
  • Experience architecting data models and services using NoSQL databases such as MongoDB.
  • Experience taking manipulation capabilities from research or prototype stages through robust deployment in real-world customer environments.

Similar jobs