Senior Software Engineer (Linux, Rust, Python, C)
Veo is an AI-powered sports camera and analysis ecosystem built for one job: turning what happens on a pitch into proof. Capture, viewing, data and analytics, sharing- all in one system, all pointed at the same thing.
That's bigger than football. Every player, on every pitch, gets access to the kind of proof only the top academies used to keep for themselves. It's the future we're building.
Every youth match still has a moment nobody saw. A run that won the game, underneath everyone's radar. A kid written off before anyone actually checked. We exist to close that gap, one match at a time.
One camera on any pitch feeds an AI that tracks every player and the ball for the whole game, turning what happened into evidence instead of somebody's opinion.
That's the actual job here. Not shipping features. Building the system that gives proof to someone who used to rely on a hunch.
If you've ever watched a match and wondered who else saw what you saw, you already know why this matters.
We're looking for people who want to build that future with us.
What You Will Do
- Develop and maintain Rust- and Python-based user-space applications running on Veo’s embedded Linux camera platform.
- Contribute to firmware architecture and Linux platform engineering for our camera system.
- Build and maintain integrations with cloud services, including REST APIs, OpenTelemetry, and AWS S3.
- Implement wireless communication features using BLE and Wi-Fi for connectivity with mobile devices.
- Develop and maintain application-layer protocols, including GATT services, Protobuf-based communication, and data serialization.
- Collaborate closely with AI, video processing, and cloud teams to support the broader camera platform.
- Improve system reliability and observability through diagnostics, state management, and monitoring.
What You Could Bring
- At least 5 years of experience and a background in electrical or software engineering.
- Strong foundation in modern software development practices, architecture, and design patterns.
- Experience building and evolving user-space applications in Rust or Python, with a focus on clean APIs, testability, and maintainability across an embedded device fleet.
- Experience developing software for embedded Linux systems (Yocto), including system services, D-Bus, device trees, state management, and diagnostics.
- Experience integrating embedded systems with cloud services such as REST APIs, OpenTelemetry, and AWS S3, including debugging and operational troubleshooting.
- Experience building applications that integrate BLE and Wi-Fi, including GATT services, connection management, Protobuf-based protocols, and communication with mobile devices.
- Familiarity with MCU development and RTOS environments are a nice to have. While most work happens in Linux user-space, exposure to low-level firmware or peripheral interfacing can be helpful when interacting with MCU firmware.
Environment
- Languages: Rust, Python, C
- Embedded Linux: Yocto / OpenEmbedded / meta-tegra
- RTOS: Zephyr
- Cloud & Observability: AWS S3, Grafana, OpenTelemetry, Loggly
- Infrastructure: NixOS
- Tooling: GitHub (Actions)