Skip to content

UKHO Software Engineering Careers

Find out more about software engineering at the UK Hydrographic Office (UKHO) and how you can apply for one of our specialist roles.

​​​​​​​​​​​​​​The UK Hydrographic Office (UKHO) collects and supplies global marine geospatial data to organisations around the world to help them make informed decisions.

Our software engineers are at the forefront of this activity, using cuttin​g 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

Find out more about our Engineering Practices >


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.

Find out more about o​u​r Software Engineering Trainee Programme >​

View our latest vacancies >​

​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.

Developer Tools

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.

Development Practices

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.

Continuous Delivery

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

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.

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.

Joshua Oxenham, Trainee Software Developer at the UKHO, shares his experience below of the Software Engineering Trainee Programme. 

What attracted you to the UKHO? What made you apply?

I graduated from the University of Exeter in 2020 with a Computer Science degree. I came across the advert for the UK Hydrographic Office (UKHO) Trainee Scheme in my hunt for a Graduate role. I'd never heard of the UKHO and had no idea what they did. I also imagined the Technology Division in government to be behind the curve and not what I wanted. When I investigated what the job entailed, I found the complete opposite – the Trainee Scheme offered complete training in Agile and Scrum, Cloud computing training in Azure for CI/CD and full access to learn .NET Core and C# among much more. The other companies I was applying for didn't offer this level of training and my university course didn't teach any of this industry specific toolset. I was excited to get the opportunity to learn all of this as my day-job, and it felt like the perfect transition from being a university student into being a full-time software developer. In the end, I rejected any other offer I received, because I felt that the opportunity to be allowed to learn at this level for 12 months was too good to miss.


Why do you think you got the role?

The UKHO above all values a passion for the role. Although I'm sure having a degree in Computer Science helped, this alone probably wasn't what made me successful in my application. I had been programming as a hobby since my early teens, and really loved being a developer. I made sure to put this across as much as I could in my interview. I spoke about the hobby projects I'd worked on, and especially the niche ones, as I believed that showing this side of me was important. Along with this, I had taken up an internship during my time at university and I really believe this is one of the best things I could have done. I worked for a great company that allowed me to dive right into developing and deploying applications right to the customers, and this experience is great to talk about in an interview.


What can you expect from the UKHO Developer Trainee Scheme?

The Trainee Scheme officially lasts 12 months, though depending on your own level of learning, it could be shorter. I believe it's a great way to learn for a new developer. As a trainee, I have been given a technical mentor who is another developer at the company – he is there to answer any questions and guide me through my first year at the company. I started with 1 to 2 months of settling in and developing some core skills. I was given access to Pluralsight which has innumerable courses taught by great tutors and was given full autonomy as a developer to make my own decisions on how and when to learn the skills that are required.

My first few months in the company were spent learning about skills like the SOLID principles and some advanced C#, as well as going along to a 2-day virtual Scrum Professional training course. The Scrum course is mandatory, but the other skills I chose to develop during this time were my own decision guided by my mentor. I also get the time to complete a project of my own, which is chosen by me to be used to reinforce my learning as I go along. I've chosen to create a collectible card game which allows you to battle other users with your card deck. The project will consolidate my knowledge in developing and deploying API-based web apps.

I am just about to embark on the next 6 or so months, where I will join a couple of delivery teams on rotation for around 3-4 months each. This is the stage where I hope to gain the most experience and learning on the core skills and tools that the UKHO uses in development. I have started to attend all the standard Scrum events and be part of a self-managing development team.


How do you think your career might progress at the UKHO?

Since joining the company I've met a dozen Senior and Lead Developers who joined the company in the trainee scheme which showed me how great the career progression at the UKHO is. My current mentor is a Lead Developer who joined as a trainee – his progression to Lead happened within a few years and is just one of many examples of successful trainees at the company. All of this shows me that my path is whatever I make it to be.


What makes the UKHO different from other employers?

One of the most surprising things I found when starting at the UKHO was how committed everybody is to use the best tools, frameworks and solutions regarding software development. The Scrum process is mandatory training and is followed well by everyone at the company, which leads to a good development environment. Everyone is supportive and flexible with how you need to work.

There are around 40 developers at the UKHO, and for somebody learning how to be a developer, this is one of the best resources I could have asked for – many, many developers who are all happy to give a helping hand or offer their take on something. The work all these developers do is meaningful, and they care about what they are developing. There are lots of opportunities to work on a variety of systems and technologies that support interesting things such as navigation and safety at sea.

When I accepted the role in early summer 2020, a lot of companies were either closing their doors or furloughing their employees due to the pandemic, but the UKHO were still hiring and supported me entirely to work from home, with great tech to use and flexible working, which gives me a great life balance. In uncertain times I feel the Civil Service has provided me with some security and I feel I have a future I am excited about.

​All software engineers at the UKHO receive:

  • Professional Scrum training

  • Pluralsight Plus

  • MSDN Enterprise (including credits for Microsoft Azure)

You will also be offered:

  • BCS Membership

  • Support for MCSD exams

  • Info on activities within the developer community

  • Additional training opportunities

To learn more about the benefits and rewards of working at the UKHO, visit our Benefits and Rewards page.

Trainee to Lead Software Engineer 

Dave Lowe, Lead Software Engineer at the UKHO, joined in 2016 through the Software Engineer Trainee Scheme. Read below about Dave's experience. 


What attracted you to the UKHO? What made you apply?

For me personally, having previously worked as a Software Developer at an organisation where I was the only developer, one of the main reasons I wanted to join the UK Hydrographic Office (UKHO) was because I wanted to learn from other developers and improve myself. After my initial telephone interview, it was clear that the UKHO offered a range of training and development opportunities, which has always been important to me. 

Another reason for wanting to join was benefits and pension schemes available to Civil Servants. When I applied, I was just starting a family, so the aforementioned points were, and still are, really important to me.


What training and development opportunities have you had at the UKHO?

Since joining the UKHO I've had lots of training and development opportunities in both technical and soft skills. The day after I was offered the job as Trainee Software Engineer, I received an email from my line manager with a Pluralsight subscription and the offer of choosing two technical books to get me started (new technical books are only ever an email away). I chose 'Head First Design Patterns' and 'C# in Depth' - which are still in my book collection today. 

I also receive 1 day each month to dedicate to my own personal development and training – some of the training I have received and conferences I have attended include: 

  • 3-day Professional Scrum Developer course

  • ITIL

  • 3-day TDD and Design Patterns course

  • Cyber UK conference

  • NDC London conference

  • Multiple internal Civil Service Learning courses

In addition to this, I take part in a range of guilds across the business – where developers can meet to chat and present about similar technical interests.

What experience have you gained while at the UKHO?

Working in a Scrum team with other great developers has been where I've gained the most experience. I was made to feel part of the team instantly, and although I was a trainee in a team with Engineers, Senior Engineers and a Lead Engineer, I was never made to feel like my opinion or ideas mattered any less - the whole team felt equal.


What is your current role?

My current role is Lead Software Engineer. One thing I've always had is a passion for what I do, and I think one of the main reasons I've progressed to Lead Software Engineer is because of that passion and ambition to do my best and improve myself – which the UKHO has supported me in doing.


What sort of things have you been doing in the last 12 months?

I've had a very interesting 12 months. This time last year, I was a Senior Software Engineer working on an Event Sourcing System which will be integral for ingesting ENCs (Electronic Navigational Charts) into our organisation for the future. Within the last 12 months, I have furthered my knowledge learning about different parts of the organisation and two months ago, I become successful in applying for a permanent role as a Lead Software Engineer.


What does the role involve that people might not expect?

One thing that Lead Software Engineers at the UKHO undertake (that might not be true of all Lead Software Engineers) is that we are also line managers for other engineers. Being able to manage two engineers from other teams has been a really good introduction into line management and a great way of gaining more experience.


How do you think your career might progress at the UKHO?

So far, I think my career opportunities at the UKHO have been really impressive. I've always been willing to learn and progress and the opportunities have always been there for me to do so. I'm also a keen functional programmer and love F# and currently learning Clojure, so I will always be looking for opportunities in that area.


What makes the UKHO different from other employers?

Being part of government and working as a Civil Servant comes with lots of benefits as I've mentioned above. For me, the highlights are flexible working and knowing I'll always be there for my kid's sports days and nativity plays, while still being able to carry out my day job. I also really enjoy working with talented developers who, like me, have a passion for software development and everything that goes along with it.