Developer (Supporting Finance)
£400-450 per day. Outside IR35
Homeworking for foreseeable.
When the risk of COVID infection is eliminated or much reduced, we envision many of the team activities to take place at our offices in Edinburgh, for at least part of each week.
We have made significant strides re-organising its IT software delivery capability to align to the key domains within the business. The organisations ambition is to have enduring development teams aligned to the business domains ensuring that ownership of software products is clear.
We design, develop, and operate 20 public registers. In addition to the well-known property registers (Land Register and Sasines), there are also registers of people, legislation, and documents. The Supporting domain is one of six product domains established to enable to develop and support high quality and resilient digital products.
The team is multifunctional with a strong collaborative and agile culture, and employing a test-driven and infrastructure-as-code ethos. The Supporting domain owns and develops some of our core supporting products, such as document management and archiving, and our finance and HR systems.
Development and delivery of:
- A new Invoicing Service to support multiple registers.
- A new Pre-Payment Service
- Continued development and support of Supporting products in line with the product and architecture roadmaps
- Demonstrate excellent, sustainable and collaborative software development practice that's focused on delivering highly readable, maintainable and appropriate artefacts.
- Actively participating in all team events, leading where specialist knowledge in required, and supporting the team to improve their process through inspection and adaptation
- Engage with the wider communities of practice and interest to share knowledge, technique and experience.
- Ensure high quality of developed solutions through development and maintenance of unit tests - with appropriate code coverage - and code analysis using code quality tools.
- Ensure that developed software complies with non-functional requirements, such as accessibility, security, UI/UX, performance, maintainability, deployability, etc..
- Troubleshoot development and production problems across multiple environments and operating platforms, from the AWS-based modern stack to the multiple strands of ETL and database (legacy and otherwise) that underpins the service.
- Routinely use collaborative development practices such as pairing and mobbing techniques in programming, code reviews, system design and requirements analysis/refinement, etc.
- Coaching and mentoring other team members, as appropriate.
Significant commercial experience in the following technology:
- Serverless (Lambda)
- API Gateway
- Cloud Formation
- Node JS
- Strong HTML/CSS skills and an awareness of accessibility considerations
Significant and demonstrable commercial experience in the following areas:
- Delivering high quality software collaboratively in high-performing, cross-functional development teams.
- Designing, gaining consensus, and implementing technical solutions for software development projects
- Developing within Digital First or GDS quality standards
- Developing solutions using human-centred, research-driven, inclusive design practices
- Designing and implementing solutions using service and event-based architectures
- Front and back-end development
- Using testing tools for unit testing, including system test automation frameworks
- Cloud monitoring, telemetry, intelligence tools and processes, including Grafana
- Using written, verbal, and visual communication to explain complex topics concisely to both technical and non-technical audiences
- Incrementally replacing enterprise legacy systems
- Using CI/CD, Test Driven Development (TDD) and Pair Programming to produce high quality, maintainable code
- Working in Agile delivery models
- Defining infrastructure as code
- Using UI pattern libraries to achieve consistent, tested and high-quality interfaces
- Code quality, monitoring, telemetry and analytics tools
- Scripting languages, such as Bash
- Oracle databases
- Java and/or Python
- Kubernetes, especially Openshift