Software Engineer
Company Our client is a large, purpose-led organisation with a significant regional presence and an ambitious programme of digital transformation.The technology function develops and supports the applications, integrations and data services used across a complex and varied organisation. The team is committed to building secure, scalable and user-focused technology that delivers measurable benefits for colleagues, customers and the wider community.You will join a collaborative and inclusive working environment where knowledge sharing, professional development and continuous improvement are actively encouraged. The position is based in a modern Newcastle city-centre location, with an expectation of three days per week in the office.Alongside the opportunity to work on meaningful and technically interesting projects, the organisation offers an excellent benefits package and a supportive approach to career development and work-life balance.Role The Senior Software Engineer will lead and contribute to the design, development and delivery of complex software applications and integrations using .NET and the wider Microsoft technology stack, including Microsoft Azure and Microsoft 365.Working as part of a multidisciplinary product and development function, you will combine hands-on engineering with technical leadership. You will help define appropriate solutions, support other developers and ensure applications are secure, robust, scalable and aligned with user and organisational needs.Key responsibilities will include:
- Designing and developing complex software applications, integrations and associated data platforms
- Building high-quality, secure, scalable and maintainable solutions using .NET and Microsoft technologies
- Leading the delivery of integrations that enable organisational data to be managed and shared securely across multiple systems
- Developing and consuming REST APIs and designing reliable interfaces between applications
- Delivering cloud-based applications and integrations using Microsoft Azure
- Working with stakeholders to understand requirements and translate user stories into effective technical solutions
- Producing proof-of-concept solutions and using rapid prototyping to validate requirements
- Contributing to technical architecture and helping select the most appropriate technologies, tools and development approaches
- Reviewing code, designs and other technical deliverables produced by colleagues
- Promoting test-driven development and creating effective unit, performance and load tests
- Ensuring applications meet appropriate standards for security, capacity, availability, continuity, resilience and performance
- Maintaining accurate and relevant technical documentation, including solution designs, data models, configurations and deployment information
- Providing technical coaching and sharing good practice across the development team
- Supporting the planning, prioritisation and coordination of development activity
- Working with third-party suppliers to ensure the quality and reliability of externally provided software, hosting and data services
- Contributing to decisions about engineering processes, development standards and future technology choices
- Supporting an Agile, collaborative and continuously improving development culture
- Excellent .NET development skills and extensive experience of the Microsoft .NET Framework
- Significant experience designing and developing complex software applications
- Extensive experience developing applications and integrations using Microsoft Azure
- Strong experience of REST APIs, interfaces and systems integration
- Excellent data access and manipulation skills using relevant frameworks and libraries
- Good front-end development experience, including HTML5, CSS3 and object-oriented JavaScript
- Experience with client-side frameworks or libraries such as Angular, Knockout, jQuery or AJAX
- A strong understanding of software and service security, including the controls used to mitigate technical risks
- Experience designing solutions that are robust, resilient, scalable and supportable
- An understanding of service availability, capacity, continuity and performance
- Experience of test-driven development, unit testing and technical performance testing
- Experience working within Agile development environments
- The ability to assess technical requests, understand user stories and identify appropriate solutions
- Strong problem-solving skills and the ability to make well-reasoned technical decisions
- The confidence to review the technical work of others and provide constructive feedback
- Excellent written and verbal communication skills
- Strong stakeholder management and interpersonal skills
- A collaborative approach, with the ability to coach colleagues and share knowledge
- The ability to organise and prioritise your own work while supporting the delivery of wider team objectives
- A flexible, proactive approach and the ability to work effectively under your own initiative
- Microsoft Dynamics
- SharePoint
- Sitecore
- Microsoft 365