About the position
Software Developer (Java)
Experience: 5+ Years
Role Level: Intermediate to Senior
Technology Focus: Java | Spring Boot | Micronaut | Microservices | Azure | DevOps
Role Overview
We are looking for an experienced Java Software Developer to join a high-performing technology team operating within a complex, high-volume enterprise environment.
The successful candidate will be a hands-on software engineer with strong Java development experience and a solid understanding of modern application architecture, microservices, APIs, cloud technologies and DevOps practices.
This role requires someone who can take end-to-end accountability for software deliverables, from solution design and development through testing, deployment, production support and ongoing maintenance.
Key Responsibilities
- Design, develop and maintain high-quality Java applications and services.
- Take end-to-end ownership of assigned development deliverables, including development, testing, deployment and production support.
- Develop solutions aligned with established coding, architecture and design standards.
- Perform unit testing and support broader Quality Assurance and testing activities.
- Participate in code reviews and code-quality processes, including SonarQube reviews.
- Design and develop APIs, microservices and system integrations.
- Support deployments and automated software-release processes.
- Troubleshoot and resolve application, integration and performance issues.
- Monitor and optimise Java application performance within high-volume environments.
- Participate in standby, production support and application maintenance activities.
- Manage personal capacity and deliverables in alignment with Sprint planning and Agile delivery commitments.
- Provide regular progress updates to the Scrum Master, Delivery Lead and relevant project stakeholders.
- Work collaboratively with Product Owners, technical SMEs and other engineering teams.
- Produce and contribute to detailed technical and system designs.
Essential Technical Skills
Candidates must have strong hands-on experience across the following:
Java Development
- 5+ years' software development experience
- Strong Java development/programming background
- Object-Oriented Design and development
- Application architecture, design, development, implementation and deployment
- Ability to work across different application tiers
- Performance optimisation and troubleshooting of Java applications
Frameworks
Strong practical experience with:
- Spring Framework
- Spring Boot
- JPA
- Hibernate
- Micronaut
Expert-level Spring and/or Micronaut experience would be highly advantageous.
Microservices, APIs & Integration
- Microservices Architecture
- SOA Architecture
- REST APIs
- SOAP / XML Web Services
- JSON
- Message Queues / MQ
- API and systems integration
- Integration security requirements and models
- JWT / JSON Web Tokens
- SSL / secure communications
Candidates should be comfortable designing and developing solutions within complex integrated enterprise environments.
Database Experience
Experience working with databases in high-volume Java environments, including:
- SQL
- DB2
- NoSQL databases
- Cassandra and/or MongoDB
- Database integration and application data-management practices
Cloud, Containers & DevOps
Strong experience with modern DevOps and cloud-based software delivery is required.
- Azure
- Azure DevOps
- AWS exposure advantageous
- Docker
- Kubernetes
- Containerised application environments
- CI/CD pipelines
- Automated build, test and deployment processes
- Software release automation
- Application deployment and operational support
Development Tools
Practical working experience with:
- IntelliJ IDEA and/or Eclipse
- Git
- Maven
- Azure DevOps
- SonarQube or similar code-quality tools
- Nexus or similar artefact repositories
- Performance monitoring and optimisation tools
High-Volume Application Experience
Candidates should have practical experience developing and supporting applications operating within high-volume, enterprise-scale environments, with exposure to areas such as:
- Application clustering
- Scaling
- Multi-threading
- Session management
- Performance optimisation
- High availability
- Production troubleshooting and support
Agile Delivery Experience
Experience working within Agile software-delivery environments, including exposure to:
- Scrum
- Kanban
- SAFe
- Sprint planning
- Backlog delivery
- Agile ceremonies
- Capacity and delivery management
Stakeholder Engagement
The Software Developer will work closely with:
- Scrum Masters
- Delivery Leads
- Product Owners
- Technical SME Leads
- QA / Testing teams
- Other Software Engineers and technical teams
The successful candidate must therefore be comfortable communicating technical information, providing delivery updates and taking accountability for the impact of their work across multiple stakeholders.
Desired Skills: