Python developer CVs fail in one of two ways: they list every Python framework the candidate has touched — Django, Flask, FastAPI, Celery, Scrapy — without showing what was built with any of them, or they describe a competent but entirely synchronous Python background on a job market that has moved to async. Both problems are fixable. The framework list without output is fixed by replacing it with bullets that name the stack, the project, and the scale. The synchronous Python problem is fixed by evidencing async proficiency: FastAPI rather than Flask, asyncio-based services, async SQLAlchemy 2.0, and uvicorn-served APIs — these are the signals that distinguish a Python developer ready for modern greenfield work from one who is well-suited to maintaining Django monoliths. Neither profile is bad; both need to be communicated accurately. This guide covers the Python version, framework, async depth, and deployment evidence that makes a Python developer CV competitive in 2026 — across backend API work, data engineering, and ML engineering roles.
What Python Developer Job Descriptions Require in 2026
Python developer JDs in 2026 cluster across three distinct specialisations with significantly different requirements:
Backend and API development: The most common Python role. Building REST APIs and microservices using FastAPI or Django. JDs for this track specify the Python version (3.11 or 3.12 for greenfield; older versions signal legacy work), the web framework (FastAPI for modern async APIs; Django with Django REST Framework for feature-rich applications), the ORM (SQLAlchemy 2.0 with async support, or Django ORM), the database (PostgreSQL is near-universal, Redis for caching and task queuing), pytest for testing, and Docker for containerisation. Senior JDs add Kubernetes, AWS (Lambda, ECS, EKS, RDS, S3), and Celery for background task processing.
Data engineering: Building ETL and ELT pipelines and data transformation workflows. Primary requirements: Apache Airflow for orchestration, dbt for transformation, pandas (2.0) or polars for data manipulation, SQL and a cloud data warehouse (BigQuery, Snowflake, Redshift, or PostgreSQL), and Pydantic for data validation and schema enforcement. Data engineering roles are Python-centric but also require strong SQL — the Python is the scaffolding; the SQL is the logic.
ML engineering and MLOps: Serving trained models as APIs and building training pipelines at scale. FastAPI is the standard for model serving (performance, async, Pydantic request validation, automatic OpenAPI docs); MLflow or Weights & Biases for experiment tracking; Ray or Kubernetes-based training infrastructure for scale. These roles overlap significantly with DevOps and infrastructure — a Python ML engineer who can build a FastAPI model-serving layer and containerise it for Kubernetes deployment is a different profile from a data scientist who knows Python.
Cross-role: Python 3.11 or 3.12, type annotations (mypy or Pyright), pytest, Git, Docker, and a CI/CD platform (GitHub Actions, GitLab CI, or CircleCI). Code quality tooling — ruff for linting and formatting (replaced flake8 + black + isort as a single Rust-backed tool), mypy for type checking — is increasingly mentioned in senior JDs.
Python developer salaries in 2026: £45K–£75K UK; £70K–£105K for senior backend and data engineering. US: $100K–$150K; $140K–$200K for senior ML engineers at product companies.
ATS Keywords for a Python Developer Resume
Python ATS filtering uses version numbers, framework names, and library names as primary signals. "Python experience" as a standalone claim is significantly weaker than "Python 3.12, FastAPI, SQLAlchemy 2.0, pytest."
Essential ATS terms for a Python developer resume:
- Title variants: Python Developer, Python Engineer, Senior Python Developer, Backend Python Developer, Python Software Engineer, Python Backend Engineer, FastAPI Developer, Django Developer
- Python versions: Python 3, Python 3.12, Python 3.11, Python 3.10 (avoid leading with unlabelled "Python" in 2026 — always include version)
- Web frameworks: FastAPI, Django, Flask, Django REST Framework, DRF, Starlette, Celery, Tornado, Sanic
- Async ecosystem: asyncio, async/await, ASGI, WSGI, uvicorn, Gunicorn, httpx, aiohttp, WebSocket
- Data layer: SQLAlchemy, SQLAlchemy 2.0, Alembic, Django ORM, Pydantic, Pydantic v2, Tortoise ORM, Redis, PostgreSQL, MySQL, MongoDB, Elasticsearch, DynamoDB
- Testing: pytest, pytest-asyncio, coverage.py, factory_boy, hypothesis, Faker, RestAssured, TDD, test-driven development, integration testing
- Type checking: mypy, Pyright, type hints, type annotations
- Data engineering: Apache Airflow, dbt, pandas, polars, NumPy, PySpark, Kafka, boto3
- ML/AI: scikit-learn, PyTorch, TensorFlow, MLflow, Weights & Biases, Ray, Hugging Face
- Cloud: AWS, Lambda, EC2, S3, RDS, ECS, EKS, GCP, Azure, Heroku, Railway, Fly.io
- DevOps: Docker, Kubernetes, GitHub Actions, GitLab CI, CI/CD, Poetry, pip, ruff, black, flake8, mypy
- Long-tail phrases: python developer resume, python developer cv, fastapi developer resume, django developer resume, senior python developer resume, python backend developer resume, how to write a python developer resume, python developer resume 2026
Placement: Python version (Python 3.12 or Python 3.11) in the headline — never just "Python." Framework names (FastAPI, Django) in the headline alongside the Python version — these are the ATS first-pass signals. Type hints or mypy in the Skills section if your code is typed — this is the professional quality signal that almost no candidate includes, making it a strong differentiator.
Python Developer CV Structure and Bullets That Show Production-Ready Code
Section order:
- Headline — "Python Developer | Python 3.12 · FastAPI · SQLAlchemy 2.0 · PostgreSQL · AWS · pytest"
- Skills — Python Version / Web Frameworks / Data Layer / Async Ecosystem / Testing / Cloud & DevOps
- Experience — 4–5 bullets per role; Python version, framework, system scale (RPM, records processed, latency), and measurable outcome per bullet
- Projects — for Python developers under 4 years' experience: GitHub profile with maintained repos, live deployment URL, README with architecture description; link in header
Two pages for 4+ years. GitHub profile URL in the header alongside your name — reviewed before every Python developer interview. Python is too easy to claim without evidence; the GitHub profile is the verification layer.
Three elements make a Python developer bullet convincing: the Python version and framework, the system built and its scale, and the measurable performance or production outcome. Three examples:
- Built a FastAPI 0.110 REST API for a B2C marketplace — Pydantic v2 request/response models, SQLAlchemy 2.0 async ORM with PostgreSQL and Alembic migrations, JWT authentication via python-jose, Redis caching for product listing queries; deployed to AWS EKS via Docker and GitHub Actions CI/CD; API processes 6,200 requests per minute at P99 latency of 28ms under k6 load testing
- Refactored a Django 3.2 monolith's data access layer to SQLAlchemy 2.0 async ORM — replaced 240 synchronous ORM queries with async-native equivalents, migrated the underlying database from SQLite to PostgreSQL with zero data loss using a custom dual-write migration script and 2-week parallel period; average API response time reduced from 340ms to 89ms at P50
- Built an Apache Airflow 2.8 ETL pipeline that extracts usage event data from 3 SaaS platforms via REST API, transforms with pandas 2.0, validates with Pydantic v2 schemas, and loads to a PostgreSQL data warehouse; pipeline processes 14 million events per day; hypothesis property-based tests for the transformation layer caught 3 data integrity edge cases that example-based pytest tests missed
Python developer interviews include a coding exercise (implement a data structure, write a function to solve a common algorithm), code review (here is a Python function — what's wrong?), system design (design a URL shortener or rate limiter), and framework knowledge (explain Django's middleware chain, or how FastAPI handles dependency injection). Your CV's deployment evidence, async proficiency, and testing approach determine whether the interview explores your system design thinking or your basic Python knowledge.
Three Python Developer CV Mistakes That Signal Amateur Python
Python listed without a version, or Python 2 mentioned. Python 2 reached end-of-life on 1 January 2020. Any CV that lists "Python 2" as a primary skill in 2026 is signalling six-year-old language knowledge with no currency since a major deprecation event. More commonly, candidates list "Python" with no version, which tells the recruiter nothing — Python 3.6 (which introduced f-strings), Python 3.10 (which introduced structural pattern matching), and Python 3.12 (which introduced major interpreter performance improvements and per-interpreter GIL) are meaningfully different versions. In 2026, name the version explicitly: "Python 3.12" or "Python 3.11" in your headline, and the version in the first bullet of every role. It signals both currency and precision.
Django or Flask only, with no async framework knowledge for API roles. Synchronous Python is not wrong — Django with its ORM, admin, and DRF is still the right tool for content-heavy, feature-rich applications. Flask is the right tool for simple microservices. But a significant and growing segment of Python API job listings in 2026 explicitly name FastAPI, particularly at product companies building new services, at ML-adjacent teams serving models via API, and at data engineering teams needing async-compatible HTTP services. If you have used FastAPI, name it. If you haven't, consider building a personal project with it before applying to roles that list it — a FastAPI endpoint with Pydantic v2 models, async SQLAlchemy, and a pytest test suite is 2–4 days of work and is the single most valuable Python project you can have on your CV in 2026.
No deployment, GitHub link, or production evidence. Python is ubiquitous enough that claiming it requires proof. "Developed Python web applications" says nothing about whether those applications ran in production, handled real users, or were deployed beyond a local machine. The minimum standard for a Python developer CV in 2026: a GitHub profile URL in the header, at least one repo showing a meaningful commit history and README, and either a live deployment URL or a production environment description ("deployed to AWS ECS, handling 800 daily active users"). A starred GitHub repo with external users is worth noting explicitly in the experience section. Python developers without public code or deployment evidence are significantly harder to evaluate and score lower in ATS screening than developers who have linked their work.
If you are applying to Python developer or backend engineer roles and want your CV rebuilt around the specific Python version, framework, and deployment requirements in a target job description, Resumegpt generates your Python developer CV from your work history in under 60 seconds — Python version evidenced, framework depth named, async proficiency signalled, ATS-optimised, and exported as a PDF ready to submit.