Leave us your email address and we'll send you all the new jobs according to your preferences.

Firmware Test Automation Engineer

Posted 1 hour 53 minutes ago by Halos Body Cams

£80,000 - £100,000 Annual
Permanent
Full Time
Factory Jobs
Belfast, United Kingdom
Job Description

HALOS is an advanced body camera and cloud software scaleup, working with some of the biggest names in security, services, and law enforcement. At HALO, we're passionate about safety and innovation, constantly staying ahead of threats and reducing risk.

What sets HALOS apart is not just the cutting edge technology we develop but the culture we've nurtured. Our team embodies openness, transparency, and a "one team" spirit. We're a group of passionate individuals, all working on exciting and impactful projects. Here, you'll find an environment that fosters collaboration, creativity, and a shared sense of purpose.

We're building a new firmware test automation function for our body worn camera platform (embedded Linux). You'll own the creation of a reliable, scalable daily regression system that pulls the latest firmware builds, deploys them to devices, runs automated suites (including video + streaming validation), and publishes clear results to the team.

This is a hands on role combining automation, embedded systems, hardware in the loop, video validation, and streaming.

What you'll work on
  • Build the automation foundation
  • Design and implement a maintainable test automation framework for embedded Linux firmware.
  • Build the end to end daily pipeline: fetch latest firmware upgrade/flash devices execute suites collect artifacts publish reports.
  • Make the system robust: retries, device recovery, quarantining flaky devices/tests, clear failure classification.
  • Automate core camera workflows
  • Recording start/stop behaviours, file integrity, metadata correctness, storage handling.
  • Device lifecycle behaviours: reboot, crash recovery, factory reset paths, upgrade/rollback scenarios.
  • Video validation automation (MP4, H.264/H.265)
  • Automate decode integrity and structural checks (e.g., via FFmpeg/ffprobe).
  • Validate stream properties (codec/profile, resolution, fps, bitrate), timestamp sanity, and dropped frame indicators.
  • Produce actionable artifacts (ffprobe JSON, short clips, logs) for triage.
  • Streaming validation automation (RTSP + WebRTC)
  • Automate connect/setup/teardown, stability, reconnection behaviour, and basic performance metrics.
  • Capture and report streaming metrics (e.g., bitrate/FPS, jitter/RTT/packet loss where available) and attach useful artifacts (logs/stats, pcaps as needed).
  • Stress, soak, performance & resilience testing
  • Expand automation beyond functional tests to include repeatable, automatable stress and longevity coverage:
  • Long duration recording (soak), repeated record/stop cycles, rapid user action loops
  • Low storage / near full disk behaviour, rollover, integrity after abrupt shutdown/power loss
  • Battery edge cases (low battery recording), charging transitions, thermal related scenarios (where observable)
  • OTA/upgrade stress (repeat upgrade/downgrade, interrupted upgrade recovery)
  • Network impairments for RTSP/WebRTC (loss/jitter/delay; bandwidth constraints) and reconnection loops
  • Parallel execution across a fleet (multiple devices in CI daily)
  • Define clear pass/fail criteria and trend metrics to reduce noise and catch regressions early.
  • Lab / hardware in the loop ownership
  • Build and maintain test rigs and device control: provisioning, reset/recovery, power cycling, docking workflows.
  • Scale execution across multiple devices running in parallel.
  • Quality signal and collaboration
  • Triage failures, isolate root cause, and write high signal bug reports (repro steps, logs, clips, stats, traces).
  • Partner with firmware engineers to improve testability and reduce flaky failures.
  • Tooling & platform
  • Source control/build environment: Bitbucket (Bitbucket repos; Bitbucket Pipelines or alternatives acceptable)
  • Target platform: Embedded Linux
  • Media + streaming: MP4 (H.264/H.265), RTSP, WebRTC
  • This is a new function: you'll have freedom to propose and introduce tools, with an expectation of maintainability and measurable outcomes.
Your Experience
  • Essential
  • Strong experience building test automation for firmware/embedded systems (not only web/app UI).
  • Strong scripting/programming (Python preferred; Bash/Go welcome).
  • CI mindset: can build unattended daily execution with artifacts and easy triage.
  • Comfort in Linux environments (logs, SSH, tooling, system debugging).
  • Solid networking fundamentals (TCP/IP; practical debugging).
  • Highly Valued
  • Video validation using FFmpeg/ffprobe (metadata, decode checks, timing/PTS sanity, regression signatures).
  • Streaming validation using GStreamer (RTSP; ideally WebRTC via webrtcbin or equivalent).
  • Wireshark/tshark experience for network trace triage.
  • WebRTC metrics understanding and automation (browser getStats() or non browser approaches).
  • Nice to Have
  • Camera/video domain experience (body worn, CCTV, dash cams).
  • MP4 container tooling (e.g., MP4Box/GPAC) and compatibility pitfalls.
  • Frame/content validation in automation (OpenCV/PyAV) for frozen/black frames, overlay checks.
  • Network impairment testing
Benefits
  • Generous Annual Leave Allowance
  • Competitive salary and commission/bonus package
  • Learning and Development opportunities
  • Private Health Insurance
  • Cycle to work scheme
  • Home & Tech scheme
  • Regular company events and social initiatives
The HALOS Hiring Process

Here's what we expect the hiring process for this role to be, should all go well with your candidacy. This entire process is expected to take 1-3 weeks to complete and you'd be expected to start on a specific date.

Application
  • 30 minute introductory meeting with the recruiting team
  • 45 minute Interview with department hiring manager
  • 30 minute meeting with wider department
  • Offer!
Diversity & Inclusion

We're an Equal Opportunity Employer and embrace a diversity of backgrounds, cultures, and perspectives. We do not discriminate on the basis of race, colour, gender, sexual orientation, gender identity or expression, religion, disability, national origin, protected veteran status, age, or any other status protected by applicable national, federal, state, or local law.

Email this Job