Picker Agrobotics · Ramat Yishai
About us
Picker Agrobotics is an agritech startup developing autonomous robots for harvesting tree fruit. Our robots work in real orchards, with dust, weather and uneven terrain, so our software has to be robust and reliable in the field.
We're an R&D team heading for field pilots and deployment in the next 7–12 months. This is the stage where research code becomes a product, and we're looking for someone to help make that happen.
The role
You'll be the bridge between R&D and deployment, working across algorithmic teams to turn new capabilities into reliable production software.
As part of the process from POC to a deployable product, you'll work on our software infrastructure, tooling and introspection capabilities, and end-to-end user-facing features.
You'll join as our second software engineer, working side by side with the software lead. You'll help shape the architecture, keep the codebase consistent, and guide other team members on where their code belongs. The role is broad, and challenges differ on a daily basis, ranging from writing new features and fixing a broken build to hardware integration and consolidating legacy features into coherent libraries.
Tools and technology
- Languages: Python, C/C++, Bash
- Platform: Linux (Ubuntu), Docker (Compose, Buildx), Git, CMake
- Middleware: ROS2 with DDS
- Hardware interfaces: RS-485/422, CAN bus, EtherCAT, microcontrollers
- Cloud: AWS S3, EC2
What you'll do
- Productionize code from other teams, such as ML and control engineering, by reviewing it, structuring it and applying clean code patterns, to ensure correctness and make future expansion easier.
- Build new end-to-end features and maintain existing code.
- Help consolidate legacy features into well-designed libraries, while keeping the balance between the company's current needs and a fast-paced delivery schedule.
- Assist in developing our testing practice, QA methods and CI/CD.
- Support the algorithmic teams on system integration and day-to-day issues: builds, environments, containers and middleware.
- Take part in field testing, which will increase as we approach deployment.
Who you are
- Hands-on team player: Eager to learn and happy to get your hands dirty, in the code and on the robot.
- A clear communicator: You can explain software engineering ideas to people from other professions in a way that helps them in their work.
- Opinionated: You argue for good structure, and change your mind when someone shows you a better way.
Requirements
Must have (Professional Experience):
- A degree in Computer Science / Computer Engineering and at least one year in an industry position, OR equivalent proven hands-on industry experience.
- Python (Proven Experience) – Designed, wrote and delivered deployment-ready code. Deep understanding of data structures, multithreading and OOP best practices.
- Linux (Hands On) – Experience and familiarity with Ubuntu systems, inspection, services and networks. Comfortable using and interacting with terminals.
- Git (Proven Experience) – Strong command of Git versioning and branching. Capable of solving complex Git scenarios.
- OOP (Proven Experience) – Solid grasp of SOLID principles and the fundamental design patterns. Able to extract and redesign scripts into well-structured, reusable code.
- Docker (Proficiency) – Including Docker Compose and Buildx, managing permissions, network definitions, multi-stage builds and image layering.
- Hardware integration (Knowledge) – Our robots connect several computing units with motors, sensors and cameras. You're familiar with one or more communication protocols, such as RS-485/422, CAN bus or EtherCAT. Faced with a new device, you can decipher its datasheet and work out how to communicate with it.
Nice-to-have experience (Professional / Educational):
- C++/C (Proficiency) – Reading and writing code bases, and experience with CMake and build systems on Linux.
- Microcontrollers (Knowledge) – Experience (Professional / Educational).
- CI/CD (Knowledge) – Understanding of, and a desire to learn and develop, testing and deployment practices.
- ROS2, including DDS (Familiarity) – Our product utilizes ROS2 as its main IPC middleware; experience and know-how are a meaningful advantage.
- Cloud capabilities (Familiarity) – Experience working with remote buckets and cloud compute, such as EC2 and AWS S3, is an advantage.
- Bash scripting (Familiarity) – Reading, and guided writing of, scripts for deployment and system management.
- Using AI coding agents critically, and working well without them.
What we offer
- Growth and learning across software, robotics and hardware.
- Early-stage influence: help set the engineering standards the codebase grows on.
- Field work: take the robot from R&D to deployment and see your code run in the orchard.