Tech check / README.md

5 October, version 2 — Python Backend Engineer, regulated healthcare

Updated 5 min read index source
On this page6
  1. How this ad differs from version
  2. The ad, decoded
  3. Your evidence, and the honest gaps
  4. The files
  5. Refresh plan
  6. The three things that decide it

5 October, version 2 — Python Backend Engineer, regulated healthcare

Prep for the second tech check. The ad sets a 3+ year bar and is precise about engineering practice — type hints, async patterns, project layout, API evolution, contract tests, Git workflow — with a long preferred list that reads like a healthcare or medical-device company. The raw ad is in description.txt, which stays local.

It builds on version 1. The same resume went to both interviewers, so the self-intro changes only in emphasis, and every answer that applies unchanged is linked from version 1 rather than copied.

How this ad differs from version 1

Version 1 Version 2
Bar 5+ years, senior 3+ years
What it scores architecture, scale, production ownership, mentoring engineering practice — typing, async, layout, API evolution, contract tests, Git
Domain healthcare, stated implied by the preferred list — HIPAA, medical-device software, FHIR
Breadth implied named — Kafka, RabbitMQ, SQS, Pub/Sub, Kubernetes, Terraform, Pulumi, OpenTelemetry, Datadog

You are over the bar, so the risk is not depth; it is sounding generic on the practice questions this ad names precisely. “How do you use type hints?” wants mypy in CI and a Protocol, not “for readability”.

The ad, decoded

Ad line What they will actually probe Weight
modern type hints Protocol vs ABC, generics, TypedDict vs Pydantic, mypy strict in CI 🔴
async patterns TaskGroup vs gather, bounded concurrency, timeouts, cancellation, blocking the loop 🔴
idiomatic project layout pyproject.toml, src layout, uv and a lockfile, Ruff, where tests live 🔴
FastAPI, Django or Flask in production why one over the others; FastAPI DI and testing 🔴
designing and evolving REST APIs, OpenAPI additive change, deprecation, versioning, pagination, error format, a spec diff in CI 🔴
PostgreSQL or MySQL, migrations, tuning EXPLAIN, indexes, zero-downtime migrations, Postgres vs MySQL 🔴
pytest: unit, integration, contract consumer-driven contracts vs schema checks, testcontainers, fixtures 🔴
Git, code review, trunk-based short-lived branches, feature flags, branch protection, merge strategies 🔴
regulated environments HIPAA and GDPR, ISO 27001 and SOC 2 evidence, medical-device software 🟡
Kafka, RabbitMQ, SQS, Pub/Sub queue vs log, ordering, at-least-once, idempotent consumers, the outbox 🟡
Docker and Kubernetes a good Python image, probes, requests and limits, graceful shutdown 🟡
OpenTelemetry, Datadog, Grafana, Sentry instrumenting a service, correlation, sampling, cardinality 🟡
AI-assisted development how you use it, where you don’t, how you review it — and no PHI in prompts 🟡
high throughput, low latency measure first, the usual suspects, p99, load tests 🟡
deploying to a cloud through CI/CD pipeline stages, deploy strategies, migrations in the deploy order 🟡
Terraform, Pulumi, CloudFormation state, plan in CI, drift; Pulumi in a sentence 🟢
healthcare background, FHIR, HL7 PHI handling; FHIR R4 basics, honestly framed 🟢

Your evidence, and the honest gaps

The same two projects as version 1, read for this ad’s lines:

Ad line Automation Platform (Jan–Sep 2026) Invest Planning Platform (Sep 2025 – Jan 2026)
framework, Python services Flask; Python services on Lambda FastAPI services
REST APIs endpoints behind API Gateway REST APIs and microservices
SQL and migrations — (DynamoDB) PostgreSQL and SQLAlchemy models
pytest pytest TDD — unit and integration
CI/CD to a cloud GitHub Actions: SAM builds, images to ECR Bitbucket CI/CD, Docker
infrastructure as code AWS SAM — CloudFormation underneath —
event-driven Step Functions orchestration SQS, SNS, Celery and Redis
observability a real-time observability dashboard Sentry
regulated, data-sensitive Cognito SSO, Secrets Manager, cryptography regulated advice; audit and consent records

Not on the resume: contract tests, Kubernetes, Kafka and RabbitMQ, Terraform and Pulumi, OpenTelemetry and Datadog, FHIR. Each answer in Answers, version 2 — say these out loud bridges from the nearest thing you did. Say “not in production” plainly, then show you know the mechanism — that is the answer a 3+ ad expects for its preferred list.

The files

File What it is When
5 October, version 2 — Python Backend Engineer — prep map the checklist for this ad, linked to the notes, plus a walk-through to rehearse the days before
Answers, version 2 — say these out loud 16 new spoken answers, and links to the 19 that carry over from version 1 the day before, aloud
The call, version 2 — what changes the self-intro for this ad, the questions it adds, your questions the day before, aloud
Last hour, version 2 — read this, then stop one-liners and tables for this ad’s new ground the hour before

Refresh plan

If you already prepared version 1, this is the delta: the 16 new answers in Answers, version 2 — say these out loud, the self-intro in The call, version 2 — what changes, then Last hour, version 2 — read this, then stop.

A day or more. 5 October, version 2 — Python Backend Engineer — prep map, the 🔴 sections first, then 02 and 03 aloud with every [bracket] filled in.

One hour. Last hour, version 2 — read this, then stop, then the self-intro twice, aloud. Nothing new.

The three things that decide it

  1. Be precise about practice. Name the tool, the setting and the reason: strict mypy per package, squash merges, --force-with-lease, asyncio.timeout(). Precision is what this ad is testing.
  2. Bridge the gaps honestly. For anything on the preferred list you have not run in production, say so, explain the mechanism, and name the closest thing you did.
  3. Same discipline as version 1. 60 to 90 seconds, reasoned aloud, with a number in it where you have one.

Contents 4