Developer - Java and Python
6 Months. Possible extension.
£450 per day. Outside IR35.
Remote working - Blended approach between office (Edinburgh or Glasgow) and remote working when available.
An experienced developer with solid commercial experience of building web applications and REST APIs using Spring Boot and Python/Flask in an OpenShift environment is required to accelerate delivery of new and improved digital services to our customers.
The organisations ambition is to have enduring development teams aligned to the business domains ensuring that ownership of software products is clear. The Customer Facing domain is one of six product domains established to enable RoS to develop and support high quality and resilient digital products. The team is multifunctional with a strong collaborative and agile culture, who have a track record of rapidly delivering incremental customer-value. The Customer Facing domain is responsible for all external customer-facing touchpoints to Scotland's Land Register, including the systems used both to transact upon the Land Register and to provide our customers with the ability to search the Land Register. The domain's mission is: "By managing all customer touchpoints, we enable the delivery of change, using a User-Centred Design approach".
Further development and rollout of Register Land and Property Tool that allows customers to capture and submit applications to the Land Register to support:
o Support for transfer of part and DPA applications
o Extending the support to cover a wider range of deed types
- Redevelopment of the existing Digital Discharge Service document generation and digital signature capabilities
- Redevelopment of the legacy user administration service
- Substantive and complex migration of a range of services to a new MongoDb platform whilst tackling some significant areas of technical debt
- Continued enhancement of the customer facing product portfolio based on customer feedback.
- Continued development and support of Customer Facing products in line with the product and architecture roadmaps with a view to improving digital sustainability and tackling architectural and technical debt.
- 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 RoS 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
Some of these services may need to be provided outside of core business hours (07:30-17:30) in order to ensure continuity of service. The successful supplier is expected plan and manage their working hours accordingly.
- Java 8+
- Python 2.7 / 3.x
- Spring Boot, Python Flask microservices
- Spring security and OAuth2
- Strong HTML / CSS skills and an awareness of accessibility considerations.
- Modern DevOps and CI/CD practices including deployment pipelines, Jenkins and Docker
- Designing and developing with relational and NoSQL databases, particularly Mongo and Postgres
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
- Using testing tools for unit testing, including system test automation frameworks
- Cloud monitoring, telemetry, intelligence tools and processes, including Grafana
- Incrementally replacing enterprise legacy systems
- 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
- AWS Lambda, S3, Cloud Formation, Aurora/Postgres, API Gateway, CDK