Senior Python Engineer — Camera Fleet Platform (Full-time, Long-term)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$2000/month

HOURS PER WEEK

40

DATE UPDATED

Aug 6, 2026

JOB OVERVIEW

About us

We build and operate CCTV for construction sites across Australia. We build the hardware and we build the software that runs it — live view, playback, alarm monitoring, onboarding, billing. Hundreds of cameras and 4G routers in the field, one platform running all of them.

The role

The platform is currently run by a core engineering team. You'll own real parts of the system end to end — write it, ship it, watch it run.

The work is broad: REST APIs and React one day, a camera that won't stream the next, a router dropping its VPN the day after. There's no separate devops or QA team. If that sounds like a mess, it's not for you. If it sounds interesting, keep reading.

Stack

Python 3.12 / FastAPI, React, MariaDB, self-hosted Linux (systemd, nginx), WireGuard, 4G routers, IP cameras over RTSP and ONVIF, WebRTC streaming.

What we need

Strong Python in production — you understand async, blocking calls, connection pools
Solid JavaScript or TypeScript, and you've shipped frontends
Real Linux experience — SSH into a sick server and work out what's wrong
Networking: NAT, VPNs, routing, firewalls. A lot of our debugging lives here
Willingness to work things out when there's no documentation. This matters more than any specific skill on this list

Nice to have (not required — we'll teach you if you are really smart)

RTSP, ONVIF, WebRTC, ffmpeg. CCTV hardware — Hikvision, Dahua, Uniview. 4G/LTE routers. LLM tool-use APIs.

What we're not

No big team, no product manager, no ticket queue. Some weeks are new features, some are firefighting. We want someone smart and curious, not someone who needs a spec handed to them.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0125
Total Execution Time  0.0140
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,484,032 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Python-Engineer-Camera-Fleet-Platform-Full-time-Long-term-1703929
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0074 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0010   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1703929
 LIMIT 1 
0.0007   SELECT *
FROM `employers`
WHERE `employer_id` = 947556
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1703929
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-10',ej.date_added) duration_daysDATEDIFF('2026-08-10',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-10',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1703929' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1703929 
0.0007   UPDATE employer_jobs SET hit_counts '***Aug-06-2026=429***Aug-07-2026=52***Aug-08-2026=22***Aug-10-2026=1' WHERE job_id'1703929'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Aug-2026=504' WHERE job_id'1703929'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1703929' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1703929 
0.0011   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '947556'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)