Master’s degree in Computer Vision, Machine Learning, Robotics, Computer Science or a closely related field.
8+ years of experience in software development with a focus on computer vision and/or robotics.
Proficiency in Python and C++.
A strong knowledge of computer science algorithms and data structures.
Knowledge of 3D point cloud processing algorithms and libraries (PCL, Open3D).
Knowledge of 2D image processing algorithms and libraries (OpenCV).
Knowledge of machine vision sensors (RGB and grayscale 2D cameras, 3D sensors).
Demonstrated ability to:
Apply perception algorithms to real-world problems.
Provide technical leadership on key projects.
Manage execution of technical efforts across a small team.
Mentor junior engineers.
Operate autonomously.
Develop on and debug real robotic systems.
Determine and communicate justification of technical priorities.
Knowledge of software design principles and patterns.
Experience with team software development (agile project management, task planning, and tracking).
Experience with refactoring and maintenance of the existing codebase.
Qualifications:
PhD in Computer Vision, Machine Learning, Robotics, Computer Science or a closely related field.
Practical experience with the application of machine learning for computer vision.
Work experience in the material handling industry.
Experience with unit test frameworks for C++ and Python.
Experience with designing multithreaded and asynchronous applications.
Experience with ROS1 or ROS2.
About The Job
Berkshire 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 Principal Software Engineer, Perception, you will develop, optimize, and own perception software deployed on real-world robots, allowing them to understand and interact with their environment in unprecedented ways. Your work will directly contribute to enhancing the capabilities of our robotic solutions. This position offers a unique opportunity to deploy the latest perception technologies, pushing the boundaries of robotic perception applied to real-world challenges.
Responsibilities
Develop and apply advanced perception algorithms for robotic applications.
Provide technical leadership and mentorship to a small team of software engineers.
Design and architect robust software solutions for real-world robotic systems deployed around the world.
Evaluate and integrate perception libraries and machine learning models into our solutions.
Collaborate with cross-functional teams to ensure seamless integration of perception software with other software, hardware and controls teams.
Communicate technical priorities and status.
Stay abreast of the latest advancements in perception and robotics, evaluating applicability to our challenges.