Software Engineer jobs in United Kingdom
Explore 98 matching jobs.
Principal C++ Software Engineer
Indra Group
Posted: 10/22/2026Cyber SecurityDockerJenkinsLinuxC++
Graduate Developer, IT Consultant
CEOX
Posted: 10/21/2026Software Engineer
University of Edinburgh Information Services Group
Posted: 10/21/2026AngularAWSAzureCloudDockerJavaKubernetesMicroservicesPython+4 more
Technical Director – Heavy Civil Structures Engineering
AtkinsRéalis
Posted: 10/21/2026Technical Director – Civil Water Engineering
AtkinsRéalis
Posted: 10/21/2026Sales Director – CTV, App Developers
Kayzen
Posted: 10/20/2026Technical Director – Ports and Maritime Engineering
Amentum
Posted: 10/19/2026Manager, Forward Deployed Engineering
Parloa
Posted: 10/18/2026AzureCloudDockerKafkaKubernetesMongoDBMySQLNode.jsRedis+2 more
Director, Engineering – Europe/Asia
Barnes Aerospace
Posted: 10/17/2026Director, Engineering – Europe/Asia
Barnes Aerospace
Posted: 10/16/2026Engineering Technician – 12-month FTC
Nestle
Posted: 10/16/2026React
Engineering Technician Apprentice
Ontic
Posted: 10/16/2026Assembly
Software Engineer
Barclays
Posted: 10/15/2026AWSCloudJavaKafkaKubernetesOpenShiftPostgresSpringTerraform
Technical Director – Clean Water Process Engineering
AtkinsRéalis
Posted: 10/15/2026Technical Director – Waste Water Process Engineering
AtkinsRéalis
Posted: 10/15/2026Senior Developer
Insight Investment
Posted: 10/15/2026ASP.NETAzureDockerKubernetesReactSDLCSQLVault.NET
Node Developer
Solirius Consulting
Posted: 10/15/2026AngularAWSAzureChaiCloudDockerGraphQLJavaJavaScript+4 more
Junior CRM Developer – FTC
Ocado Retail
Posted: 10/14/2026SQL
Data Processing Developer Intern
NVIDIA
Posted: 10/14/2026C++
Graduate Engineering Consultant – Through Life Engineering
BMT
Posted: 10/13/2026SQL
Software Engineer
Evri
Posted: 10/13/2026AWSCloudJavaJavaScriptNode.jsSpringSpring BootSpringBootVue.js

Principal C++ Software Engineer
Indra GroupCore Competencies
Role fitCore Competencies
Use this summary to align your resume positioning with the role.
Demonstrates expertise in C and C++ software engineering, with a strong focus on modern C++ standards and software architecture. Capable of leading complex development activities, mentoring teams, and integrating software with various hardware devices while ensuring high-quality, maintainable code.
Highest-signal resume keywords
C++ Software EngineeringSoftware Architecture DefinitionEmbedded Linux DevelopmentCMake Build ManagementTechnical Leadership
Tech Stack
Tools & technologiesCyber SecurityDockerJenkinsLinuxC++
About the role
Key responsibilities & impact- Act as the technical authority for one or more C++ software products or project workstreams
- Define software architecture and technical solutions for new products, hardware replacements, platform migrations and legacy-system modernisation
- Design, implement and maintain high-quality software using modern C++
- Lead migration of legacy C and C++ applications to modern operating systems, hardware platforms, build environments and compiler toolchains
- Analyse existing codebases and identify technical risks, dependencies and modernisation opportunities
- Integrate software with contactless and NFC readers, fare validators, ticketing devices, POS terminals, receipt printers, communications modules, Bluetooth and other peripheral devices
- Define and review software interfaces using REST APIs, MQTT, WebSockets and other messaging or communication protocols
- Lead software design reviews, code reviews and technical investigations
- Establish software engineering practices including coding standards, design patterns, automated testing and Clean Code principles
- Diagnose and resolve complex defects involving software, hardware, operating systems, communications and distributed-system interactions
- Ensure software is reliable, maintainable and suitable for deployment to field devices
- Define build, packaging, deployment and CI/CD approaches using CMake, Docker, Jenkins and Git
- Work closely with systems engineering, hardware engineering, testing, cybersecurity, Back Office teams, project management and external suppliers
- Provide technical estimates, identify delivery risks and contribute to project and resource planning
- Mentor software engineers and support the technical development of distributed or multidisciplinary teams
- Support integration, acceptance, deployment and production investigations when required
Requirements
What you’ll need- Significant professional experience in C and C++ software engineering, including several years in senior, lead, staff or principal-level responsibilities
- Strong hands-on knowledge of modern C++, ideally including C++11, C++14, C++17 or later
- Proven experience defining software architecture and leading technically complex development or integration activities
- Experience developing software for Embedded Linux, Linux Server or Windows Desktop systems
- Experience integrating software with hardware devices and diagnosing issues across HW/SW boundaries
- Strong understanding of multithreading and concurrency
- Strong understanding of memory management
- Strong understanding of object-oriented design
- Strong understanding of state-machine design
- Strong understanding of inter-process communication
- Strong understanding of network and device communications
- Strong understanding of error handling, logging and diagnostics
- Experience modernising or migrating large legacy C++ codebases
- Strong knowledge of software build and dependency-management tools, particularly CMake
- Experience using Git and structured branching, review and release processes
- Experience with automated unit and integration testing using frameworks such as Google Test and Google Mock
- Experience designing or integrating messaging and service interfaces, including REST APIs, MQTT and WebSockets
- Experience with continuous integration and delivery pipelines
- Ability to investigate complex production defects and provide technically robust solutions
- Experience conducting design reviews and code reviews
- Demonstrable technical leadership and mentoring experience
- Strong written and verbal communication skills, including the ability to explain technical decisions, risks and trade-offs to engineering and non-engineering stakeholders
- Experience in one or more of the following areas is highly desirable: Automated Fare Collection systems, contactless payment and smart-ticketing systems, transport ticketing devices, card readers and validators, gate and station equipment, EMV contactless payments, ITSO smart ticketing, barcode validation, revenue protection or fare-processing systems, high-availability software deployed across large fleets of field devices
Benefits
Comp & perks- 25 days per annum + 8 days bank holidays (options to buy/sell days)
- Pension – 4% employee and 4% employer
- Private medical insurance (including dental & optical)
- Life assurance
- Income protection
- Employee assistance programs
- Flexible/remote working options
- Charitable initiatives
- Social events (formal & informal)
- Learning and development programs
- Innovative & collaborative work environment
ATS Keywords
✓ Tailor your resumeApplicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills
Modern C++ (C++11, C++14, C++17)Multithreading and ConcurrencyMemory ManagementObject-Oriented DesignState-Machine DesignInter-Process CommunicationNetwork and Device CommunicationsAutomated Testing (Google Test, Google Mock)Continuous Integration and DeliveryLegacy Codebase Modernisation
Soft Skills
Technical CommunicationMentoringProblem-Solving
Tools & Technologies
CMakeDockerJenkinsGitREST APIsMQTTWebSockets
Industry Keywords
Automated Fare Collection SystemsContactless Payment SystemsSmart-Ticketing SystemsTransport Ticketing DevicesHigh-Availability Software