Talent.com
IGrow Wealth Investments
Software DeveloperIGrow Wealth Investments • Cape Town, ZA
Search for other jobs
Software Developer

Software Developer

IGrow Wealth Investments • Cape Town, ZA
1 day ago
Job description
  • The 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.

Minimum requirements (Advantageous):

Qualifications

  • Bachelor's Degree (BSc) in Computer Science, Software Engineering, Information Technology or a related field.

Experience

  • Minimum 8 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.
  • Strong proficiency in JavaScript/TypeScript and modern web development frameworks and tools, including React 18, Node.js, Express, PostgreSQL, Vite, React Router, TanStack Query, React Hook Form, Zod, Framer Motion, and Leaflet.
  • Experience developing secure REST APIs, authentication, file uploads, transactional email, payment gateway integrations, and web application security best practices.
  • Understanding of REST API design principles and HTTP fundamentals.
  • Experience working with Git workflows, including feature branches, pull requests, and code reviews.
  • Strong problem-solving skills with attention to detail.
  • Ability to work independently and take ownership of features from concept through deployment.
  • Strong written and verbal communication skills, with the ability to discuss technical trade-offs effectively.
  • Collaborative mindset with experience participating in code reviews.
  • Self-motivated learner who keeps up to date with modern JavaScript, React, and Node.js development practices.
  • Reliable, accountable, and proactive in identifying and communicating blockers or risks early.

Duties and responsibilities include, but not limited to:

  • Translate product requirements, specifications, wireframes, and UI/UX designs into high-quality, production-ready frontend features.
  • Design, build, and maintain modern web applications using React and TypeScript.
  • Develop reusable, maintainable, and well-structured components that can be shared across features and applications.
  • Build responsive, accessible, and intuitive user interfaces that work consistently across modern desktop, tablet, and mobile browsers.
  • Convert UI/UX designs into accurate, polished interfaces while maintaining a consistent visual language across the product.
  • Implement appropriate application architecture, component composition, state management, routing, data fetching, caching, and form-management patterns.
  • Build complex forms and user workflows, including validation, conditional behaviour, multi-step processes, error handling, and user feedback.
  • Integrate frontend applications with backend APIs and services, including authentication, file uploads, payments, mapping, notifications, and other third-party services.
  • Work with REST APIs and other service interfaces, correctly handling authentication, pagination, validation errors, loading states, retries, failures, and asynchronous operations.
  • Implement secure authentication and authorisation flows in conjunction with backend services, ensuring appropriate handling of sessions, permissions, and protected application areas.
  • Apply frontend security best practices, including input handling, dependency management, secure browser storage practices, and protection against common web application vulnerabilities.
  • Design frontend solutions that accommodate changing requirements and future functionality without unnecessary complexity or excessive coupling.
  • Optimise applications for performance, including rendering efficiency, network usage, application loading time, asset optimisation, and perceived user responsiveness.
  • Implement appropriate client-side error handling and provide clear, useful feedback when operations fail.
  • Integrate file and image upload functionality, including validation, progress indication, previews, and error handling where required.
  • Implement interactive functionality such as maps, dashboards, data visualisations, search, filtering, dynamic forms, and other rich application experiences as required by the product.
  • Work closely with backend engineers to define and refine API contracts, data structures, authentication flows, and integration requirements.
  • Collaborate with product owners, designers, engineers, and other stakeholders to clarify requirements and identify practical technical solutions.
  • Participate in technical discussions and contribute to decisions regarding frontend architecture, application structure, reusable components, and engineering standards.
  • Write clean, readable, maintainable, and appropriately documented TypeScript and React code.
  • Write and maintain appropriate automated tests for components, application logic, integrations, and critical user journeys.
  • Diagnose and resolve defects reported by users, internal stakeholders, automated testing, or application monitoring.
  • Investigate and resolve browser-specific, device-specific, performance, usability, and accessibility issues.
  • Refactor and improve existing frontend code to reduce technical debt, improve maintainability, and simplify future development.
  • Review code contributed by other developers and provide constructive feedback on correctness, maintainability, usability, security, and overall engineering quality.
  • Participate in source-control and code-review processes, including producing meaningful commits, pull requests, and supporting technical documentation.
  • Work effectively within automated build, testing, deployment, and CI/CD processes and assist in diagnosing issues affecting frontend releases.
  • Ensure frontend applications are configurable across local, development, staging, and production environments without embedding environment-specific configuration in application code.
  • Maintain awareness of modern React and TypeScript development practices and recommend improvements where they provide clear technical or product value.
  • Take ownership of assigned features from initial requirements through implementation, testing, deployment, and ongoing maintenance.
  • Contribute to the continued improvement of frontend engineering standards, development practices, tooling, and overall product quality.
Create a job alert for this search

Software Developer • Cape Town, ZA