DEPARTMENT: Hx Production
REPORTS TO: Software Engineering Manager
Positive Solutions is a technology solutions provider operating within Great Britain’s pharmaceutical dispensing sector. It’s continued success and growth into digital transformation demands the management of key work streams. An innovative, extensive software programme that aims to provide exceptional care and services to patients awaits a driven and focussed Software Engineering Lead. You will make a positive difference to healthcare provision by leveraging your own talent and passion along with that of a scintillatingly gifted technical team working with the latest Azure cloud technologies.
PURPOSE OF ROLE
As a Senior Software Engineer in our Hx business unit at Positive Solutions, you’ll work in a collaborative environment as part of a cross-functional agile team consisting of product owners, designers, developers, automation testers, DevOps, and business stakeholders. You’ll provide technical leadership for a one of our 8 agile teams, and technical practice management in our data engineering practice, responsible for how we use database technologies (currently PostgreSQL, MongoDB, Azure Cosmos DB , Azure Data Factory, Elastic and some legacy SQL Server).
Headquartered in Chorley, Lancashire, Positive Solutions is the progressive leader in providing innovative software solutions to the UK pharmacy market. Our flagship Patient Medication Record application is renowned as being the market leader and we are now developing the next generation of innovative, SaaS applications to renew and extend our market leadership.
- Lead data development activities within a single development team.
- Lead on technical database design activities for the team, delegating design responsibilities to other team members as needed and performing design reviews.
- Create high quality, efficient software source code, queries and data management solutions to meet functional and technical specifications and designs along with appropriate unit and integration tests.
- Ensure the team’s code is peer reviewed, providing feedback to ensure code is of the highest standard both within and across your team.
- Create deployment and maintenance scripts and configuration to ensure code can be deployed and operated in all environments.
- Assist automation testers in the creation of test frameworks and data as needed.
- Prepare materials to communicate with other areas of the business to facilitate the successful release of new versions of software.
- Ensure timely response to any support requests raised in relation to your team’s software.
- Continuously develop knowledge of software development technologies and practices personally and across your team, gaining a broad understanding of those used by the company and specialist knowledge your relevant subset. Evaluate and promote new technologies and practices within the wider team.
KEY SKILLS & PERSONAL ATTRIBUTES
Design and development of multi-tenanted, cloud based, software as a service using best-in-class software engineering practices (Test Driven Development. clean code, architectures, OO design using SOLID principles) and a subset of the following technical skills:
- Data storage using relational (SQL Server or PostgreSQL) and document (Mongo DB, Azure Cosmos DB) databases. Use of Elastic stack for indexing document DBs and logging.
- Data intake, transformation and loading processes using Azure Data Factory, SSIS and web service integrations with external systems.
- Data analysis, reporting and visualisation using modern tools such as Tableau, Power BI and Grafana.
- Scalable, asynchronous microservice architectures and eventual consistency data models using service buses (Mass Transit, RabbitMQ, Azure Service Bus).
- Modern security standards and familiarity with TLS1.2, PKI and OpenID Connect.
- API development using .NET Core 3.1 or higher, C#, WebAPI and Entity Framework 6
- Unit and integration testing with JEST, xUnit, Moq. BDD with SpecFlow.
- Create containers using Docker and hosting in Azure Kubernetes Service. Deployment using Helm.
- Web application frameworks: React.js, bootstrap.js with Typescript.
- Kestrel and Nginx web servers. Azure application gateway.
- Azure infrastructure-as-code using Terraform.
- Work and code management with AzureDevOps (boards, repos, pipelines, artifacts) or similar.
The successful candidate will:
- Advocate quality agile software development practices, working to create high-quality user stories and acceptance criteria and plan delivery in 2-week sprints, and adopt sound engineering practices that provide rapid feedback.
- Be delivery-focused: driving their team to complete work in line with estimates and sprint plans.
- Be decisive and data-driven: able to generate and track metrics for sprints, teams, releases, and projects to provide objective, dispassionate decision-making.
- Be adaptable: able to manage change and competing demands.
- Be creative and analytical: able to work individually and within teams to solve problems, innovate and drive excellence.
- Be detail-oriented. Able to understand the details behind specifications and create software that deals with all eventualities.
- Possess excellent communication (written, verbal and visual) and interpersonal skills, with the ability to communicate technical concepts to a non-technical audience.
- Be an optimizer: research best practices within and outside the organization; establish benchmark data and continuously improve processes and measure results.
- Preferably have experience of the healthcare sector.
This position can be predominantly home based, with 2 days a month on site attendance required for team planning activities and occasional additional meetings as required.