Summary
Sol Invictus Energy Services is hiring a junior software developer for a full-time, 12-month innovation placement on Energy Navigator - our energy-modelling and compliance platform for Alberta's residential and small-commercial building sector. Working alongside our technical lead, you will take ownership of a meaningful share of day-to-day product development: new features, performance and reliability improvements, and extensions to our calculator, document-extraction, and reporting pipelines. As needed you will also help process and review data for an energy reporting / compliance project. Optional secondary work: support our SOC 2 readiness effort (documentation and evidence - not formal audit). This role is supported through the NRC IRAP Youth Employment Program.
Context — what the coding work looks like today
• Front end: React 18 + TypeScript on Vite; React Router; TanStack Query for server state and TanStack Table for grids; Tailwind CSS with shadcn/ui + Radix primitives; React Hook Form + Zod for forms; Recharts for charts and Leaflet/React‑Leaflet for maps; jsPDF-driven PDF UIs.
• Back end & data: PostgreSQL via Supabase — SQL migrations, RLS policies, RPCs, keeping client types aligned with the database.
• Serverless: Supabase Edge Functions (TypeScript on Deno) — document-processing pipelines (external extractors → JSON patches into project_summaries / energy_insights), PDF generation, transactional email, Dropbox hooks.
• Domain & quality: building / envelope / mechanical fields tied to compliance and reporting; debugging real-upload edge cases; validation and user-visible error handling.
• Tooling: Git, ESLint, pnpm, Vite, environment config, careful pre-merge testing.
Core stack is TypeScript / JavaScript, SQL, Supabase. Python is useful for City-side batch CSV / notebook QA and small CLI glue — secondary, not the main repo language.
What you will do
1. Product & engineering — primary (~70–85%)
• Implement features and bugfixes end-to-end across UI, API, database, and Edge Functions.
• Progressively own recurring development tasks the technical lead does today (with pairing and handoff).
• Extend calculator / compliance flows so data from uploads and models is correct, complete, and explainable.
• Improve reliability: validation, empty states, performance of heavy tables, safe handling of malformed documents.
2. Municipal Project — data process & review (~10–25%, varies)
• Ingest, clean, reconcile, and review datasets / model outputs used for City-aligned reporting or QA.
• Cross-check numbers and assumptions against source files (HOT2000 / energy reports, spreadsheets, City reference calculators).
• Build or run small scripts (TypeScript, Python, or spreadsheets) to automate repetitive checks and flag anomalies.
• Communicate findings in plain language for non-developer stakeholders.
3. SOC 2 readiness — optional (~5–15%)
• Maintain control evidence (tickets, screenshots, access lists, vendor list); draft internal how-we-work notes under direction.
What we are looking for
Required
- Recent post-secondary graduate (degree, diploma, or certificate) in software development, computer science, software engineering, or a closely related program — typically graduated within the IRAP youth eligibility window.
- Aged 15–30 at start of placement, Canadian citizen, permanent resident, or person with refugee/protected status, and a first-time participant in a Youth Employment and Skills Strategy (YESS) program targeted at post-secondary graduates (NRC IRAP requirement).
- Available full-time (≥30 hrs/week, target 37.5) for a 12-month placement, working remotely from Alberta.
- Strong TypeScript and React (hooks, component composition, async data, controlled forms); comfortable in a Vite-based codebase.
- Solid SQL (reads, writes, joins, relational thinking, basic schema migrations).
- Practical experience with at least one modern UI toolkit — for us that is Tailwind CSS with shadcn/ui + Radix primitives, plus React Hook Form + Zod for forms.
- Git discipline (feature branches, meaningful commits, pull requests, code review).
- Ownership and communication: breaks down scoped tasks, reads unfamiliar code, asks early when blocked, and writes clear notes for technical and non-technical readers.
Preferred
• Supabase (Auth, Postgres, Edge Functions) or analogous BaaS + Postgres stacks.
• Vite, Zod, Tailwind, TanStack Query / Table.
• Python for data QA scripts or notebooks (pandas, openpyxl).
Interest in building codes, EnerGuide / HOT2000-adjacent workflows, or municipal energy programs.
• Preference will be given to PR/Citizens/Refugees and applicants under 30y/o due to funding
How to apply
Send resume + GitHub or portfolio + a short note on one complex React or data project to . Subject: Junior Developer — Energy Navigator. Open-ended role with a target start of Summer 2026 (June).