6 Months – Scala Developers – UK REMOTE
Within my client’s Agile Scrum Teams, Lead Developers provide hands-on technical expertise and take responsibility for code-quality. Leadership and direction for the development activities, delivered with sufficient quality to underpin outstanding new digital services for millions of users. The Lead Developer will make important technical decisions during the agile sprints and drive selection of the team’s development approach. The Lead Developer will work closely with Solutions Architects, Product Managers, Digital Service Managers, Business Analysts, Scrum Masters and the development team throughout the duration of development.
As a Lead Developer at our client, you will:
Work with Digital Service Manager and Product Manager, Technical and Solution Architects to build and run outstanding digital services that meet well-defined user needs;
Lead the rapid development of user-driven digital prototypes to identify technical options and inform architectural approaches, collaborating with other team members to write tests, code and documentation for new and existing systems;
Work with Solutions Architects to design and implement RESTful APIs for seamless integration with internal and external systems;
Ensure new and updated digital services are thoroughly tested for performance and are able to handle specified load;
Ensure systems are robust, scalable, open and secure, with appropriate overall system design and integration points/APIs in order to deliver a high quality digital user experience;
Provide mentorship for members of the development team (software developers, Agile Test Engineers) and feedback on staff performance;
Build a culture of continuous service improvement, ensuring that key systems “owned” by your digital service team are regularly analysed, maintained and improved;
Have excellent interpersonal skills and the ability to quickly develop strong working relationships in high pressure environments;
Collaborate with Solutions/Technical Architects, Agile Test Engineers and Software Developers to build up a robust automated test suite to work in a continuous integration environment;
Be involved in the wider web development community (outside of HMRC and the government) identifying good practices we can adopt and sharing our experiences;
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’ support.
Skills and Experience
Essential
Experience leading a team of developers, providing overall guidance and setting overall development direction;
Demonstrable experience in programming and back-end software development in either Java, C#, Scala, Python or Ruby;
Excellent commercial experience in programming and back-end software development in Java;
Good understanding of web technologies & protocols;
Experience developing and using web-based APIs (especially HTTP REST-based APIs);
Demonstrable experience of automated testing solutions;
Experience with open source solutions and community;
Experience working on technical projects within an agile team;
A proven ability to communicate technical concepts to a non-technical audience;
Demonstrable understanding of web security best practices and security application design, such as OWASP top 10;
Excellent demonstrable knowledge of relational and non-relational database systems;
Experience of building and scaling high-traffic websites;
Understanding of the use of responsive web design.
Desirable
Experience presenting work at user groups and conferences;
Experience of handling large data sets and scaling their handling and storage;
Proven ability to quickly research and learn new programming tools and techniques;
Experience of other programming languages such as Scala, Python, Ruby, C#;
Use and implementation of modern front end web programming techniques such as HTML5, CSS3, AJAX, REST, JSON;
Experience with web frameworks such as Django, Ruby on Rails, Play Framework, Google Guice, Spring;
Experience using automated testing / continuous integration tools such as Jenkins, junit;
Experience using Confluence & JIRA;
Experience using and deploying on cloud based platforms;
Knowledge of the use of version control systems such as git or subversion.
Competences
Leading and Communicating
Seeing the Big Picture
Making Effective Decisions
.