Modern Embedded C++ Software Engineer - Computer Vision

Standard 8
Farnborough, United Kingdom
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Compensation
£ 65K

Job location

Farnborough, United Kingdom

Tech stack

Artificial Intelligence
Computer Vision
Automation of Tests
UClibc (C Standard Library)
C++
CMake
Code Review
Continuous Integration
Embedded C
Linux on Embedded Systems
Embedded Software
Hardware Interface Design
Imaging Technology
Python
Linux System Administration
Network Protocols
Software Architecture
Software Maintenance
Software Engineering
Delivery Pipeline
Stack Overflow
Yocto
Build Tools
GraphQL
Api Design
C++14
Docker
Jenkins

Job description

If you like ownership, technical variet, and problems that don't have a Stack Overflow answer waiting for you, keep reading.

We're working with a specialist technology business that designs and builds advanced imaging systems used across the UK and internationally. Their products sit across embedded software, computer vision, AI and electronics, and they need an experienced C++ engineer to help shape what's next.

The engineering team is small on purpose. No bureaucracy, no meeting overload. Just software engineers, hardware specialists and algorithm developers building complex products from the ground up.

The Role

You'll spend most of your time in C++, but this isn't a narrow application-coding job. You'll work within embedded Linux environments, support build and release processes, contribute to automated testing, and help improve how software moves from development into production.

You'll work closely with the hardware and algorithm teams, helping bring new capability into products already deployed in demanding operational environments. This suits someone who takes ownership of outcomes, not just tickets.

Day to Day

  • Designing, developing and maintaining software primarily in modern C++
  • Delivering new features while supporting and improving existing product functionality
  • Working within embedded Linux environments and supporting deployment workflows
  • Maintaining and improving build infrastructure and packaging
  • Contributing to CI/CD pipelines and release automation
  • Building automated tests across unit, integration and system level
  • Taking part in code reviews and technical discussions
  • Working across software, hardware and algorithm teams through the product lifecycle
  • Investigating and solving complex technical issues across the platform

Requirements

Several years' commercial experience developing software in Linux environments, comfortable owning work from concept through to delivery.

  • Modern C++ in Linux-based systems
  • Embedded Linux, ideally with Yocto or Buildroot
  • Python for scripting, automation or tooling
  • CMake and modern build systems
  • CI/CD, particularly Jenkins or similar
  • Solid grounding in software architecture and testing practice
  • Comfortable working independently, without hand-holding

Nice to Have

  • Docker or containerised development environments
  • Networking protocols and low-level hardware interfaces
  • API development, including GraphQL
  • Python/C++ integration, e.g. pybind11

Apply for this position