From 239d3dec0eed2d68f4a9a08e66bcab7f911eb5f1 Mon Sep 17 00:00:00 2001 From: cesnimda Date: Sat, 4 Jul 2026 11:23:09 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20Master=20Career=20Profile=20=E2=80=94?= =?UTF-8?q?=20single=20source=20of=20truth=20for=20career=20materials?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/MASTER_CAREER_PROFILE.md | 277 ++++++++++++++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 docs/MASTER_CAREER_PROFILE.md diff --git a/docs/MASTER_CAREER_PROFILE.md b/docs/MASTER_CAREER_PROFILE.md new file mode 100644 index 0000000..49418a5 --- /dev/null +++ b/docs/MASTER_CAREER_PROFILE.md @@ -0,0 +1,277 @@ +# 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`](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 (2–3 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 · 2015–2023 +*(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 · 2023–Present +- 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 · 2017–2021 +- Bartender — The Hodcarrier, UK · 2016–2018 +- Receptionist — Nuffield Health, UK · 2014–2015 + +*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 · 2012–2015. + 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 2–3 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.