Purpose of Role
To lead, motivate, and actively assist the development team in delivering quality products and features to support customer needs.
Work collaboratively with other Development Team Leaders and the Product team to design and deliver quality software.
This is a ‘hands-on’ role with an expected 50/50 split between team management and coding activities (based on a team size of between 4 -6 resources).
Head of Software Development
- Accountable for line management / coaching / mentoring / motivating team members
- Responsible for setting objectives across the team, undertaking and documenting 121s and performance reviews
- Involved in communicating effectively with the Product team to identify needs and evaluate alternative business solutions
- Involved in creating and reviewing technical requirements produced from requirements / stories created by Product team
- Involved in questioning and clarifying requirements with the Product team as necessary as development progresses
- Accountable for team estimation accuracy and progress reporting to senior management
- Responsible for delivering sprint goals
- Responsible for the work of the team
- Responsible for tracking and improving team metrics / KPIs
- Responsible for oversight / ownership of complex tasks or development pieces
- Involved in writing unit tests where appropriate
- Involved in supporting use of automated acceptance tests where possible
- Accountable for ensuring code reviews are carried out within the team and unit tests are put in place for developed code
- Involved in assisting support teams in bug fixing of released functionality
- Higher Education Qualification or equivalent (desirable)
- Degree or equivalent (desirable)
- Industry recognized software development qualification (desirable)
Culture & Experience
- The desire to work in a faced paced environment.
- Ability to manage team members and self-manage.
- Knowledge of software development life-cycles.
- Deep programming language knowledge.
- Full stack developer who understands concepts of software engineering.
- Working as part of an Agile team, preferably in a DevOps environment.
- Creative and capable of presenting ideas for systems improvements.
Skills & Experience
Essential Skills: It is essential that the individual has previous team management experience and advanced applicable knowledge and skills in relation to some of the following –
- Rest/Web APIs
- Service Orientated Architecture
- Microservice architecture beneficial
- Angular/HTML beneficial
- Azure / Cloud Services
- Dependency injection
- Entity Framework/Other ORM tools
- TDD Unit Testing
- Azure DevOps or similar