239d3dec0e
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>
278 lines
15 KiB
Markdown
278 lines
15 KiB
Markdown
# 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.
|