freehire launches on Product Hunt on 26 August.

Follow →

Senior Full-Stack Engineer Johannesburg (hybrid)

Summary

Leads end-to-end client projects building React/Node.js/TypeScript apps with PostgreSQL, owning architecture, mentoring engineers, and delivering weekly demos.

You will lead delivery on client projects end to end: TypeScript across the stack, PostgreSQL underneath, and a client who expects a working demo every Thursday. Expect to own architecture decisions, review code daily, and mentor two or three engineers.

What you will do

  • Design and build web applications with React, Node.js, and TypeScript across two concurrent client projects
  • Own the data model and API design for your projects, including PostgreSQL schema and migration strategy
  • Review every merge on your team and hold the bar on tests, security, and readability
  • Run the Thursday client demo and turn feedback into scoped, estimated tickets
  • Mentor mid-level engineers through pairing sessions at least twice a week
  • Contribute to estimates and technical proposals during pre-sales

What you bring

  • 6+ years building production web applications, with at least 3 in TypeScript
  • Deep experience with React and Node.js, including performance debugging in both
  • Strong SQL and schema design skills; you have owned a PostgreSQL database in production
  • A track record of shipping client-facing projects on deadline, not just internal tools
  • Comfortable writing integration tests and setting up CI pipelines
  • Clear written communication; our delivery process runs on written plans and summaries

Nice to have

  • Experience with Prisma or another typed ORM at scale
  • Exposure to construction, logistics, or fintech domains
  • Prior consulting or agency experience with direct client contact
  • Contributions to a design system or shared component library

The process

Portfolio review, one technical conversation about work you have shipped, and a session with the pod you would join. About two weeks end to end, and every application gets a human reply.

#J-18808-Ljbffr

See also

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available