Lead Full Stack Developer
Flexible benefits package
Essential Skills & Capability
Essential skills include:
• HTML 5
• CSS 3
• GIT for version control
• Capybara / Selenium for acceptance testing
• Progressive Enhancement
• User-focused mindset
• Java 8 experience, perhaps Java 7
• Use of open-source libraries
• A strong track record in web application development
• Use of ORM, e.g. Hibernate
• Knowledge of Dependency Injection
• SQL Databasse skills.
• JUnit or TestNG
• Experience building RESTful services
• Agile experience, preferably hands on in a multi discipline team working in rapid iterations, with a user-focused mindset
• Uses virtualisation for developing, e.g. Vagrant to build dev VMs
• Test Driven Development experience
• Knowledge of Jenkins, or other CI tools
• Experience of leading development teams to champion and mentor best practice in agile product development and delivery.
• Strong knowledge and understanding of business needs with the ability to establish/maintain high level of customer trust and confidence
• Ability to support a progressive methodology to quality improvement
• Ability to code products
• Strong interpersonal skills including mentoring, coaching, collaborating, and team building
• Strong analytical, planning, and organizational skills with an ability to manage competing demands
• Use of microservices
As the Lead Developer you will provide hands-on software development leadership across an agile team of developers. You will be responsible for working with the team to design, create and improve software products. You will be responsible for software delivery using agile methods in a fast-paced environment that may cross multiple business divisions.
In performing the role, you will be expected to use a high level of knowledge and experience of agile development approaches s to fit large, complex, mission-critical, enterprise-level projects and with the appropriate level of planning and provide the right balance of agility and predictability.
Your background as an agile developer will ensure that you are capable of managing the development teams, managing priorities and delivering to agreed milestones
This role will involve extensive interaction with customers, senior stakeholders, management and third party sub-contractors. Strong analytical, organisational, and presentation skills are essential combined with excellent interpersonal and communication skills in order to manage expectations and issues effectively and establish/maintain a high level of customer trust and confidence.
Essential Job Requirements
The main responsibilities of the Lead Developer role are:
• Essential knowledge of BDD and/or TDD software development practices and processes, including the championing/mentoring of the practice within the team
• Development of BDD and/or TDD scripts , including the championing/mentoring of the practice within the team
• Ability to translate MoSCoW, User stories and story points into pragmatic solutions
• Capability of working to very tight timescales whilst maintaining quality product development
• Building web products to meet the Reform Probate project deliverables, ensuring the products are capable of aligning with the core Reform programme deliverable.
• Implementing APIs for internal and external use.
• Building up a useful, robust automated test suite to support a Continuous Deployment environment.
• Being involved in the wider programme development community, identifying good practices that can be adopted across the programme and sharing experiences.
• Sharing knowledge of tools and techniques with the wider team, both developers and non-developers
• Taking part in 2nd-line support of applications and platforms
• Demonstrate insight, interest, experience and drive
• Support the Product Owner in managing customer expectations for project deliverables, managing stakeholder communications, and helping to implement an effective system of project governance; ability to work with stakeholders to document requirements as user stories.
• Ensure and support programme standards, such as continuous integration, automated testing and code quality are adhered to.
• A capable flexible team player, focused on removing blockers and delivering working software in line with the business owners direction
• Coordinate and collaborate with team ongoing and daily over what to develop
• Involvement in story shaping and kick off
• Lead code development in each story
• Lead BDD and/or TDD test processes
• Collaborate to form firm view of quality metrics and expectations for the delivery, and work with these throughout the sprint
• Test against shared understanding of Done with team (and help understand what’s important)
• JMS , ActiveMQ
Your future duties and responsibilities
Required qualifications to be successful in this role