Senior Software Engineer Job Description
We are seeking a seasoned Senior Software Engineer with expertise in Java, Spring Boot, and related technologies to develop API-based digital solutions in a high-performing software development team.
Lead Software Engineer - Key Responsibilities:
* Design and Development: Develop applications through the full SDLC in a DevOps environment.
* Testing and Quality Assurance: Create Unit and Integration tests and manage PI Gateways, Web Servers, and Message Queues.
* Collaboration and Code Review: Participate in Code Reviews and peer programming.
* Troubleshooting and Debugging: Test, Debug, and troubleshoot applications as necessary.
Required Experience:
* At least 8 years of hands-on development experience of Java-based applications.
* Strong experience with Spring modules (Core, MVC, Springboot, AOP, Web Flow).
* Demonstrable experience building Rest APIs with knowledge of Microservices-based architecture.
* Experience with application containers like Docker and Kubernetes.
* Knowledge and experience of working with CI/CD pipelines using tools such as Jenkins, Ansible, and Git.
* Familiarity with basic networking and infrastructure principles including load balancing and clustering.
* Experience and understanding of Agile ways of working and software development practices - Scrum, Kanban, TDD.