Files
ResumeSite/docs/MASTER_CAREER_PROFILE.md
T
cesnimda 239d3dec0e
CI / quality (push) Has been cancelled
CI / e2e (push) Has been cancelled
CI / lighthouse (push) Has been cancelled
CI / relay (push) Has been cancelled
CI / images (push) Has been cancelled
docs: Master Career Profile — single source of truth for career materials
Aggregates identity, positioning, summaries (3 lengths, EN/NO), skills taxonomy, experience,
projects (incl. verified homelab detail), achievements bank, ready-made LinkedIn/bio/cover-letter
snippets, and a voice/usage guide for generating CVs, cover letters, LinkedIn and bios.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 11:23:09 +02:00

15 KiB
Raw Blame History

Master Career Profile — Connor Babbington

Single source of truth for generating CVs, cover letters, LinkedIn content, bios and other career materials. Everything here is factual and verified against the CV, the portfolio site content, the project repositories, and a live inspection of the infrastructure (July 2026). When generating any artifact, pull from this document and follow the Voice & usage guide at the end.

Related sources: design/02-ux/CANONICAL_CONTENT.md (original CV facts) · site content in site/src/data/ · CV generator in tools/cv/.


1. Identity & contact

Field Value
Name Connor Babbington
Title (self-label) Systems Developer (NO: Systemutvikler)
Location Tønsberg, Norway
Work eligibility Valid Norwegian residence permit
E-mail connor.babbington@cesnimda.co.uk
Phone +47 41 33 44 70
Website https://cesnimda.co.uk
LinkedIn https://www.linkedin.com/in/connor-babbington
Git (self-hosted) https://git.cesnimda.uk/cesnimda
Languages English (native) · Norwegian (B1, actively developing)
Availability Open to remote, hybrid or on-site developer roles

2. Positioning

Core positioning: a systems developer with eight years' experience building and maintaining production software for UK local government, now building and self-hosting full-stack products in Norway. Backend-leaning full-stack, with genuine DevOps and operations depth.

  • Never self-label "senior" or "mid-level". Lead with "eight years' experience" and let the evidence (production systems, security decisions, operations) carry seniority.
  • Emphasis differs by audience: for Norwegian public/SME employers, foreground the public-sector systems background and operations/security; for product companies, foreground full-stack delivery and the case studies.

Headline options (LinkedIn / CV subtitle):

  • Systems Developer · .NET, full-stack & infrastructure · Tønsberg, Norway
  • Systems Developer — 8 years building & running production software
  • Backend-leaning full-stack developer (.NET, React, Docker) · self-hosting enthusiast
  • NO: Systemutvikler · .NET, fullstack og infrastruktur · Tønsberg

3. Professional summary (three lengths)

One line:

Systems developer with eight years' experience building, shipping and running production software.

Short (23 sentences):

Systems developer with eight years' experience delivering internal software for UK local government. Backend-leaning full-stack across C#, .NET, Python, JavaScript/TypeScript and SQL, with hands-on DevOps in Docker, Linux and CI/CD. Now building and self-hosting full-stack products in Norway.

Paragraph:

Systems developer with eight years' experience building and maintaining production software for UK local government. A backend-leaning full-stack developer across C#, .NET, Python, JavaScript/TypeScript and SQL, with hands-on DevOps in Docker, Linux, CI/CD, Azure DevOps and GitHub. I turn stakeholder requirements into reliable, well-tested systems and support them in production — and I care about the parts users never see: tests, deployments and keeping things running. Alongside professional work I design, build and self-host my own products and a ~30-service home infrastructure lab, which keeps my skills current and hands-on. Based in Tønsberg with a valid residence permit; native English speaker with Norwegian at B1 and actively developing.

Norwegian (paragraph):

Systemutvikler med åtte års erfaring med å bygge og vedlikeholde produksjonssystemer i britisk offentlig sektor. Fullstack-utvikler med tyngde på backend i C#, .NET, Python, JavaScript/TypeScript og SQL, med praktisk DevOps i Docker, Linux, CI/CD, Azure DevOps og GitHub. Jeg omsetter behov fra brukere og interessenter til pålitelige, godt testede systemer og drifter dem i produksjon. Ved siden av jobb bygger og drifter jeg egne produkter og en hjemmelab med rundt tretti tjenester. Bosatt i Tønsberg med gyldig oppholdstillatelse; engelsk morsmål, norsk på B1-nivå og i aktiv utvikling.

4. Skills taxonomy

Grouped for CV/LinkedIn. Every item is defensible in an interview — don't pad.

Languages: C#, Python, JavaScript, TypeScript, SQL, Ruby (Ruby on Rails, from the council role). (HTML/CSS assumed.)

Frameworks & platforms: .NET / ASP.NET Core, React, FastAPI, Ruby on Rails, Astro, Entity Framework Core, Node.js.

Data: SQL databases, PostgreSQL, SQLite, MariaDB, Redis, EF Core.

DevOps & infrastructure: Docker & Docker Compose, Linux (Ubuntu), CI/CD, Azure DevOps, GitHub, Gitea + Actions runners, Traefik, nginx, reverse proxies, Cloudflare, self-hosting, container orchestration.

Security & identity: OAuth2 integrations, encrypted secrets at rest (Data Protection API), Authentik (SSO / forward-auth), CrowdSec (intrusion prevention), Pi-hole (DNS), security hardening, preview-then-confirm destructive operations.

AI / integrations: local LLMs via Ollama, AI-assisted summarisation, Gmail API (OAuth2).

Architecture & practices: Clean Architecture, full-stack design, REST APIs, background workers, testing (unit + integration), production support & troubleshooting, stakeholder communication, cross-functional collaboration, WCAG accessibility, SEO.

Tools: Git, Portainer, Serilog, Polly, QuestPDF, Chart.js, Playwright, Vitest.

5. Experience

System Developer — Warwickshire County Council, UK · 20152023

(First two years completed as an apprenticeship; progressed to full developer.)

  • Worked on the county-wide highways and streetlight fault-reporting system used across Warwickshire.
  • Designed, built and maintained full-stack applications in C#, Python, Ruby on Rails, SQL and JavaScript across several projects.
  • Delivered reliable, well-tested software; resolved stability and performance issues on live systems.
  • Owned deployments and production troubleshooting; strengthened permissions and reliability.
  • Produced clean, maintainable, documented code; guided colleagues on best practices for code and process.
  • Context for framing: UK local government / public sector — maps directly to Norwegian kommune/fylkeskommune systems work.

Independent Development & Norwegian Study — Tønsberg, Norway · 2023Present

  • Building and self-hosting full-stack products (JobTrack, InboxIntel) and operating a ~30-service home infrastructure lab.
  • Developing Norwegian language skills (norskkurs) toward professional fluency.

Earlier roles (part-time, alongside the above; customer-facing)

  • Sales Representative — Royal Vapes, UK · 20172021
  • Bartender — The Hodcarrier, UK · 20162018
  • Receptionist — Nuffield Health, UK · 20142015

Framing: held alongside the council role; evidence of communication skills and work ethic. De-emphasise on technical CVs; a single line usually suffices.

6. Projects (portfolio)

JobTrack — full-stack job-application tracker · Active

  • What: a workspace for the whole job-application journey — pipeline, correspondence, attachments, AI summaries, reminders and analytics.
  • Stack: React + TypeScript SPA · ASP.NET Core (.NET 9) API · SQLite (EF Core) · FastAPI + Ollama local AI service · Docker Compose · installable PWA with a mobile share-target.
  • Key decisions: local AI (Ollama) over a cloud API for privacy and zero per-call cost; no offline PWA cache by design (frequent deploys → stale builds are worse than offline gaps); SQLite over Postgres for a single-user app.
  • Security/production: optional Google sign-in (ID tokens), per-owner record scoping, validated file uploads with ownership checks, advisory-only AI, scheduled JSON/CSV exports.
  • Talking points: product thinking end-to-end; a deliberate anti-feature with reasoning; integration depth (Gmail OAuth2).

InboxIntel — Gmail analytics & safe bulk cleanup · In development

  • What: Gmail analytics, cleanup and unsubscribe management with a draggable dashboard.
  • Stack: .NET 8 · Clean Architecture (Domain → Application → Infrastructure → Api) · PostgreSQL (EF Core + Npgsql) · React 18 + Vite + Chart.js · hosted background sync worker · Serilog · FluentValidation · Polly · Gmail API.
  • Key decisions: four-project Clean Architecture with an enforced dependency rule; OAuth refresh tokens encrypted at rest (ASP.NET Data Protection API / AES, never logged); every destructive action is preview-then-confirm; advisory-only AI.
  • Security/production: Gmail read/modify scopes only (no send); Polly retry/backoff; unit tests (query parser, unsubscribe extraction) + integration tests asserting authz.
  • Talking points: architecture discipline; safe-by-design destructive operations.

Self-hosted infrastructure lab · Active

  • What: an Ubuntu 24.04 server running ~30 Docker services behind a single reverse proxy — the deploy target for the portfolio site itself.
  • Platform: Traefik (TLS, HTTP/3, Cloudflare-fronted, separate internal/external entrypoints) · Authentik SSO as forward-auth in front of internal tools · CrowdSec intrusion prevention · Pi-hole DNS filtering.
  • CI/CD & data: self-hosted Gitea + Actions runner (git.cesnimda.uk) building and deploying this site; PostgreSQL, MariaDB, Redis; Portainer + Dozzle for management/logs.
  • Security posture: Docker socket exposed only via a hardened socket-proxy; each app on its own isolated Docker network.
  • Also runs: application containers (JobTrack) and a media stack (Jellyfin + *arr).
  • Talking points: real operations and security experience, not just deployment; network segmentation; SSO/IPS/DNS in a home setting; runs its own CI/CD.

The portfolio site itself (cesnimda.co.uk)

  • Astro 5 static, bilingual (EN/NO), Tailwind 4 over design tokens, CSS-first motion, a slug-map i18n contract, a small .NET 9 contact relay, WCAG AA accessibility, Lighthouse budgets, and full CI — self-hosted in Docker behind Traefik. A work sample in its own right.

7. Education

  • Extended Diploma — NVQ Level 3 in ICT, Warwickshire College, UK · 20122015. Professional education in IT: programming, systems administration and IT support.

8. Achievement / evidence library (bullet bank)

Reusable, outcome-oriented bullets for CVs and cover letters:

  • Delivered and maintained internal software used across a UK county council for eight years.
  • Contributed to a county-wide highways/streetlight fault-reporting system.
  • Replaced spreadsheet-heavy and manual workflows with reliable internal systems.
  • Built full-stack applications in five languages (C#, Python, Ruby on Rails, SQL, JS), adapting across frameworks as projects changed.
  • Owned deployments and production troubleshooting on live systems.
  • Designed and shipped two full-stack products end-to-end (product, backend, frontend, ops, security).
  • Made and documented real engineering trade-offs (local vs cloud AI; deliberate anti-feature; Clean Architecture; encrypted secrets at rest).
  • Operate a ~30-service self-hosted infrastructure with SSO, intrusion prevention and CI/CD.
  • Built an accessible (WCAG AA), performant, bilingual site with automated testing and CI.

9. Working style & soft skills

Problem solving · troubleshooting · system improvement · stakeholder communication · production support · cross-functional collaboration · mentoring/guiding colleagues · comfortable with both structured and open-ended tasks · effective independently and in a team · takes initiative · dependable and detail-oriented.

10. Interests

PC and board games (strategic thinking, problem solving), cooking, and continually learning new skills. Keep to one line on formal documents.

11. Ready-made assets

Elevator pitch (spoken, ~20s):

I'm a systems developer with eight years building and running production software for UK local government — backend-leaning full-stack in .NET, plus real DevOps. I moved to Norway and I've been shipping my own full-stack products and running a fairly serious home infrastructure lab. I'm looking for a developer role where I can build things and help keep them running.

LinkedIn headline:

Systems Developer · .NET, full-stack & infrastructure · 8 years · Tønsberg, Norway

LinkedIn "About":

Systems developer with eight years' experience building and maintaining production software for UK local government. Backend-leaning full-stack across C#, .NET, Python, JavaScript/ TypeScript and SQL, with hands-on DevOps in Docker, Linux and CI/CD. I like turning real requirements into reliable, well-tested systems — and I care about the parts users never see: tests, deployments and keeping things running.

Outside work I design, build and self-host my own products (a full-stack job-application tracker and a Gmail analytics tool) and run a ~30-service home infrastructure lab with Traefik, single sign-on, intrusion prevention and self-hosted CI/CD. Based in Tønsberg with a valid residence permit; native English, Norwegian at B1 and improving. Open to remote, hybrid or on-site developer roles.

Short bio (third person, ~40 words):

Connor Babbington is a systems developer with eight years' experience building production software for UK local government. Backend-leaning full-stack in .NET with real DevOps depth, he now builds and self-hosts his own products from Tønsberg, Norway.

Cover-letter opener (template):

I'm a systems developer with eight years' experience delivering and running production software, and I'm writing about the [ROLE] position at [COMPANY]. [ONE SENTENCE connecting a specific project/skill to their need.] I turn requirements into reliable, well-tested systems and I'm comfortable owning them in production.

12. Voice & usage guide

Tone: plain-spoken, evidence-led, understated. Calibrated for the Norwegian market — avoid grandiosity (no "rockstar/ninja/guru", no "senior" unless a specific role warrants it). Let concrete facts carry weight.

When generating an artifact:

  • CV: use §3 short summary + §4 skills + §5 experience + §6 projects (2 lines each) + §7 education. Keep to one page; ATS-safe single column; the generator in tools/cv/ already encodes this. Positioning = "eight years", never "mid-level".
  • Cover letter: open with §11 template; pick 23 bullets from §8 that match the job; close on availability + permit + location fit.
  • LinkedIn: headline + About from §11; Experience from §5; Skills from §4.
  • Bio: pick the length from §11 (or §3).
  • Norwegian materials: use the native NO summary in §3; have a fluent speaker review before sending (the NO here is solid but not yet native-reviewed).

Facts to never overstate: don't claim "senior"; don't invent user numbers (say "county-wide"); InboxIntel is "in development"; project repos are private (describe, don't link); Norwegian is B1.

Maintenance: update this document when facts change (new role, project, certification, language level), then regenerate downstream materials from it. Keep it the single source of truth — edit here first, propagate outward.