Purpose of the Role
The Full Stack Java Developer will be responsible for designing, developing, testing and supporting enterprise applications across both front-end and back-end platforms. The role requires strong experience in Java development, Angular, PostgreSQL databases, API integrations, and the ability to work across the full software development lifecycle.
Minimum Requirements
- Minimum 5 years' experience with Java systems development.
- Minimum 3 years' experience with presentation layer development.
- Solid understanding of Java 1.7 and later.
· Experience in application frameworks (Spring Framework)
· Experience with Business Rules Management Frameworks.
· Unit testing and mocking frameworks.
- Degree or Diploma in Computer Science, Information Technology or related field.
- Experience with PostgreSQL 13+ databases.
- Experience developing RESTful APIs and web services.
- Experience with Git source control.
- Experience with Agile/Scrum methodologies.
- Strong SQL and database design skills.
Technical Skills
Backend
- Java 11+ (or later)
- Spring Framework 2.8 or later
- Maven
- Hibernate/JPA experience
- REST API development
Frontend
- Angular 15+
- TypeScript / JavaScript
- HTML5 / SCSS
- UI/UX Toolkit or similar frameworks
Database
- PostgreSQL 13+
- Query optimisation
- Database design and modelling
- Strong SQL Query knowledge (advantageous)
DevOps (Advantageous)
- Docker
- CI/CD pipelines
- Jenkins, GitLab, GitHub Actions or Azure DevOps
- Linux
Key Responsibilities
- Develop and maintain Java-based enterprise applications.
- Design and implement Angular user interfaces.
- Develop and maintain REST APIs and backend services.
- Design and optimise PostgreSQL databases.
- Analyse, maintain and enhance existing application and troubleshoot issues.
- Assist with the production of technical specifications and designs.
- Participate in system design and architecture discussions.
· Adhere to coding standards and know best practices
- Perform code reviews.
- Work closely with business analysts, testers and stakeholders.
- Assist with application deployments and support.
Competencies
- Strong analytical and problem-solving skills.
- Excellent communication skills.
- Ability to work independently and within a team.
- Attention to detail.
- Strong ownership and accountability.
- Ability to work in a fast-paced environment.