Software Engineer

AgriData Innovations is a cutting-edge technology company specialising in developing robotic imaging systems for greenhouse applications to generate crop insights for growers. We are seeking a talented and motivated Software Developer to join our dynamic team and help develop software that runs on our robotic imaging systems. If you have a passion for programming, a keen interest in sensors, and a willingness to contribute to innovative projects in greenhouse technology, we want to hear from you!

Preferred skills

  • Knowledge of hardware/software integration.
  • Ability to adapt to evolving project requirements.
  • Some experience in C++ programming.
  • We encourage to include a project portfolio (GitHub link, personal website)


  • Minimum: Bachelor’s degree in Computer Science, Software Engineering, or a related field.
  • Minimum: 3 years of hands-on experience in Python development outside of academic projects.
  • Flexibility and eagerness to learn new technologies and tools.
  • Strong problem-solving skills and ability to work in a collaborative team environment.
  • Excellent communication skills and a proactive attitude.
  • Fluent in English.
  • Familiar with version control systems (e.g., Git).
  • Familiar with Linux operating systems.
  • Familiar with automatic testing (unit and integration tests).


  • Write clean, efficient, and well-documented code in mostly Python and some C++.
  • Contribute to the design, development, and testing of software applications.
  • Work closely with cross-functional teams to integrate software with hardware components.
  • Troubleshoot and debug software issues to ensure optimal system performance.
  • Participate in on-site activities at greenhouses, including system installations and testing.
  • Collaborate with an agile team to develop and maintain the software which runs on our greenhouse imaging systems.
What can you expect to work on?
  • Development of camera controllers that work in varying lighting conditions.
  • Create smart ways of handling faulty network connections.
  • Improve system state machines to handle different types of failures.
  • Design and implement an approach of remotely seeing the live state of all in field systems.
Does this seem like something for you?
Send an email to with your motivation and your resume!