SlipstreamJobs tracks this role from the company's public career site. Apply directly on the employer's site.
Berkshire Grey is a leader in AI and robotics, providing innovative solutions for e-commerce, retail replenishment, and logistics. The company automates complex pick, pack, and sort operations through advanced robotic systems.
As a Principal Software Engineer, Manipulation on the Scoop program, you will serve as a senior technical leader responsible for advancing the manipulation capabilities of robotic solutions. You will define architecture, set technical direction, and develop advanced software that enables robots to interact with their environments and complete complex, real-world tasks.
You will lead work across motion planning, kinematics, control strategies, motion execution, multi-arm coordination, environment representation, simulation, and robotic hardware integration. This role requires deep technical judgment, hands-on software development, cross-functional leadership, and autonomous contribution to manipulation capabilities from concept and design through validation, production deployment, and long-term support.
Key responsibilities include:
- Autonomously advance the software architecture, technical strategy, and long-term roadmap for robotic manipulation capabilities
- Design, develop, deploy, and support advanced robotic manipulation software in production environments
- Create high-performance software solutions for motion planning, kinematics, control strategies, motion execution, multi-arm coordination, and environment representation
- Set technical direction for manipulation systems and lead complex engineering efforts from requirements through implementation, validation, deployment, and operational support
- Architect and evolve simulation environments, automated tests, and hardware-in-the-loop workflows to validate safe and robust manipulation performance
- Lead 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
- Drive architecture discussions, design reviews, code reviews, technical planning, and major engineering decisions
- Raise engineering standards for software design, performance, testing, observability, reliability, deployment, and maintainability
- Provide technical leadership and mentorship to senior and developing engineers
- 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 closely related field with 10+ years of professional software development experience in production environments; OR 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
- Deep knowledge of system design principles, software architecture, and design patterns, with a record of evolving complex systems over time
- Demonstrated ability to set technical direction and deliver well-designed, well-implemented, and thoroughly tested solutions
- Ability to lead ambiguous or ill-defined technical problems from initial investigation through architecture, planning, implementation, deployment, and operational support
- Advanced experience with Git-based development workflows, code reviews, issue tracking systems such as Jira, and automated testing (unit, integration, simulation, hardware-in-the-loop)
- Proven ability to influence multidisciplinary teams, communicate effectively with technical and non-technical stakeholders, and mentor engineers across experience levels
Preferred qualifications:
- Master's or doctoral degree in Robotics, Computer Science, or 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 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
- Deep experience with Python's asyncio library or similar asynchronous programming frameworks
- 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