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. 


Technology 

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:


Scrum


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.

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