About Berkshire Grey
Berkshire Grey helps customers radically change the essential way they do business by delivering game-changing technology that combines AI and robotics to automate fulfillment, supply chain, and logistics operations. Berkshire Grey solutions are a fundamental engine of change that transforms pick, pack, move, store, organize, and sort operations to deliver competitive advantage for enterprises serving today’s connected consumers. Berkshire Grey customers include Global 100 retailers and logistics service providers.
About This Position/Team
The Principal Software Engineer will be joining a robotics software engineering team working on developing new cutting-edge back-end robotic picking solutions to do a variety of complex manipulation tasks. If you have a start-up mentality, like to get things done, stick with things until you figure it out and are motivated by delivering working products to customers, then this might be a good fit for you. The robotic application includes the high-level logic that controls the system and ties everything together. You will be solving a variety of robotic problems including software behaviors and systems intelligence such as planning, perception, inference, error handling and estimation, etc.
Responsibilities/Functions Include:
- Bachelor of Science in Computer Science or a similar field of study
- The Engineer in this role will work with a multidisciplinary team to develop software for robotic applications related to robotic manipulation as applied to store replenishment and e-commerce order fulfillment.
- The Engineer in this role will be responsible for designing, implementing, and maintaining software that integrates and enhances robotic capabilities to deliver product features.
- This candidate will be expected to be a primary contributor and leader driving real-world customer delivery, acceptance, and operation.
Skills/Technical Requirements:
- 8+ years’ experience in software development
- Commercial experience in a fast paced, agile environment
- Demonstrated ability to:
-
-
- Provide technical leadership on key projects
- Architect and lead major components of the software solutions
- Operate autonomously
- Mentor other engineers
- Manage execution of technical efforts across a small team
- Determine and communicate justification of technical priorities to management
- Navigate and contribute to existing large, complex codebase
- Design and run real robot experiments, analyze results
- MVP mentality: prioritize functionality and go from simple to complex
- Technical communication to all levels: write summaries, tutorials, present results to the team to help inform design decisions
- Proficient in:
-
-
- Python
- C++
- System design
- VCS (Git)
- Issue tracking system (Jira)
- Linux-like environment (Ubuntu)
- Code review
- Design patterns (Producer-consumer, Modular and configurable, Robust and error-aware, etc.)
Preferred Qualifications:
- Demonstrated ability in one or more of the following:
-
-
- Code documentation that can stand the test of time
- Parameter server (zookeeper)
- Software testing (pytest)
- Process management, containers (docker, k8s)
- Robotics and robotic solutions:
- Basic knowledge of motion planning, controls
- Robot simulation, visualization
- Experience with real sensors, robots
- Basic data analysis (logging, profiling, statistics, pandas)
- Parallel/distributed systems
- Asynchronous/concurrent programming (asyncio)
- NoSQL databases (MongoDB)
- Messaging Systems (gRPC, Kafka)
- CI/CD (Jenkins, automated testing)
- API development (RESTful, websockets)
- Warehouse Management/Control Systems (WMS/WCS)
This position is on site for the first 6 months. Then the employee can work remotely up to 2 days a week.
6110-2322BC