ENVIRONMENT:

An Investment company is seeking a Senior Software Developer to join their team in Durbanville, Cape Town.

The Mid-level Software Developer is responsible for designing, building, and maintaining features across the full technology stack of our web platform. The role works across the React/TypeScript frontend, the Node.js/Express backend, and the PostgreSQL database layer, taking ownership of features from specification through to production deployment. Having grown beyond junior responsibilities, this role is expected to deliver production-ready features independently, contribute to technical decisions, handle deployments through our CI/CD pipeline, and integrate the platform with third-party services such as PayFast and transactional email providers.

DUTIES:

• Translate product specifications and designs into working, production-ready features across the full stack.

• Build and maintain frontend interfaces using React 18, Vite, TailwindCSS, and shadcn/ui (Radix UI), ensuring accessibility and responsive behaviour.

• Develop backend REST API endpoints using Node.js and Express, following established conventions for authentication, validation, and error handling.

• Implement client-side state management using TanStack Query and form handling with React Hook Form and Zod validation.

• Design and maintain PostgreSQL 16 schemas, write efficient SQL queries using the pg. (node-postgres) driver, and manage database migrations.

• Implement data models that balance performance, integrity, and future extensibility.

• Ensure backend security through proper use of Helmet, express-rate-limit, and Better Auth session-based authentication (HTTP Only cookies).

• Convert UI/UX designs into pixel-accurate, accessible interfaces using TailwindCSS and Radix UI component primitives.

• Implement client-side routing with React Router v6 and add polish through Framer Motion animations where appropriate.

• Integrate map functionality using Leaflet and maintain a consistent visual language through the Lucide React icon library.

• Build and maintain integrations with PayFast for payment processing, including handling of ITN (Instant Transaction Notification) callbacks and reconciliation.

• Implement transactional email flows using NodeMailer (e.g. password reset, account notifications).

• Integrate additional third-party APIs as required, ensuring secure credential management and graceful error handling.

• Handle file and image uploads via Multer, including validation, storage management, and persistence through named Docker volumes.

• Manage container orchestration using Docker Compose and ensure local and staging environments mirror production.

• Configure and maintain Caddy as a reverse proxy, including automatic HTTPS provisioning.

• Maintain and improve the CI/CD pipeline using self-hosted GitHub Actions, including staging deploys triggered on push to main.

• Monitor Better Auth cloud dashboard (dash and sentinel plugins) and respond to authentication-related signals.

• Diagnose and resolve bugs reported by users, internal stakeholders, or surfaced through monitoring.

• Refactor and improve existing code to reduce technical debt and improve maintainability.

• Write clear commit messages, meaningful pull request descriptions, and inline documentation where logic is non-obvious.

• Ensure security best practices are applied across the stack (input validation, secure cookies, rate limiting, dependency updates).

REQUIREMENTS:

• Minimum 2 years of professional software development experience.

• Demonstrated experience building and maintaining production web applications across the full stack.

• Proven track record of shipping features from specification through to deployment.

• Experience working in a Git-based collaborative development environment.

• Self-motivated learner who keeps up with developments in the JavaScript / React / Node.js ecosystem.

• Reliable, accountable, and proactive in flagging blockers or risks early.

• React 18 with hooks and modern functional component patterns.

• Vite as a build tool, including environment configuration.

• React Router v6 for client-side routing.

• TanStack Query for server-state management and caching strategies.

• React Hook Form with Zod schemas for type-safe form validation.

• Framer Motion for UI animations.

• Leaflet for map-based interfaces.

• Node.js with Express framework — routing, middleware, and REST API design.

• PostgreSQL 16 and SQL fluency, including the pg. (node-postgres) driver.

• Better Auth (and @better-auth/infra) for session-based authentication using HTTP Only cookies.

• Multer for file and image upload handling.

• NodeMailer for transactional email delivery.

• HTTP security via Helmet and rate limiting via express-rate-limit.

• PayFast payment integration, including signature validation and ITN handling.

• Strong proficiency in JavaScript / TypeScript.

• Git workflows — feature branches, pull requests, code reviews.

• Understanding of REST API design principles and HTTP fundamentals.

ATTRIBUTES:

• Strong problem-solving ability and attention to detail.

• Ability to work independently and take ownership of features end-to-end.

• Clear written and verbal communication, particularly when discussing technical trade-offs.

• Collaborative mindset — willing to give and receive constructive code review feedback.

Desired Skills:

  • C
  • Email
  • Typescript
  • postgreSQL
  • Pastel Express
  • R

About The Employer:

Our Client assists investors to build high-performing property portfolios and to master every stage in the process of successful property investment, including helping investors to identify, acquire and manage top-performing properties.

Learn more/Apply for this position