Django / JS
We're looking for a Senior Django / JS Engineer with deep Django expertise and server-rendered frontend skills to take full ownership of the core web platform. Concretely: the Django backend, the REST API, the async job layer, the access-control model, and the dispatcher dashboard that operators rely on 24/7. You will work alongside the Lead and the CTO while taking ownership of the entire stack.
You own the platform end to end. Day to day: you build features from the core Django backend and REST API to the server-rendered dashboard and telemetry visualizations, using Celery, Redis, RBAC, and audit logging throughout the platform.
One thing to be clear about: commands issued through this platform reach live power plants. That is why access control and audit logging are must-haves here, not a checkbox.
What you'll do
- Develop and own the core Django application end to end: Django backend, REST API, server-rendered dashboard, async job layer, and access-control model
- Design and optimize ORM queries - and know what SQL your querysets actually produce
- Write and deploy migrations against live schemas without downtime
- Build and maintain the Celery layer: task design, periodic jobs, retries, idempotency, queue routing
- Build and maintain dispatcher-facing dashboards and telemetry visualizations
- Design and enforce the RBAC model across the full stack
- Build audit logging as a tamper-evident trail: who, what, when, from where, with what result
- Work in a Spec-Driven Development workflow, treating OpenAPI/Pydantic specifications as the source of truth for API contracts and UI state
Must have
- 5+ years of production experience with Django: This is the core of the role. The interview will go deep into:
- ORM: Query optimization, select_related/prefetch_related, annotations, and deep understanding of generated SQL.
- Migrations: Safe deployment on live schemas without downtime.
- DRF: Serializers, viewsets, permissions, and versioning.
- Django Internals: Signals, custom management commands, and leveraging the admin as a tool.
- 3+ years of production experience with Celery & Redis: Mandatory, not "used it once." Task design, periodic jobs (celery beat), idempotent tasks, retries, queue routing, and Redis strategies (cache invalidation, TTLs).
- RBAC & Audit Logging: Designing role models (dispatcher/operator/admin) on the principle of least privilege. Every command must be logged—who, what, when, result—as a tamper-evident audit trail for live power plants.
- Full-Stack UI/UX: You own the "face" of the EMS platform.
- SSR-First: You are comfortable in a server-rendered Django environment (template inheritance, custom tags/filters).
- Vanilla Fundamentals: Strong grasp of modern CSS (grid/flexbox) and semantic HTML.
- Data Visualization: You must be able to implement or adapt charting libraries (amCharts/ECharts) to visualize time-series telemetry.
- AI-Driven Frontend: You treat UI as a spec. You use AI to generate boilerplate templates and interactivity, allowing you to focus purely on the UX reasoning and complex data representation rather than manual DOM manipulation.
- Engineering Rigor:
- PostgreSQL: Indexes, transactions, and reading query plans.
- Testing: Pytest, writing testable code for views/serializers/tasks.
- English: B1 (documentation, written communication).
- Spec-Driven Development (SDD): You treat specifications (OpenAPI/Pydantic) as the source of truth for both API contracts and UI state.
- Agentic Pipelines: Experience building or using agent-based workflows (e.g., CrewAI, LangGraph) to automate backend engineering, deployment, and UI boilerplate generation.
Nice to have
- Frontend & UX: amCharts (v5) expertise; HTMX / Alpine.js for SSR-friendly interactivity; experience with UI design tools (Figma/Sketch) for rapid prototyping; Tailwind / Bootstrap or building small design systems; Accessibility (WCAG) and dark-mode optimization.
- Backend & Infrastructure: FastAPI / Pydantic v2, asyncio; Docker / Docker Compose, CI pipelines; TimescaleDB or MongoDB.
- Domain & Standards: Industrial connectivity (OPC UA, Modbus); Energy domain (PV / BESS); Security-standard exposure (IEC 62443, NIS2).