ContextVizzia's IoT platform is what lets operations teams monitor the fleet of cameras deployed across French local authorities, get alerted when something breaks, and intervene before it impacts a city. FleetAPI, device provisioning, the routing and monitoring services - these are the backend systems that carry the day-to-day product. 250+ local authorities now rely on Vizzia to keep their streets clean and safe. As the fleet grows, the backend services that power monitoring, alerting and intervention need a dedicated owner: someone who ships robust APIs, keeps the services reliable in production, and makes the underlying AWS infrastructure evolve when the product needs it to. You will join a 4-person team (Tech Lead, PM, one engineer, one incoming full-stack hire) reporting to Wilfried as Tech Lead. Your mission: develop, maintain and evolve the backend and cloud services of the IoT platform - with the backend side as the core of your day-to-day, and the cloud side as the foundation it runs on.
What You'll Do1. Backend services and APIs for fleet monitoring, alerting and intervention- Develop and maintain the backend services that give operations teams the tools to monitor the camera fleet, get alerted, and intervene.
- Ship APIs and backend services in Python / Node.js / TypeScript that are robust, tested, observable, and documented.
- Own the evolution of the existing APIs and the surrounding services as the product and the fleet grow.
2. IoT verticals ownership- Within the first 6 months, take ownership of one major technical domain : provisioning, fleet drift detection, or the routing & monitoring stack, with a measurable improvement on either reliability or operational quality.
- Work day-to-day with the OpenVPN multi-shard architecture and the router fleet: connectivity, segmentation, scaling the shards horizontally as the fleet grows.
3. AWS architecture and Infrastructure as Code- Handle the AWS architecture supporting the team evolves where the product needs it to: compute (Lambda, ECS, Batch), networking, storage, IAM.
- Arbitrate trade-offs (serverless vs container, SQL vs NoSQL) based on facts.
4. Observability and production incident response- Instrument, alert, and debug the backend services in production, with tooling like CloudWatch, Datadog or Grafana.
- Participate in the on-call rotation on your perimeter. Write post-mortems. Keep runbooks current. Every incident produces an artifact the team can use next time.
- Drive a measurable reduction of mean time to remediation on the services you own.
5. Pairing and cross-team architecture- Pair with the Tech Lead and the full-stack engineer from the spec stage - infra-aware design starts before code is written.
- Within 12 months, represent the team in cross-team architecture discussions (Platform, Data Platform, NetSec, AI) and participate to the technical arbitrations.
• Who You Are- A least 4 years of experience in backend and cloud engineering, with at least 2 years on AWS in production environments.
- Strong backend development in Node.js / TypeScript or Python at production grade, services that are tested, observable, and hold up under load.
- Daily practice of Infrastructure as Code (CDK is what we use; Terraform or equivalent is a fine background), CI/CD, and observability.
- You have run real production incidents and can walk through a timeline, the decisions made, and the post-mortem that came out of it.
- Comfortable with both serverless and classic servers paradigms. You explain a technical position with concrete elements, hear a counter-argument, and update when it's justified.
- IoT, telecom, or distributed systems at scale (MQTT, AWS IoT Core, Kinesis, Step Functions) is a bonus.
At Vizzia, we care about precision, ownership, and moving things forward. We're looking for someone who's curious and genuinely interested in IoT and usercentric approaches.
Benefits Hybrid work
Contrat cadre and RTT (between 8 and 12 days per year depending on public holidays)
A Mac or PC depending on your preferences
BSPCE
60% coverage of meal vouchers worth €9 per worked day
/ Sustainable mobility allowance
Mutuelle (Alan)
Offices located in central Paris (9th arrondissement)
Annual offsite with the whole team and plenty of company events
Recruitment Process- Intro call with Marine (Talent Acquisition Manager) - 30 min
- Technical deep-dive with Wilfried (Tech Lead) - 1 hour
- Live pair-coding and architecture discussion with Jérôme (Head of Infra) - 1 hour
- Product and team fit - 30 min
- Final sign-off with Alexandre
If you've read this far, you're probably very interested in the role and/or Vizzia. We'd like to hear from you even if you feel ou don't check every box.