P

Senior Software Developer - AgriTech

Pty
Full-time
Remote
South Africa, South Africa

Introduction

Our client is a development house with offices in Stellenbosch and Johannesburg. They focus on building new innovative agricultural technologies. They are a start-up, agricultural software company building solutions to optimise the value chain, while offering a business-to-business service. Their commerce platform connects buyers and growers with high quality fresh produce, creates visibility along the supply chain, and aggregates all data and communications onto a single platform. 

Our client is looking for a developer to assist in building a SaaS platform for the agricultural sector. They are a small start-up in the AgTech sector with a fully remote software development team, working across South Africa. 

 

Duties & Responsibilities

The responsibilities of the employee will include, but are not limited to the following:

  • Design, develop, and maintain Ruby on Rails API, Angular web applications, and Electron desktop applications
  • Collaborate with product managers, designers, and other stakeholders to gather requirements and translate them into technical specifications.
  • Write clean, efficient, and reusable code following best practices and coding standards.
  • Utilize Ruby on Rails for building robust APIs and implement GraphQL for all network communications.

  • Develop responsive web applications using Angular for seamless user experiences.

  • Build Electron desktop applications compatible with multiple platforms (Windows, macOS,

  • Linux).

  • Deploy applications on Heroku for API and background workers.

  • Implement and maintain RDS Postgres for database management.

  • Utilize various AWS services for application deployment, scalability, and reliability.

  • Use GitLab for source control, CI/CD pipelines, and collaboration.

  • Collaborate with the QA team to ensure the delivery of high-quality software.

  • Optimise application performance and ensure scalability and reliability.

  • Troubleshoot and debug production issues, providing timely resolutions.

  • Stay up-to-date with the latest trends and technologies in Ruby on Rails, Angular, Electron, and related technologies.

  • Utilize Figma for UI prototyping and collaborate with designers for seamless integration.

  • Utilize Docker for local development, ensuring consistency across different platforms (Nix or Windows).

  • Refactor our vessel, container & pallet tracking for more performant and advanced use cases.

  • Adding additional strategies to reconcile packhouse output with orders.

  • Alerts for transportation changes (ETA changes, GPS monitoring).

  • Replace certain 3rd party container tracking services with our own.

  • Integrate into department of agriculture forestry and fisheries APIs for enriched tracking.

  • Architecture refactor for our ETL pipeline into an ELT based solution.

  • Improved ops dashboards for our various tracking libraries.

  • R&D database sharding strategies to support increased future volume.

  • Phase out more of the old Bulma usage in favour of Tailwind CSS

  • POC for Mongo usage instead of Postgres for large document tables

  • Invoice generation and payment alerts

Desired Experience & Qualification

Preferably a degree in Computer Science, Mathematics, Engineering, Information Systems.

Languages / Frameworks / Major libraries / Infra:

  • Ruby on Rails API

  • Angular webapp

  • Electron desktop app

  • Heroku for API and background workers

  • RDS Postgres for database

  • Various AWS services

  • Gitlab for source control & CI/CD

  • GraphQL for all network comms

  • Figma for UI prototyping

  • Docker for local dev (we dev on nix or win, you choose)

  • Proven experience as a Senior Ruby on Rails Developer with a strong background in Angular frontend development.

  • Proficient in Ruby on Rails, Angular, HTML, CSS, JavaScript, and related technologies.

  • Experience with relational databases (e.g., PostgreSQL) and writing complex SQL queries.

  • Solid understanding of object-oriented programming (OOP) concepts and software design principles.

  • Experience with version control systems, such as Git.

  • Strong problem-solving and debugging skills.

  • Excellent teamwork and collaboration abilities.

  • Strong written and verbal communication skills.

  • Ability to handle multiple projects and prioritize tasks effectively.

  • Experience with Agile development methodologies is a plus.

  • Contributions to open-source projects or participation in relevant communities is a plus.

Package & Remuneration

R50 000 CTC - R90 000 CTC depending on experience