Job Description
- Bring your interest in research, programming skills and strength in mathematics to scientific challenges that matter to South African sugarcane growers.
- SASRI is home to some of the most experienced sugarcane scientists in the world: plant breeders, agronomists, soil and water scientists, entomologists, pathologists, crop modellers and economists. Between them they hold decades of field trial, climate, soil, pest, disease and genetic data. What they need now is someone who can turn that data into tools that change how they work.
- We are looking for a Research Software and Data Engineer who enjoys research, has strong mathematical and programming skills, and is as interested in understanding a scientific problem as in building the solution. You will work alongside leading scientists, translate research questions into practical computational approaches, and develop tools that support the work of thousands of South African growers.
About the role
- You will connect SASRI's science with modern programming, data engineering and AI. You will work with researchers to understand their questions, clarify the underlying scientific problem, and design and build the software, data platforms, mathematical and statistical models, and AI tools that help them investigate it. The role suits someone who enjoys combining analytical thinking with hands-on programming and learning about new areas of research.
- One month you might be building a pipeline that brings years of breeding trial data together in one place. The next you might be developing an AI agent that helps a scientist query that data in plain language, or a machine learning model that fills gaps in climate records. You will take ideas from first prototype through to tools that researchers rely on every day.
- You will have room to experiment with new technologies, including agentic AI and a real say in how SASRI modernises its research systems. Reporting to the Systems Architect.
What you'll be doing
Working with scientists
- Working closely with researchers across disciplines to understand their research questions and the mathematical, data and technology challenges behind them
- Asking the right questions to clarify the real problem before proposing a solution
- Training and supporting researchers and staff so they can make the most of the tools and data systems you build
Building AI and data tools for research
- Applying mathematical reasoning, statistics, mathematical modelling, machine learning and AI to research problems, and translating these approaches into tested, reliable code
- Building proof-of-concept tools quickly, testing whether they deliver real value, and turning the successful ones into reliable production systems
- Developing AI-assisted and agentic workflows that automate routine data work and free scientists up for science
Engineering the data foundations
- Designing and managing SASRI's research data repositories, data models and ETL/ELT pipelines
- Developing, maintaining and modernising scientific software, research information systems, Oracle databases and APIs, including implementing and testing computational methods used in research
- Putting good data governance in place so research data is high quality, secure, well documented and easy to reuse
Shaping where SASRI goes next
- Keeping an eye on emerging technologies and recommending what is worth adopting
- Contributing to the modernisation of SASRI's research computing and data management, including hybrid cloud
What you'll need
- A BSc Honours degree or higher in Computer Science, Data Science, Applied Mathematics, Statistics, Engineering, Bioinformatics, Agricultural Informatics or a related field
- At least 3 years' experience in software development, scientific programming, data engineering, research computing, data analytics or similar work
- A track record of building technical solutions to real research, business or operational problems
- Strong Python programming skills, with the ability to translate mathematical and analytical methods into working code and to develop, maintain and troubleshoot software applications
- A sound understanding of relational databases, SQL, data modelling, systems analysis and data management
- Strong mathematical and quantitative reasoning skills, with a solid grounding in statistical and mathematical modelling, machine learning and AI, and the ability to assess assumptions, interpret results and evaluate whether methods are appropriate for the research question
- An understanding of data quality, data integration, security and governance
It would be a plus if you have
No one will have all of these. Your ability to learn new technologies and use them well matters as much as experience with any particular tool.
- An MSc in a relevant field
- Experience with Oracle Database, PL/SQL, Oracle APEX and Oracle REST Data Services (ORDS)
- Experience with agentic AI frameworks such as LangGraph, LangChain, CrewAI, AutoGen, Semantic Kernel or PydanticAI will be an advantage
- Experience with workflow orchestration tools such as Apache Airflow, Prefect, Dagster or OCI Data Integration will be an advantage
- Knowledge of cloud platforms, hybrid cloud architecture, APIs and modern development and deployment practices will be an advantage
- Experience working with scientific, agricultural or biological data.
About you
- You are curious about research and enjoy using mathematics and programming to investigate questions and solve problems. You are comfortable exploring subjects outside your own field, asking good questions and learning from experts in other disciplines.
- You think critically: you test your assumptions, weigh up different approaches and check whether a solution actually does what it was meant to.
- You can explain technical ideas in plain language to people who aren't technical. You take ownership of your work, from first idea through to implementation, support and improvement.
- You are as happy building a quick prototype to test an idea as you are making a system robust enough to last for years. Above all, you want your work to make a practical difference.