Graduate/Junior Software Engineer
Factory 209 (Pty) Ltd t/a Gradlinc · Century City
Posted 5 August 2026
Stop applying one at a time.
JobAlertsZA auto-applies to South African jobs like this one for you, overnight. Upload your CV once — we do the applying.
Start free — we apply for you →Introduction
Please note that applications for this position are ONLY being accepted on the Gradlinc platform only. Please create an account on Gradlinc and apply there.
Duties & Responsibilities
The role
You will join an engineering team working, reporting to an Engineering Team Lead within our Research and Development department.
Be clear about what you are signing up for: this is not the job it was three years ago. We build through agents. That changes where the difficulty sits — far less of your day is spent typing implementation, and far more is spent deciding what should be built, specifying it precisely enough to be executed, and judging rigorously whether what came back is correct. The bottleneck moves from writing code to understanding problems and verifying solutions. Those are harder skills, not easier ones.
You will be involved across the full software development cycle — requirements, design, build, testing, deployment and support. That breadth is deliberate. You cannot direct or verify work on a payments platform until you understand how the whole thing fits together.
What you will do
- Take a requirement and turn it into a specification precise enough to build against. Most of the real work is here — ambiguity that survives this stage becomes a defect later
- Make the design and architecture calls. Interface boundaries, data models, failure modes and trade-offs remain human judgement, and you will be expected to defend yours
- Direct agents through implementation, then review what comes back with genuine scepticism. Does it handle the edge case? Is the concurrency actually safe? Does it do what we asked, or merely something that compiles and passes a happy-path test?
- Own correctness. An agent carries no responsibility for a failed settlement run; the engineer who approved the change does
- Investigate and resolve defects. When something misbehaves in production you reason from first principles about what the system is really doing — nothing hands you that answer
- Build real domain expertise in payments: message standards, transaction flows, settlement and security. This is the knowledge that lets you tell a plausible-looking solution from a correct one
- Write clear technical documentation, and feed what you learn back into the context our teams and tools work from
What we look for
- A completed degree in Computer Science, Computer Engineering, Informatics or a closely related field
- Strong fundamentals — data structures, algorithms, concurrency, networking, databases. We will teach you payments; we cannot teach you how to think, and working this way exposes weak fundamentals faster than traditional development ever did
- The habit of asking why. Clarifying a requirement early, questioning a design, saying "that solution is wrong and here is why" — these are the behaviours we hire for
- A sceptical reading eye. You will assess far more code than you write by hand, and being able to find the flaw in something that looks right is the core skill
- Clear written and verbal communication. Precision in language is now directly load-bearing — vague instructions produce confidently wrong systems
- Evidence that you build things: projects, contributions, or coursework you took further than required
Familiarity with Java, SQL and containerised deployment is useful but not required.
How you will grow
You will be given work of steadily increasing complexity, with senior engineers close by rather than at a distance. Progress is reviewed quarterly against clear expectations, so you always know where you stand and what the next step looks like. The intent is that you come out of the programme able to own a piece of the platform — to be trusted to define, direct and sign off a change end to end.
Desired Experience & Qualification
What we look for
- A completed degree in Computer Science, Computer Engineering, Informatics or a closely related field
- Strong fundamentals — data structures, algorithms, concurrency, networking, databases. We will teach you payments; we cannot teach you how to think, and working this way exposes weak fundamentals faster than traditional development ever did
- The habit of asking why. Clarifying a requirement early, questioning a design, saying "that solution is wrong and here is why" — these are the behaviours we hire for
- A sceptical reading eye. You will assess far more code than you write by hand, and being able to find the flaw in something that looks right is the core skill
- Clear written and verbal communication. Precision in language is now directly load-bearing — vague instructions produce confidently wrong systems
- Evidence that you build things: projects, contributions, or coursework you took further than required
Familiarity with Java, SQL and containerised deployment is useful but not required.
Interested?
Please note that applications for this position are ONLY being accepted on the Gradlinc platform only. Please create a (free) account at https://gradlinc.co.za/graduates/ and apply