Intermediate Software Engineer

Technology · Cape Town, Western Cape
Department Technology
Employment Type Full-Time
Minimum Experience Mid-level

We are looking for an Intermediate Software Engineer to join our team in Cape Town. The ideal candidate is comfortable in a fast-paced startup environment, with experience across different tech stacks. We are looking for somebody who is passionate about delivering value to customers, simplifying complex problems and getting stuff done with a small amount of oversight and guidance.

Why choose Aerobotics?
The United Nations projects that the global population will reach 10 billion people by 2050. To support this population, growers need to stretch to deliver higher volumes and higher quality of yields. At the same time, growers are facing increased pressures from global warming and macro-economic factors, causing restrictions on inputs, unpredictable water supply and volatile weather

Aerobotics’ vision is to drive optimal yield outcomes for farms of the future. We are building towards an end-to-end yield optimisation platform for perennial growers, putting in place technology to measure yield, deliver agronomic advice and machines to drive yield-improving solutions in the field, and yield protection programs to hedge against uncontrollable events. Developing this platform will help us attribute specific farming practices to yield improvements, closing one of the major data gaps in agriculture, and setting ourselves up to support growers in their mission to feed the world.


How the tech team works:
The tech team is broken up into cross functional project/product squads. Each squad is responsible for owning a specific customer value-proposition from conceptualisation through to delivery, allowing for maximal autonomy and ownership within the team. A squad generally consists of a Product Manager, Product Designer (if applicable), Engineering Team Lead and technical team members. Our technical team consists of 3 core functions: Software Engineering (Frontend & Backend), Data Science and Drone Engineering.

We use our own combination of agile development methodologies (encompassing our mix of exploratory, discovery & delivery work) to ensure that we are building the best product in an effective manner (without getting lost in the process for the sake of it).

With one of our core values being ‘Remote First’, we are flexible and are comfortable for our A-Team to work from wherever they are comfortable. We are about output and trust that the job will get done from the location deemed fit. With this being said, we do believe that some ‘in person’ face-time with the team is also important, specifically for morale and team collaboration. We have an awesome office space that is designed to be a shared working space and we encourage that the teams come in, if possible, a minimum of twice a week.


The tech stack that powers us:

  • We use Python 3 for most of our backend systems. Specific frameworks include Tensorflow for the Data Science work, Django for our APIs and a multitude of internally built libraries containing convenience functions.
  • Our serverless cloud infrastructure (Fargate, Lambda, Step Functions, Cloudfront, SageMaker etc) is hosted on AWS, managed by Terraform Cloud leveraging Infrastructure-As-Code principles.
  • Our frontend web & mobile applications use React and React Native.
  • Our ML stack is heavily computer vision focussed, leveraging CNNs for object detection & instance segmentation.
  • Continuous integration, delivery and testing is part of every application, ensuring that the technical team can entirely own their work from development through to production. This allows us to push multiple deployments daily, allowing for iterative development & continuous learning.


Key responsibilities:

  • Effectively communicating with the Team Lead, seniors in team or Product Manager to ensure that we are thinking about all the scenarios when approaching a problem.
  • Helping prioritise and build out necessary technical work (tech debt, version upgrades, framework changes, new standards etc).
  • Driving software best practices within your team and the software engineering function.
  • Improving efficiency, reliability and scalability of the system as a whole, taking cost and utilisation into account.
  • Simplifying & solving complex problems.


Required competencies:

  • Ability to design & maintain simple systems to support product and engineering requirements.
  • Ability to develop well-structured, performant and production-ready applications.
  • Experience working with schema-first APIs within a multi-service architecture.
  • Ability to work autonomously in a small to medium team to solve complex problems.
  • Ability to work in a highly dynamic and fast-paced startup environment.
  • Exceptional wit, sense of humour and ability to conjure memes at will.

Thank You

Your application was submitted successfully.

  • Location
    Cape Town, Western Cape
  • Department
    Technology
  • Employment Type
    Full-Time
  • Minimum Experience
    Mid-level