The role of the Senior Developer is to continually improve the breadth and functionality of the company's software products whilst working within the established Software Development Lifecycle (SDLC).
The role holder will deliver world class applications in a planned, accurate and timely manner, utilising their technical knowledge, insight, and exceptional interpersonal and leadership qualities.
You will be highly proficient in the use of the Microsoft toolset (Microsoft Azure, SQL Server, .NET framework and .NET core) and will be able to evidence understanding and competency in software development and data concepts, as well as being able to apply those concepts to other languages and platforms when required.
Another important aspect of the role to nurturing new talent; Senior Developers are expected to take a proactive role in mentoring and advising junior and trainee developers.
KEY RESPONSIBILITIES & ACCOUNTABILITIES
- Design, develop, test, deploy and maintain software products in line with the Product Roadmaps
- Apply theSDLC to deliver the highest quality products possible, including
- Completion of code reviews
- Development of code following company coding and development guidelines
- Adherence to established change and release management processes
- Ensure all development activities comply with ISO27001, GDPR and other similar regulations and guidelines as required by the business
- Contribute to ongoing improvements to theSDLC, including but not limited to
- Test Driven Development
- Continuous Integration
- Continuous Deployment
- Assist the Business Analyst in the analysis of user requirements, creation of stories and estimates
- Prepare and maintain reports, manuals and other documentation relating to the delivery and support of the company's software products
- Ensure that all product defects are recorded in the issue tracking system and are investigated and resolved within agreed timescales
COMPETENCIES & EXPERIENCE
- Experience in a senior software development role with demonstrable ability in
- Software architecture and design using SOLID object orientated programming concepts
- Development of web applications using Microsoft .NET Framework and .NET Core
- Version control using GIT, TFS or similar recognised source control platform
- Object relational mapping using Entity Framework, NHibernate or similar
- Data management using MS SQL Server including stored procedures, functions and triggers
- Experience of working within an Agile framework
- Exposure to the following would be highly advantageous
- Client-side technologies and frameworks such as Vue, Angular, KnockoutJS, React
- Unit test frameworks, dependency injection, mocking, facades, etc
- Build and release management tooling such as TFS, VSTS, TeamCity, Octopus or similar
- A university degree in Computer Science or equivalent that provides clear understanding of software theory would be preferred