Minimum Qualifications:
- Bachelor's degree in Computer Vision, Machine Learning, Robotics, Computer Science, or a closely related field.
- 4+ years of experience in software development with a focus on computer vision.
- Proficiency in C++ and Python.
- Knowledge of software engineering practices (version control, testing, patterns).
- Mathematical proficiency (Linear Algebra, Calculus, Statistics, Optimization).
- Solid 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).
- Advanced user-level knowledge of Linux (basic scripting, tools, basic networking).
- Demonstrated ability to:
- Read and understand technical requirements and design documents.
- Follow company guidelines and write quality code in a reasonable time.
- Apply computer vision and machine learning algorithms to real problems.
- Read and understand existing code.
- Comment code as required and document developed functions on the internal company portal.
- Write technical papers and presentations as requested.
- Effectively communicate with peers and work in a team.
- Adapt quickly to changes in project priorities.
- Communication and collaboration skills.
- Experience with team software development (agile project management, task planning, and tracking).
Preferred Qualifications:
- Practical experience with robotic systems and automated material handling.
- Practical experience with machine vision (RGB and grayscale 2D cameras, 3D sensors).
- Practical knowledge of frameworks for matrix computations, such as Eigen and NumPy.
- Practical experience with developing computer graphics.
- Practical experience or theoretical knowledge of machine learning.
- Practical experience with numerical simulation in science (e.g., physics, engineering).
- Experience with unit test frameworks for C++ and Python.
- Experience with GPU computing, distributed and parallel processing.
- Experience with ROS1 or ROS2.
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, you will work as part of the perception software team and with related software and hardware teams to develop new functionalities and extend existing functionalities of material handling robotic systems.Responsibilities
- Conduct full-cycle development of perception functions, autonomously or under the supervision of a team leader.
- Write unit tests and test functions on real hardware as required.
- Read and understand existing code and provide code reviews for peers.
- Make reasonable estimates of task execution times and adhere to them.
- Search for, read, and implement algorithms from engineering books and research papers.
- Collect, process, and annotate datasets.
- Train, fine-tune, and validate machine learning models.
- Continuously self-educate on the latest developments in perception and robotics.
6110-2417VR