Software Developer - Java 11
£450 per day. Outside IR35.
Remote for foreseeable. When the risk of COVID infection is eliminated or much reduced, we envision that many of the team and community activities will take place at our Edinburgh or Glasgow offices, for at least part of each week
An experienced developer with solid commercial experience of building modern GIS tools is required to accelerate the replacement and retirement of our legacy mapping system by delivering modern GIS products.
The team is multi-functional with a strong collaborative and agile culture, who have a track record of rapidly delivering incremental customer-value. The Mapping domain is responsible for developing and supporting all mapping products used in registration within Registers of Scotland. The domain's mission is: "To develop secure and resilient modern GIS tools using a User-Centred Design approach and retire all legacy mapping systems and infrastructure
Further development of the new Mapping tools so that:
o Plan Creator is fully adopted by all Registration staff
o Plan Creator is enhanced and improved to support expanding departmental user bases
- Development of initial features required to support Development Plan Approval application within Plan Creator.
- Successful migration of all spatial data from DMS to Cadastral Map.
- Successful migration of strategic mapping data and databases to AWS Aurora Postgres clusters.
- Development of Map Based Maintenance workflow to optimise and direct the work of MBM users.
- Continued development and support of Mapping domain products in line with the product and architecture roadmaps with a view to improving digital sustainability and tackling areas of architectural and technical debt.
- Demonstrate excellent, sustainable, and collaborative software development practice that's focused on delivering highly readable, maintainable, and appropriate artefacts.
- Extend and sustain the high-quality support procedures, dashboards, monitoring and deployment capabilities to ensure the team can continue to improve services via feedback.
- 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, techniques 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
- Java 11+
- Spring boot microservices
- Spring Security and OAuth2
- Python 3
- GeoServer, JTS, GeoTools
- QGis plugin development
- Modern DevOps and CI/CD practices including deployment pipelines and Jenkins
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
- Demonstrable experience in successful data migration initiatives
- Demonstrable experience in successful migration to cloud native development practices and techniques
- Demonstrable experience in transitional architectures