
Job Type: Permanent, Full-time
Location: Cambridge, UK (Hybrid)
Requirements: Candidates eligible for UK employment
Company Overview:
Fieldwork Robotics is a pioneering autonomous robotics company developing modular, multi-crop, soft and adaptive robots designed to operate in real-world, non-controllable environments such as agricultural fields. Our mission is to transform farming through intelligent, scalable robotic systems that improve productivity, sustainability, and efficiency.
We operate a growing R&D headquarters in Cambridge and are establishing a new engineering hub in Lisbon following the incorporation of our Portugal subsidiary. Our teams work collaboratively across hardware, software, and operations to deliver reliable, production-grade autonomous robots.
Why Join Us:
We’re building autonomous robots that operate in one of the most challenging real-world environments imaginable: soft, irregular plants, dense foliage, moving targets, variable lighting, wind, and real commercial performance constraints.
As a Senior C++ Software Engineer, you’ll be responsible for developing the core robot control software that enables our robots to reliably, efficiently, and profitably pick raspberries in the field. You’ll work at the intersection of robot control, perception, planning, and real-time systems, turning vision and ML outputs into robust physical actions.
This is a hands-on role with real machines, real crops, and real commercial targets.
What you’ll be doing:
- Design, develop, and maintain and deploy high-performance modern C++ 20 software for production autonomous raspberry-picking robots
- Build robot control systems using ROS2 and ROS2 Control, integrating with hardware drivers, actuators, and sensors
- Consume perception outputs from vision and ML systems (fruit detection, tracking, quality estimation) and convert them into actionable robot behaviour
- Implement and improve algorithms for:
- Fruit tracking and state estimation
- Object detection integration
- Path and trajectory planning
- Obstacle avoidance in cluttered, deformable environments
- Pick sequencing and optimisation under uncertainty
- Develop mathematical and algorithmic solutions to real-world robotics problems involving noise, latency, dynamics, and partial observability
- Control and optimise the full pick cycle
- Log performance data from the robot and build diagnostics, metrics, and tooling to analyse failures and improve reliability, speed, and yield
- Debug complex system-level issues spanning software, hardware, perception, and environment
- Drive improvements in robot performance against commercial KPIs such as pick success rate, throughput, damage rate, and uptime
- Collaborate closely with robotics, vision, ML, mechanical, electronics and embedded systems, and operations teams to ship integrated solutions
What we’re looking for:
- Strong professional experience writing modern C++ in production systems
- Docker/containerised deployment
- Solid experience with ROS2 and ROS2 Control in real robotic platforms in distributed robotic architectures
- Proven ability to write robust, maintainable, and testable control software
- Experience working with perception outputs (vision, ML, sensor fusion) in robotics
- Strong foundations in core software engineering principles coupled with a strong ability in mathematics
- Experience with motion planning, trajectory generation, or real-time robot control
- Comfortable working in complex, noisy, real-world environments (not just simulation)
- Practical debugging skills — you enjoy finding the root cause of complex, cross-disciplinary problems
- Experience working with production level software
Engineering practices & tooling:
- GitLab for version control and code review and CI/CD pipelines
- Jira for planning and delivery tracking
- Structured release processes and versioning strategies
- Emphasis on code quality, documentation, and long-term maintainability
Nice to have:
- Experience with embedded/edge compute platforms (e.g. NVIDIA Jetson-class hardware)
- Familiarity with cloud platforms, data systems, and fleet-level software
- Experience with agricultural, mobile, or outdoor robotics
- Familiarity with real-time systems, hardware interfaces, or embedded Linux
- Experience tuning systems based on field data and operational feedback
- Background in optimisation, estimation, or probabilistic robotics
Why this role matters:
Your work directly determines whether the robot:
- picks the right fruit
- avoids damaging crops
- operates fast enough to be commercially viable
- survives real farms, real weather, and real seasons
- You won’t just be writing software — you’ll be driving the robot to hit its performance and commercial targets.
What We Offer:
- Competitive salary and benefits package
- Profit sharing / share options
- Hybrid working model
- Flexible working hours
- On-site parking (UK)
- Casual dress
- Company events & social activities
- Career progression in a fast-scaling robotics company
- Opportunity to work on real-world autonomous robots deployed in production environments
To apply:
Please send a brief CV and a short note about your interest in the role to: info@fieldworkrobotics.com