Full Stack Developer
Summary
Build and maintain full-stack applications using Java/Spring Boot for backend APIs and React for frontend, with PostgreSQL databases and Docker deployments.
Responsibilities
Backend Development: Design, develop, and maintain scalable REST APIs and backend services using Java and Spring Boot.
Frontend Contribution: Build and maintain frontend features and interfaces using React (or an equivalent modern framework), ensuring smooth integration with backend services.
Database Architecture: Design, maintain, and optimise PostgreSQL databases, including relational data models and multi-tenant data segregation strategies (e.g., application-level tenancy vs. row-level security).
Systems Integration: Build and maintain integrations with third-party services and internal APIs to support business workflows.
Application Security: Apply secure software development practices, including authentication, authorization, and data segregation across tenants/clients.
Code Quality: Produce clean, maintainable, and well-documented code while participating in peer reviews and development best practices.
Client & Team Communication: Communicate clearly and confidently with engineering leadership, distributed teams, and clients as required, including verbal communication in English.
Project Collaboration: Work within an Agile environment, providing regular updates on development progress, technical decisions, and challenges.
Requirements
Minimum 4 years of proven commercial experience developing backend applications using Java and Spring Boot.
Strong, current, hands-on experience with the most recent stable versions of Spring Boot (not solely early-career or outdated exposure).
Strong experience designing and developing REST APIs.
Solid PostgreSQL database design and optimisation skills, including a clear understanding of multi-tenant data architecture (application-level tenancy vs. PostgreSQL row-level security).
Working experience with a modern frontend framework (React strongly preferred), with demonstrated project experience, not solely listed familiarity.
Experience deploying containerised applications using Docker.
Good understanding of application security principles and secure development practices.
Strong verbal and written English communication skills, with confidence discussing technical concepts with both technical and non-technical stakeholders, including clients.
Experience using AI-assisted software development tools is highly regarded.
Software Proficiency
Programming Languages – Java
Frameworks – Spring Boot
Frontend – React (or equivalent modern framework)
Containerisation – Docker
Database Technologies – PostgreSQL
API Technologies – REST APIs
AI Development Tools – GitHub Copilot, ChatGPT, Claude, or equivalent
Education
Bachelor's Degree in Computer Science, Software Engineering, Information Technology, or a related field.