Role purpose
Ship small-to-medium features end-to-end with guidance, write clean code, and learn fast. You’ll work across tickets, debugging, tests, and CI, while levelling up weekly.
Location & hours
Onsite: 08:30–17:30
What you’ll do
- Pick up scoped tickets, clarify requirements, and deliver PRs with tests.
- Debug issues across the stack (logs, React/Node/Flutter/WordPress—depending on project).
- Write unit/integration tests; keep coverage promises.
- Improve docs: READMEs, runbooks, API notes.
- Participate in code reviews; give/receive actionable feedback.
- Automate repetitive tasks (scripts, lint fixes, pre-commit hooks).
- Track work in Jira/GitHub Projects and communicate status early.
Must-have skills (junior, not “no experience”)
- Solid programming fundamentals: data structures, complexity, async, HTTP.
- Git fluency: branching, rebasing, clean commit history, PR etiquette.
- Testing basics (e.g., Jest/JUnit/xUnit) and debugging discipline.
- SQL literacy; can read a schema and write non-trivial queries.
- Front-end: JS/TS fundamentals + one framework (LWC/React/Flutter) or
- Back-end: one runtime (Apex/Node/Java/Python) with REST patterns.
- Clear written communication; can turn ambiguity into a checklist.Nice-to-haves (we’ll teach you, but show appetite)
- Flutter/Dart; WordPress/Tailwind for web.
- CI/CD basics (GitHub Actions), containers, and environment secrets.
- Cloud basics (Firebase, or a major cloud).
- Mapping/geo concepts (Leaflet, coordinates, distances) and data parsing.
Traits we hire for:
- Reasoner: breaks problems into chunks; explains trade-offs plainly.
- Curious: reads docs first; asks targeted questions; leaves notes for others.
- Owner: closes loops; tests edge cases; fixes root causes, not symptoms.
- Craftsperson: small, readable diffs; names things well; writes docs.
- Team player: respectful reviews; communicates blockers early.
Success metrics (first 90 days)
- 12–20 merged PRs with <10% rework due to missed acceptance criteria.
- Test coverage on your modules ≥ agreed threshold (e.g., 75–85%).
- Mean time to first review: <24h; to merge after review: <48h.
- Zero “surprise” escalations—status updates given before deadlines.
- One meaningful developer-experience improvement (script, doc, or lint rule).
Interview process (fast and fair)
- 30-min screen: walk through a small bug or PR diff; assess reasoning.
- Take-home (2–3 hrs max): build a tiny feature with tests.
- Example: REST endpoint + list view with filter & pagination.
- Graded on: correctness, tests, readability, commit hygiene, doc.
- Technical chat (60 min): review your code; extend requirements live.
- Team fit (30 min): collaboration style, feedback loops, growth goals.
Tooling you’ll use
- GitHub, Issues/Projects, PR templates, branch protections.
- CI (GitHub Actions), code formatters (Prettier), linters (ESLint).
- Issue tracking (Jira/GitHub), Notion/Confluence-style docs.
Growth path
- 0–3 months: ship well-scoped tasks reliably; learn stack conventions.
- 3–6 months: own small features; propose DX improvements.
- 6–12 months: own a component/service; mentor interns; help with designs.
Job Type: Full-time
Pay: R10 000,00 - R15 000,00 per month
Work Location: In person