PURPOSE
We are seeking a motivated Full Stack Software Developer with an interest in building software that interfaces with industrial control systems.
Based in Stellenbosch, South Africa, AgrigateOne is a leading AgTech platform building reliable, maintainable software that integrates with industrial and IoT devices used on packhouse floors. This role supports our broader mission of transforming agricultural operations through automation, data-driven systems, and innovative technology.
The ideal candidate is someone who is eager to learn, pragmatic, and driven to create solutions delivering tangible customer value. You will learn, build, and travel alongside a small, pragmatic team, gaining experience across the stack while helping deliver tangible value to customers in a rapidly evolving sector.
OBJECTIVES (main duties and responsibilities)
The responsibilities of the employee will include, but are not limited to the following:
- Develop, improve, and maintain our in-house Ruby-based web framework and PostgreSQL-backed systems that run packhouse and IoT operations.
- Deliver clean, maintainable, and efficient full-stack code while following solid development practices, testing, and documentation standards.
- Contribute to both front-end and back-end features, including UI improvements, business logic, data workflows, and performance tuning.
- Integrate with IoT and industrial devices using RESTful APIs and common communication protocols such as TCP, UDP, and Modbus.
- Assist with on-site installation and configuration of software, networking, and IoT hardware at packhouses.
- Collaborate with designers, product teams, quality assurance and engineers to translate requirements into reliable, user-focused technical solutions.
- Solve production issues quickly through debugging, troubleshooting, and structured problem-solving.
- Participate in code reviews, technical discussions, and knowledge-sharing sessions to continuously improve team standards and practices.
- Help improve the front-end stack where needed (e.g., Tailwind CSS adoption, UI/UX refinements) even if not the primary focus.
- Work with Git, CI/CD pipelines, and internal tooling to ensure stable deployments and smooth team collaboration.
- Apply basic networking knowledge (e.g., IPs, subnets, VLANs, topologies) to assist with system setups and connectivity challenges.
- Contribute to R&D efforts, exploring new approaches to data, architecture, and device integration.
ROLE REQUIREMENTS
Formal Qualifications
- Preferably a degree in Computer Science, Mathematics, Engineering, Information Systems, or a related field.
Knowledge, Skills & Experience
Languages / Frameworks / Major libraries / Infrastructure:
- Basic knowledge of Ruby, Ruby on Rails, and a willingness to learn new frameworks.
- Solid understanding of object-oriented programming (OOP) concepts, REST APIs, and software design principles.
- Familiarity with version control systems, such as Git/GitHub.
- Strong problem-solving, debugging ability, and comfort working in Linux/terminal environments.
- Understanding of networking concepts (IPs, subnetting, TCP/UDP, Modbus) is advantageous.
- Good communication skills and ability to collaborate within interdisciplinary teams.
- Comfortable handling multiple tasks with or without guidance.
- Willingness to travel for on-site client installations.
- Bonus: experience with cloud platforms (e.g., AWS), microcontrollers/IoT methods, and low-level protocols like RS232.
- Optional: basic Java exposure, especially for IoT device communication.
Languages
English
Afrikaans (Beneficial)
CULTURE
- Someone to enhance the positive company culture with a high emphasis on morals, values and diversity.
- Preferably someone with a passion for/experience in the agriculture and /or logistics & technology industries.
- A go-getter that can grow with the company.
COMPANY OVERVIEW
Visit our About Us page to discover more about our culture, work ethic, and vision.