Work in an Agile development team in interpreting requirements, designing, developing and unit testing new software and amending or bug fixing existing modules contained within the product set. Mentor and coach junior team members to deliver high levels of effectiveness and productivity and lead by example as a highly productive senior developer.
- Provide technical leadership to your colleagues ensuring software is designed developed and unit tested according to good software engineering principles.
- Work with Product Owner/Scrum Master to coach individual team members as required to drive up delivery capabilities.
- Develop product expertise in your areas of responsibility such that you can act as the go to expert from a development perspective for multiple areas of the product set.
- With Product Owner/Scrum Master, collaborate with design and product management to define new and extended product functionality, assessing technical risks and dependencies.
- Collaborate with Product Management and Solution Architect functions to produce high level estimates of development effort for planned development activities, and refine these estimates as additional detail becomes available.
- Influence colleagues in Product Management on areas of potential product improvements.
- Contribute to development effort as a hands-on developer within your team.
- Ensure code reviews and unit testing are completed, and that these are consistently following departmental guidelines. Where no formal guidelines exist, work with peers to formulate and enforce such guidelines.
- Timely and accurate reporting of assigned work status as required, reporting risks and issues as they arise.
- Triage assigned software defects. Ensure that work on defect resolution does not impact on agreed product deliverables, reporting to Product Owner/Scrum Master where resolution will require renegotiation of deliverable dates for other tasks.
- Keep abreast of technology trends and how they apply to your area. Put forward suggestions for improvement to development processes or tools where applicable.
- Achieve agreed productivity targets in order to ensure tasks are delivered to schedule, reporting as early as possible to Product Owner/Scrum Master where deliverables cannot be met.
- Any other activities in support of the business which can reasonably be expected to fall within the capabilities of the employee.
Education & Experience:
Whilst it is accepted that the individual education and experience profile for Senior Developers will vary, the following is provided as a guideline:
- BSC or equivalent in a software engineering discipline.
- Professional qualifications appropriate to software engineering roles.
- Significant development experience with excellent software engineering skills and specialist knowledge in several technical areas.
- Good communication skills enabling positive collaboration with functions outside development.
- Experience of formal software development methodologies.
- Good understanding of principles, theories, practices and techniques for leading activities involved in planning and delivering software development projects.
- Domain or Product expertise in multiple key areas associated with the role is strongly preferred. As a minimum requirement, demonstrable ability to rapidly develop this level expertise from previous roles is a must.
Applicants need to have experience in:
- C# .Net development
- Dependency injection
- Experience developing public facing Web Based APIs
- Experience with Cloud Services and architecture, Azure (SQL Azure, App Services, Service Bus, Azure Functions, Azure Storage)
- SQL development
- Experience with git-based development
- Experience working within an Agile development environment
- Experience with tools associated to agile development such as Jira, Confluence
- Experience of working with a number of different file formats including JSON
- A good understanding of CICD and exposure to Teamcity, Octopus deploy or similar Excellent understanding of good development principles such as SOLID and DRY
In addition; familiarity with any of the following would be favourable:
- Service orientated architecture
- Infrastructure as a service
- NoSQL development and design
- Continuous integration & automated testing
Please apply in writing, sending a covering letter and CV to email@example.com