JOB TITLE: Software Development Manager
REPORTING TO: CEO
DIRECT REPORTS: Software Developers
The Software Development Manager is a role designed to support, mentor and encourage the growth of development professionals both as individuals and as contributors to teams. It also sets the direction and tone of our software development basic practice and provides the focus around which the development professionals can operate.
By applying clear thinking and communication, analytical thinking, technical development, problem solving techniques and software automation the Software Development Manager will produce testable and well validated incremental software solutions to drive quality in our outcomes and pride in our products.
The Software Development Manager is also expected to advise the Head of Engineering about technical issues they see arising, and manage any problems that may arise, including morale, aptitude and attitude. They will provide feedback on proposed policies and participate in the development of such policies when requested.
Summary of Main Responsibilities:
- Inspire the team and all stakeholders with your enthusiasm for quality and desire to deliver working software
- Bring together investigative analysis and critical think to help isolate the root cause of perceived issues within a product cycle
- Optimise the value of the work performed
- Influence the team toward a continuous improvement and experimentation culture for both product and process, ensuring that each Sprint becomes more effective and enjoyable
- Manage the delivery team to meet agreed release targets
- Utilise productivity metrics to assist planning
- Take ownership of recruitment in line with projections and requirements
- Regularly maintain the development skills and knowledge matrix
- Mentoring and coaching of staff
- Succession and development planning for both technical and leadership roles within development
- Manage the holiday schedules for employees
- Manage performance, sickness and absence issues with employees
- Work with HR to create personal development plans for individuals
- Support individual and team training and growth plans
- Handle recruitment of new team members
- Handle exit interview process with HR for leavers
- Build and manage the onboarding processes for new starters
- Work with exec team to create working environment designed to inspire
Work within the sprint team to deliver working software
- Ensure the team is focused on delivering the sprint with valuable and working software components
- Challenge stories where the change doesn't deliver end user value or well-formed acceptance criteria
- Assess and suggest technical solutions to user requirements
- Collaborate with the team on each sprint objective and understanding the work involved, making trade-offs where necessary
- Collaborate with test professionals to develop a test driven environment to develop software in a confident manner with automatic repeatable tests
- Create, publish and iterate the tasks requiring software development skills on a given sprint
- Ensure product security and protection of Intellectual Property
- Ensure team effort is not wasteful and use appropriate source control technologies in accordance with Good Industry Practice
- Develop and train other team members, including assisting with technical issues and ensuring knowledge is shared appropriately leading to continuous improvements within the team
- Help in removing obstacles in the development process
- Ensure that the development process within their team is fit for purpose and is being followed
Contribute to excellent communication within the team, acting as conversation starter rather than barrier or control point for discussion and decision making
- Foster and encourage face-to-face conversation and collaboration such as swarming, pairing, mobbing and workshopping
- Work with other product team members to increase the effectiveness of software planning, its development and application within the principles of Scrum/Agile in the organisation
- Ensure a team dynamic where work can be criticised but individuals not
- Someone who always listens and is always present
- Someone who demonstrates empathy and respect for people's situation, role, ideas and needs and always has empathy and advocate for the customer, and help the team to have a similar focus
- Someone who encourage simplicity over complexity, and who tells stories that inspire rather than treating the Product Backlog as a queue of tasks to be done
- Someone who always allows software craftsmanship to thrive; never infers or imply that teams should sacrifice the quality of their solutions for a quick win
- Someone who recognises that speed of progress is about choosing the right things, working in small increments of value, embracing feedback/learning and delivering with technical excellence rather than "increasing velocity"
- Someone who looks to understand and improve existing code rather than find reasons to find fault and criticise
- Someone who others look to for leadership, support and understanding, and someone who offers that leadership
Skills Knowledge & Experience:
- Demonstrable experience of software development in an agile product development studio.
- Excellent knowledge of C# are essential
- A strong background in a technical subject
- Demonstrable ability to coach others, share knowledge and train colleagues on technical subjects
- Strong problem solving and communication skills
- Proven ability to deliver high quality software ensuring attention to detail
- Flexible approach and used to working under pressure with tenacity
- Demonstrable experience of translating user requirements into technical specifications
- Experience of working in a team environment, whilst taking responsibility for own work
- Knowledge of ASP.Net/ VB.NET/TDD/SOLID/Clean Coding/Azure/Scalability/SQL/ Oracle PL SQL and Crystal Reports would be beneficial
This job description is intended to convey information essential to understanding the scope of the job and the general nature and level of work performed by the job holders. This job description is not intended to be an exhaustive list of qualifications, skills, efforts, duties or responsibilities associated with the job. It is understood by the job holder that elements of this job description will adapt to a changing environment and business demands.
Employees are expected to undertake other reasonable duties appropriate to the role, as directed.
All employees are expected to comply with the Company's Health & Safety Policy and to undertake their duties responsibly.