Firmware Test Automation Engineer
Team: Engineering
Location: Belfast, Northern Ireland
Commitment: Full-time
Workplace Type: hybrid
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
There are more than 50,000 engineering jobs:
Subscribe to membership and unlock all jobs
Engineering Jobs
60,000+ jobs from 4,500+ well-funded companies
Updated Daily
New jobs are added every day as companies post them
Refined Search
Use filters like skill, location, etc to narrow results
Become a member
🥳🥳🥳 452 happy customers and counting...
Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.
To try it out
For active job seekers
For those who are passive looking
Cancel anytime
Frequently Asked Questions
- We prioritize job seekers as our customers, unlike bigger job sites, by charging a small fee to provide them with curated access to the best companies and up-to-date jobs. This focus allows us to deliver a more personalized and effective job search experience.
- We've got over 200,000 jobs from 15,000+ vetted companies. No fake or sleazy jobs here!
- We aggregate jobs from 15,000+ companies' career pages, so you can be sure that you're getting the most up-to-date and relevant jobs.
- We're the only job board *for* software engineers, *by* software engineers… in case you needed a reminder! We add thousands of new jobs daily and offer powerful search filters just for you. 🛠️
- Every single hour! We add 2,000-3,000 new jobs daily, so you'll always have fresh opportunities. 🚀
- Typically, job searches take 3-6 months. EchoJobs helps you spend more time applying and less time hunting. 🎯
- Check daily! We're always updating with new jobs. Set up job alerts for even quicker access. 📅
What Fellow Engineers Say
