Role: Senior Java Developer
Job Ref: QAD 2134/0811
Pay Rate: Competitive Market Rate
Hours per week: 37 hours per week
Contract Length: Initially 3 months
Location: Leeds - Hybrid working
We are seeking Senior Java Developers with substantial experience in lead Java roles. As a Senior Software Engineer, you will be a skilled practitioner and role model in software craftsmanship, responsible for ensuring adherence to best practices across the department and guiding teams in delivering high-quality software products.
You will collaborate with Architecture and Engineering teams in designing software products that support citizen services, with a strong focus on operational stability, robustness, resilience, availability, and quality. Ultimately, you will be accountable for the code produced by your teams.
We are looking for candidates skilled in backend and cloud-based software development, database management, API and microservices architecture, secure coding practices, and team collaboration.
Key accountabilities:
* Design and lead the strategies for building reusable libraries and services.
* Own the development of medium-long term strategies for product lines and the Software Engineering Community.
* Identify and support the resolution of infrastructure faults.
* Provide 3rd line support on products developed, including out of hours support as and when required.
* Lead multiple Software Engineering teams providing technical leadership and guidance.
* Coach and mentor your team and their professional development.
* Contribute and set strategic direction for product team and the wider Software Engineering community.
* Lead the collaboration & sharing of knowledge and good practice with the wider software engineering community.
* Lead and support community discussions about best practice within Software Engineering.
Technical Skills:
1. Programming and Development
o Languages: Proficient in Java.
o Frameworks: Experienced with Spring (Spring Boot, Security, Batch).
o Development Practices: Familiar with Continuous Integration/Continuous Delivery (CI/CD), Test-Driven Development (TDD), and Behaviour-Driven Development (BDD) using tools like J-Unit, Jasmine, and Cucumber.
o Microservices & API: Skilled in microservices architecture, RESTful API design, and open standards (Swagger, OpenAPI).
2. Database Management and Tuning
o Databases: Proficient in SQL, PostgreSQL, MySQL, MongoDB, Cassandra.
o Database Skills: Experience with SQL tuning, kernel tuning, partitions, and meeting Recovery Point/Time Objectives (RPO/RTO).
o Advanced Database Management: Knowledgeable in database builds (L2/L3), patching, upgrades, and managing high-availability systems like EDB failover manager.
3. Cloud and Containerisation
o Cloud: Capable of developing, building, and testing interfaces in cloud environments.
o Containerisation: Skilled in Docker and Kubernetes for deployment.
4. Operating Systems and Version Control
o OS: Proficient in Linux (RHEL), Bash scripting, system security, and patching.
o Version Control: Experienced with Git for code versioning.
5. Security and Resilience
o Application Security: Knowledgeable in OWASP Top Ten security risks, including Denial of Service, SQL Injection, and Cross-Site Request Forgery (CSRF).
o High Availability: Experience with fault tolerance and failover management in production environments.
6. Collaboration and Documentation
o Collaboration Tools: Skilled in using Jira, Confluence, and Slack for project management and team communication.
7. Networking and Transport Mechanisms
o RPC and Transport Protocols: Knowledgeable in Remote Procedure Call (RPC) concepts and various transport mechanisms (HTTP, shared memory).
#J-18808-Ljbffr