Minimum Qualifications:
- Bachelor’s degree in Computer Science or a closely related field.
- 5+ years of experience in software development.
- Strong development expertise in Python.
- Commercial experience in a fast paced, agile environment.
- Demonstrated ability to:
- Provide technical leadership on key projects
- Architect component-level software solutions
- Operate autonomously
- Determine and communicate justification of technical priorities to management
- Navigate and contribute to large, complex codebases
- MVP mentality, prioritizing functionality and going from simple to complex
- Proficient in:
- Python
- C++
- System design
- Git
- Jira
- Ubuntu
- Code reviews
- Design patterns (producer-consumer, modular and configurable, robust and error-aware, etc.)
Preferred Qualifications:
- Master’s degree in Computer Science or a closely related field.
- Robotics experience.
- Knowledge of the material handling field.
- Understanding of parallel/distributed systems and asynchronous/concurrent programming.
- Basic data analysis (logging, profiling, statics, pandas)
- Demonstrated ability in one or more of the following:
- Code documentation that can stand the test of time
- Key-value stores (ZooKeeper)
- Software testing (pytest)
- Process management, containers (Docker, Kubernetes)
- Within the robotics space:
- Design and run real robot experiments, analyzing results
- Basic knowledge of robot simulation, visualization
- Experience with real sensors, robots
- Experience in developing APIs.
- Experience in developing RESTful, and/or gRPC services/clients.
- Experience with the Robotic Operation System (ROS2).
- Experience with NoSQL databases (e.g. MongoDB).
About The JobBerkshire Grey is a leader in the field of AI and robotics, providing innovative solutions for e-commerce, retail replenishment, and logistics. Our technology automates complex pick, pack, and sort operations.In the role of Senior Software Engineer, Applications, you will be joining a robotics software engineering team working on developing cutting-edge robotic solutions. 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 fit for you.
The robotic application development involves high-level logic that controls the systems and ties everything together. You will be solving a variety of robotic problems including software behaviors and systems intelligence.Responsibilities
- Design, develop, and support advanced robotic application software deployed in production environments.
- Design, prototype, implement, test, and maintain software that integrates and enhances robotic capabilities to reliably deliver and perform complex robotic tasks.
- Work closely with hardware engineers, product managers, and other software teams to integrate capabilities into our broader robotic systems.
- Communicate technical priorities and status.
6110-2407JT