Software engineering at the UKHO
We collect and supply global marine geospatial data to organisations around the world.
Our software engineers are at the forefront of this activity, using cutting-edge technologies to ensure our data is easy to control, discover, buy and use.
What we do
Everything we do is team-based. We take Agile seriously; our delivery teams are small but have the people it needs to get things done - developers, testers, product owner and a delivery manager - as well as access to infrastructure specialists, UX experts and analysts.
Quality is paramount. Teams are supported to do good work. Most code is done in pairs or larger groups to ensure quality and spread knowledge. Everyone reviews code and everyone welcomes feedback.
We strive to automate as much as possible: testing, builds and deployments use the latest tools available.
We work in wide range of technologies in .Net and Java, deploying our solutions to Azure and AWS as well as to our own infrastructure. We also use geospatial technologies such as ArcGIS.
Our teams are currently:
- Building Azure geospatial data APIs to reach new types of customer
- Changing the way our data is stored with a new cloud native data platform using Kubernetes
- Re-writing the way our products are updated using Azure Event Grid, .Net Core and Docker
As software engineering practices continue to evolve to meet modern day requirements, we continuously review our own practices to identify more efficient ways of working and to make the most of cutting edge technologies.
We currently work in the following areas:
We use Scrum for most of our development projects. Development teams include developers and testers working closely together and are complemented by Delivery Managers and Product Owners, as well as Business Analysts and Solution Architects where needed.
Application Lifecycle Management
Tooling is essential to modern software development. We use Azure DevOps Services as our ALM tooling and have a policy of keeping up-to-date with new Microsoft releases.
Our developers use a range of the latest tools including Visual Studio, ReSharper and a choice of complementary tooling, such as NCrunch, LINQPad and Beyond Compare.
Code quality is one of our highest priorities. Therefore we focus on ensuring that code is supported by high unit test coverage and developers are actively encouraged to work in a test-driven development manner, including pairing and mobbing when appropriate.
We see automation as a key enabler to improving efficiency, and are implementing continuous delivery to ensure every change to an application is releasable. This process involves the use of tooling to manage the configuration of applications and automating its deployment to different environments.
Automated testing is a practice which we actively encourage in order to reduce software delivery cycle time. This enables test engineers to focus on high-value testing rather than routine testing.
Technical Debt Management
Technical debt refers to the deterioration of a codebase over time. We are continuously looking for ways to reduce technical debt, using code quality metrics tooling such as SonarQube to help monitor progress and maintain the health of our codebase.
Why join our team?
As part of our team, you will get the chance to work for a world-leading organisation in a fast-paced, growing sector.
We work with emerging technologies to deliver our vision, and our data platform DevOps capability is continuously evolving. That's why we encourage our staff to develop their skills to reach their full potential, and empower them to innovate to deliver better ways of working through our trainee programme.
Roles we offer include:
- Principal Software Developer
- Lead Software Developer
- Senior Software Developer
- Trainee Software Developer
All software engineers at the UKHO receive:
Professional Scrum training
MSDN Enterprise (including credits for Microsoft Azure)
You will also be offered:
Support for MCSD exams
Info on activities within the developer community
Additional training opportunities
We offer a range of paid apprenticeships and trainee roles to enthusiastic individuals who are looking to begin a career in software engineering.
What the programme involves:
Our trainee programme offers the opportunity to work within our Technology Division, delivering real world solutions while gaining valuable technical experience. As a trainee, you will be able to:
Design and craft software solutions
Work within agile teams on greenfield development
Use skills in C#, Java, Scrum and up-to-date frameworks
Use automated testing and deployment
What you will learn:
Our programmes are designed to help you learn, develop and grow in your role. All trainees are assigned a mentor who will assist in creating a personal training plan, backed by tutor-led courses and other training materials.
As well as the Software Engineering Trainee Programme we also offer apprenticeship schemes. For more information about this scheme, view our Apprenticeships page.
Join our team and discover your next career opportunity at the UKHO. View our latest vacancies across the organisation and find out how to apply.
Working at the UKHO
As a UKHO employee, you'll benefit from flexible working, regular development opportunities, and much more. Our award-winning office in Taunton, Somerset also provides an open and dynamic workplace for our people.
Our apprenticeship scheme offers valuable skills and experience to support your career development. Today, we offer a wide variety of apprenticeships across different roles and at different levels of qualification.
Rewards and benefits
Discover more about the rewards and benefits of working at the UKHO.