About the role Our industry-leading team provide business solutions across the entire transport industry. With interfaces into key industry suppliers (including electronic ticket machine providers, scheduling packages, fuel systems and cash machines) our operational software provides a single interface through which operators of all sizes can consolidate their data to drive efficiencies and informed business decisions. As a Senior Software Engineer, you are a core member of our development team delivering enterprise-quality software supporting local, national and international customers across a range of solutions. We strive to continuously improve our development and DevOps methodologies and tools supported by strong Agile principles, and we expect you to contribute and recommend enhancements to our practices, processes, and tooling. Your role is a full-stack one, requiring both front and back-end expertise with a deep understanding of modern software architectures and development techniques. This is a full-time role of 37.5 hours per week with core hours of 9:30am – 4.00pm Monday to Friday. This position offers a hybrid working model which includes working from our offices in Sheffield, Bromsgrove (Birmingham) or Oldham (Manchester) one day every two weeks. Purpose of the role As a Senior Software Engineer, you will contribute to the implementation of our software solutions through the production of high-quality code. You will be involved in crucial stages of the development lifecycle throughout the build and deployment of our products and provide support both during and post-deployment. You will bring coding expertise to the team, working closely with others to produce quality code that is efficient, maintainable and testable. You will work with the team to deliver designs and functionality, including prototyping, researching and trialing new technologies as well as improving and maintaining existing solutions. You will contribute to planning activities whilst aligning your workload to team delivery timescales. Responsibilities Develop the next generation of our software using the latest web technologies with standard design patterns and practices, all in an agile environment Architect and write clean, documented, testable and scalable code adding new functionality to our solutions, as well as improving our existing code-base Perform code reviews, ensuring that the team delivers reliable and secure software Learn, maintain, and improve our existing toolset and infrastructure, wherever applicable Champion best practice, clean code, patterns, practices and methodologies Act as a point of escalation and troubleshooting within the development team, shaping the team ethos and mentoring junior developers Delivery of enterprise-quality, web-based, API-driven solutions Making a key contribution to Scrum events; Daily Stand-Ups, Sprint Reviews, Backlog Refinement workshops, and Sprint Retrospectives Develop new features across and maintain all versions of our software Conducting and participating in code and architecture reviews, supporting continuous learning and knowledge sharing across the team Supporting our colleagues in the Deployment, Support and Infrastructure teams; ensuring that our software meets the required standards for privacy, security, compliance, and regulation Production of technical documentation, wikis, and release notes, where required, to support all stages of the Software Development Lifecycle Requirements Key skills and experience Expert front-end programming skills using modern libraries and frameworks, especially React, Vue, and Angular Strong skills programming with JavaScript / TypeScript Strong C# programming skills with demonstrable expert-level knowledge of the .NET Framework Accomplished in developing websites and web applications using ASP.NET (MVC, Web API) Able to deliver low-latency web services and APIs with a solid understanding of the REST architectural style Knowledge of designing, building, and consuming APIs with OpenAPI (Swagger) Very proficient in database development on MS SQL Server with extensive knowledge of T-SQL and relational data modelling Experience building responsive layouts and mobile websites with cross-browser compatibility Strong knowledge of Object-Oriented development Extensive knowledge of software design patterns, SOLID principles and advanced-level engineering approaches, such as DI/IoC, TDD, etc. Experience working with source control, automated build, deployment tools and package managers (Azure DevOps, Git, NuGet, NPM) Able to work in a fast-paced, delivery-focused, agile environment Excellent spoken and written English communication skills; able to present and articulate proposals, estimates and solutions clearly and succinctly Able to assume end-to-end ownership of technical solutions Have a high level of maturity; able to give and receive constructive feedback, particularly during code and architecture reviews Benefits Benefits 25 days holiday plus bank holidays and an additional 3 days for Christmas Extra day’s leave for Birthday Company Pension Income Protection Life Assurance Private health care Cycle-to-work scheme