- JOB TITLE: Software Developer
- DEPARTMENT: Development
- TEAM: Software Development
- REPORTING TO: Head of Development
- DIRECT REPORTS: None
The Software Developer is a vital role with our agile development studio, working with the other roles in the sprint team to create valuable working software.
By applying analytical thinking, technical development, problem solving techniques and software automation to produce testable and well validated incremental software solutions to drive quality in our outcomes and pride in our products.
Applying clean coding practices to deliver improvements to existing software and influence others through continuous improvements to work towards a flexible and maintainable product set.
Summary of Main Duties & Responsibilities:
- Inspire the team and all stakeholders with your enthusiasm for quality and desire to deliver working software.
- Bring together investigative analysis and critical thinking to help isolate the root cause of perceived issues within a product cycle.
- Optimise the value of the work performed.
- Be prepared to be wrong; Call out assumptions and test them with real customers as quickly as possible.
- Influence the team toward a continuous improvement and experimentation culture for both product and process, ensuring that each Sprint becomes more effective and enjoyable.
- 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.
- 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 are 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 encourages 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
Skills Knowledge & Experience:
- Demonstrable experience of software development in an agile product development studio.
- Excellent knowledge of C#.
- 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 is an outline Job Description and employees are expected to undertake other reasonable duties appropriate to the role, as directed.
All employees are expected to comply with the organisational Health & Safety Policy and to undertake their duties responsibly.
All candidates and employees must have the Right to Work in the UK as required by the Asylum and Immigration Act 1996.