Back End DeveloperLocation: NewcastleInitial Duration: 6 monthsIR35: Out of ScopeYou will be working in multi-disciplinary agile scrum teams who develop software that exceeds customer expectations. You will sit at the heart of the transformation of our services with the objective of ensuring we can become a 'Digital by Default' organisation. Using agile methods, you will be involved in all elements of development, with a focus on how the service will be used. You will be involved in service design, code build, test, maintenance and support.Tasks:* Build, deploy and operate outstanding digital services within an agile environment that meet well-defined user needs. Participate in the rapid development of userdriven Digital prototypes.* Build prototypes, writing tests, codes and documentations, implementing* RESTful APIs, JSON ensuring continuous integration* Work in cross-functional teams to write and test production quality, sustainable code for world-class new and existing systems.* Ensure that new and updated digital services are thoroughly tested for performance and are able to handle specified load* Collaborate with all Scrum Team and Delivery Centre colleagues, providing feedback on more junior/apprenticeship developers where necessary.* Contribute to a culture of continuous service improvement in which key systems "owned" by your digital service team are regularly analysed, maintained and improved* Contribute to a robust automated test suite to work in a continuous integration environment;* Sharing knowledge of tools and techniques with technical and non-technical team members in the wider HMRC digital team and across government;* Providing 'second-line' support and occasional 'on-call' supportTechnologies:* Excellent demonstrable commercial experience in programming and back-end software development either Scala or Java8 (Scala is the preference)* Use and implementation of modern front-end web technologies such as HTML5, CSS3, AJAX, REST, JSON;* Good understanding of web/agile technologies & protocols;* Demonstrable experience in automated testing solutions;* Proven problem solving skills: able to logically break down a problem into smaller manageable parts to solve;* Proven ability to communicate technical concepts to a non-technical audience* Proven ability to quickly research and learn new programming tools and techniques;* Demonstrable knowledge of relational and non-relational database systems.