Corporate31 days left

Junior Full-Stack Software Engineer

South Africa, NationalEngineeringCloses 4 September 2026

About this role

Pedros is investing in building software in-house. Our Technology & Innovation team is developing a modern, TypeScript-based platform that powers voucher management, point-of-sale integration, and customer-facing digital products across our franchise network.

We are looking for a Junior Full-Stack Software Engineer to grow into this platform alongside our existing engineers, building real, production features across the API and React front-ends under the guidance of more senior team members. This role is built around structured mentorship: you'll work on well-scoped tasks, receive close code review, and steadily take on more ownership as your skills and confidence grow.

Duties and Responsibilities:

  • Build and ship well-scoped features across the front-end and back-end, working from clear tickets and designs with support from senior engineers.
  • Implement API endpoints and UI components following the team's established patterns and conventions.
  • Write clean, tested code, and actively participate in code review, both receiving and giving feedback, as a core part of how you learn the codebase and standards.
  • Contribute to and help maintain the shared component library under guidance, keeping the user experience consistent across applications.
  • Assist with everyday platform operations, deployments, monitoring, and basic troubleshooting, alongside more experienced team members.
  • Document your work clearly and raise questions early; asking for help is an expected and valued part of this role.
  • Work with product and operations stakeholders (with support from your team) to understand requirements and turn them into working software.

Our Technology Stack

We work in a modern TypeScript stack, but we're hiring for aptitude and foundations rather than an exact tool match. The categories below show what you'd be working with; the named tools are examples, and equivalent experience elsewhere is welcome:

  • Language – Primary language used across the entire stack (must-have) – example TypeScript
  • Runtime & Tooling – JS/TS runtime and monorepo workspace tooling – example Bun (workspaces monorepo)
  • Backend – Web framework, authentication library, and access-control model – example Hono, Better-Auth, attribute-based access control
  • Data – Relational database, ORM and data protection approach – example PostgreSQL, Drizzle ORM, encryption at rest
  • Frontend – UI framework, build tooling, data-fetching, styling, shared components – example React, Vite, TanStack Query, Tailwind CSS
  • Infrastructure – Containerization and orchestration, reverse proxy – example Docker, Docker Swarm, Traefik
  • Identity – Enterprise identity/federation and with protocol – example Microsoft Entra, OAuth

Requirements:

  • 0–2 years of professional, internship, or substantial practical experience building web applications, academic, bootcamp, or personal projects count.
  • Solid foundational understanding of at least one strongly-typed programming language and a genuine interest in becoming proficient in TypeScript.
  • Basic understanding of HTTP, REST APIs, and relational databases (SQL).
  • Some exposure to a component-based front-end framework and modern JavaScript/TypeScript tooling.
  • Comfort with Git-based workflows, and a willingness to learn structured code review and automated testing practices.
  • Clear written and verbal communication, a strong desire to learn and take feedback, and the ability to work effectively on-site with a collaborative team.

Advantageous

  • Prior exposure to Bun, Hono, Drizzle, or similar modern TypeScript tooling.
  • Personal projects, open-source contributions, hackathons, or a bootcamp/portfolio body of work you can walk us through.
  • Any exposure to Docker or containerised development environments.
  • An interest in retail, franchising, payments, or point-of-sale systems.

Other roles you might like