Resume example (text format)

Python Developer Valentina Restrepo

Python Developer

[email protected] | (919) 555-1846 | Raleigh, United States

Profile

Python developer with eighteen months building internal tools for a clinical data services company, working in a Django codebase on CPython 3.11 behind an ingest queue that moves about 40,000 lab result records a day. Rewrote a nightly reconciliation job from a 900-line script into a tested module at 84 percent line coverage, cutting its runtime from 51 minutes to 9 and ending the weekly manual rerun. Work in pytest, type hints checked with mypy, and Git-based review.

Work Experience

08/2017 - Present, Python Developer, Longleaf Data Services, Durham, United States

  • Work in a Django codebase on CPython 3.11 behind an ingest queue that moves about 40,000 laboratory result records a day for 6 client laboratories.
  • Rewrote a nightly reconciliation job from a 900-line script into a tested module at 84 percent line coverage; runtime fell from 51 minutes to 9 and the weekly manual rerun stopped.
  • Added 96 pytest cases and type hints checked with mypy to the manifest parser, which had no tests when I inherited it.
  • Built a Celery task that retries failed vendor uploads with backoff, replacing a support ticket that was raised about 12 times a month.

06/2016 - 08/2016, Software Engineering Intern, Longleaf Data Services, Durham, United States

  • Wrote a Python command line tool that validated incoming laboratory manifests against a published schema, later folded into the ingest service.

Education

08/2013 - 05/2017, Bachelor of Science, Computer Science, North Carolina State University, Raleigh, United States

Coursework in algorithms, operating systems, databases and statistics. Senior project was a Python pipeline that reconciled two laboratory record systems.

Skills

Python and CPython 3.11, 70

Django, 65

pytest and test fixtures, 70

Type hints and mypy, 60

Celery and Redis, 55

PostgreSQL and SQL, 65

Git and pull request review, 75

Docker basics, 55

Languages

English, native

Spanish, native

Portuguese, intermediate

Certificates

05/2018, AWS Certified Cloud Practitioner, Amazon Web Services, AWS-CCP-8814072

Foundational certification in AWS services, billing and shared responsibility.

Summary

A Python developer resume is a one to two page document naming the interpreter versions you shipped on, how your code reached production, and what you did about the service stuck on a runtime that had stopped receiving fixes. This guide gives you three adaptable versions, the runtime block almost no applicant writes, and current Bureau of Labor Statistics pay for the published occupation this work sits inside.

Python Developer resume examples by experience level

In short, a Python developer resume is a one to two page document naming the interpreter versions you shipped on, how your code reached production, and what you did about the one service that was stuck on a runtime nobody was patching any more.

However, almost every resume for this job says "Python 3" and stops there. That is not a version. It covers seven separately maintained minor releases, and the distance between a team on the current release and a team still on an interpreter that went out of support last year is most of what the job is actually like.

Resume guide for a Python developer resume

Specifically, this guide and the corresponding Python developer resume example will cover:

  • First, how to write a Python developer resume, section by section
  • Then why the interpreter version belongs on the page and "Python 3" does not
  • Also, three adaptable summaries: first Python role, working developer and staff level
  • Finally, what the release and support rules at python.org mean for how you date a line
  • What the market looks like when the Handbook publishes no profile under your title

How to write a Python developer resume

To start, plan six sections: contact header with a title line, summary, a runtime and stack block, experience, skills, and education with certifications. Keep one page for your first four years, then two once you own services other teams call.

SectionWhat it is answeringWhere it goes
Title lineScripts, services, or the platform underneath them?Directly under your name
SummaryWhat did you build, on what interpreter, at what volume?Three or four lines
Runtime and stack blockDo you know what your code actually runs on?Its own block, above or beside skills
ExperienceWhat did each service replace, and what changed?Reverse chronological, with numbers
SkillsWhich libraries did you operate, not just import?Grouped, kept short
EducationDoes the file clear a degree filter?Last, with certifications
Expert Tip

Write down four numbers before you write a line of the resume

Open the repository you know best and find four things: the exact interpreter version in its Dockerfile or pyproject file, the records the service handles in a day, how long its test suite takes, and the oldest direct dependency pin and the reason for it.

Nobody produces those from memory, which is why they work. One applicant writes "developed Python applications". Another writes "a FastAPI service on CPython 3.12 handling 2.4 million records a night, 6 minute test suite, pinned to an older NumPy until the sequencing vendor shipped wheels", which nobody can say without having done the job.

Run the finished file through the ATS resume checker before you submit. Python postings draw very high application volume, and software parses them into a structured record before a person opens them.

Choosing the best resume format for a Python developer resume

Reverse chronological. In other words, one page for your first four years, two once you have owned a service through a runtime migration, led a team, or maintained a package other teams depend on.

By contrast, functional and skills-based formats fail badly here. A Python resume that leads with a keyword list and hides the timeline reads as someone who has used a language rather than shipped with it, and the interview will be built entirely on what you shipped and when.

Include your contact information

✅ Right❌ Wrong
Valentina RestrepoValentina Restrepo
Python Developer, backend services and data pipelinesPassionate Pythonista and code enthusiast
Ships on CPython 3.12 and 3.13, packaging with uv and DockerPython 3, expert level
(919) 555-1846, [email protected], Raleigh, NC(919) 555-1846, [email protected]

Put a code link on the page if you have one worth reading, and say in one line which repositories are yours and what they do. Similarly, a bare profile link is worth very little.

Make use of a summary

Next, write four lines: what you build, the interpreter and deployment shape, the volume, and one outcome with a number attached.

First Python role adaptable resume summary example

Python developer with eighteen months building internal tools for a clinical data services company, working in a Django codebase on CPython 3.11 behind an ingest queue that moves about 40,000 lab result records a day. Rewrote a nightly reconciliation job from a 900-line script into a tested module at 84 percent line coverage, cutting its runtime from 51 minutes to 9 and ending the weekly manual rerun. Work in pytest, type hints checked with mypy, and Git-based review.

Working Python developer adaptable resume summary example

Backend Python developer with seven years on clinical and genomic data pipelines, currently on FastAPI and Celery services running on CPython 3.12 that process about 2.4 million sequencing records a night. Led the move of six services from 3.9 to 3.12 over eleven weeks, including the vendored driver that had pinned the oldest of them for two years. Write typed code checked in continuous integration and own the on-call rotation for the services I build.

Staff Python developer adaptable resume summary example

Staff Python developer with nine years building and operating data services, responsible for the interpreter and dependency policy across 31 repositories at a genomics laboratory. Standardized the fleet on CPython 3.12 and then 3.13, retiring three unsupported runtimes, and replaced hand-maintained requirements files with locked builds that made a clean rebuild reproducible for the first time. Maintain two internal packages other teams import and mentor four developers.

Right vs wrong: the same Python developer summary, twice

✅ Right❌ Wrong
Backend Python developer with seven years on clinical and genomic data pipelines.Passionate Python developer with a love of clean, elegant code.
FastAPI and Celery services on CPython 3.12 processing about 2.4 million records a night.Experienced with a wide range of Python frameworks and libraries.
Led the move of six services from 3.9 to 3.12 over eleven weeks, including a vendored driver pinned for two years.Strong problem-solving skills and a commitment to best practices.

Outline your Python development experience

Employer, sector, dates, then one line describing the system before any bullet: what it does, what it runs on, how much it moves. Additionally, in experience, write three to five bullets each, every one naming a service, a library or a source system and carrying a number.

Instead ofUse
Developed Python applications for the businessOwn 4 FastAPI services on CPython 3.12 that ingest 2.4 million sequencing records a night for 14 laboratory sites
Improved application performanceReplaced a row-by-row pandas loop with a chunked vectorized pass; the nightly variant annotation job fell from 4 hours 10 minutes to 38 minutes
Wrote unit testsTook the ingest package from 31 percent to 88 percent line coverage across 214 pytest cases
Upgraded PythonMoved 6 services from 3.9 to 3.12 in eleven weeks, unpinning 23 dependencies and replacing 2 abandoned ones
Adaptable resume employment history example

Staff Python Developer, Carolina Sequence Labs, Raleigh, NC, August 2024 to Present

Own the Python platform for a clinical genomics laboratory: 31 repositories, 12 deployed services, a nightly pipeline annotating about 2.4 million sequencing records for 14 sites.

Standardized the fleet on CPython 3.12 and then 3.13, retiring three runtimes that had stopped receiving fixes. The longest holdout was a variant caller pinned to an old scientific stack; I isolated it behind a documented interface and ran it in its own container rather than blocking the other 30 repositories on it.

Replaced hand-edited requirements files with locked, hash-verified builds across all 31 repositories. A clean rebuild from an empty cache dropped from about 11 minutes to 3 and became reproducible.

Maintain two internal packages, a typed laboratory information system client and a manifest validator, imported by 19 of the 31 repositories. Mentor four developers and run the Python review rotation.

Which Python you shipped on, and what you did about the one you were stuck on

In practice, this is the section almost nobody writes, and it is the fastest way to separate a Python developer from someone who has finished a Python course.

Start with the rule that governs the whole language, because most applicants have never read it. For example, PEP 602, "Annual Release Cycle for Python", is an active process document and it says feature versions are released every twelve months, in October every year. Each release then gets twenty four months of bugfix updates followed by thirty six months of security-only updates, five years in total, a schedule that applies from Python 3.13 onward; Python 3.9 through 3.12 ran on the older calendar of eighteen months of full support followed by forty two months of security fixes (PEP 602, python.org).

Then the Python Developer's Guide at python.org publishes the result as a live table. As of 17 September 2026 it shows Python 3.14 and 3.13 in the bugfix phase, Python 3.12, 3.11 and 3.10 receiving security fixes only, Python 3.10 reaching end of life in October 2026, Python 3.9 already ended on 31 October 2025, and Python 3.15 scheduled for 1 October 2026 (Python Developer's Guide, python.org, retrieved 17 September 2026).

What the Python support calendar means for hiring

Read that as a hiring fact. Every year one interpreter version stops receiving fixes while a large number of production services are still on it, and somebody has to move them. As a result, the resume line that gets read twice is not "Python 3". Instead, it is the version you shipped on, and the story of the one you were stuck on.

Seven facts describe the runtime you actually worked in, and a reader can test every one of them.

The factWhy the reader wants itExample
Interpreter and minor versionSeparates a live codebase from a course project, and dates your experience honestlyCPython 3.12 in production, 3.13 in the newest two services
How dependencies are resolved and lockedWhether a clean rebuild is reproducibleuv with a committed lock file and hashes, previously pip-tools
The oldest pin and why it existsYou can read a constraint rather than complain about oneAn old NumPy held by a sequencing vendor's compiled wheels
Packaging and deployment shapeA wheel, a container and a serverless runtime are different problemsMulti-stage Docker build on a slim base, 340 MB image
Typing and its enforcement"Type hints" and "mypy failing the build" are not the same claimFully annotated, mypy strict on the ingest package
Concurrency model, where it mattersWhere Python's real constraints liveAsync I/O in FastAPI, Celery for the batch fan-out

Writing up a Python runtime migration

Then write the migration in five sentences: what you moved from and to, how many services, how long it took, the dependency that was hardest and what you did about it, and what the move bought you. Both endings are usable. Getting off an unsupported runtime is a good story, and so is deciding you could not, isolating the service that was stuck and unblocking everything else.

Adaptable resume runtime and stack block example

Runtime: CPython 3.12 across 12 deployed services, 3.13 in the two newest. Retired 3.9 and 3.10 in 2025.

Migration: moved 6 services from CPython 3.9 to 3.12 over eleven weeks. Unpinned 23 dependencies, replaced 2 no longer maintained, and rewrote 41 test cases that relied on dictionary ordering rather than asserting it. The blocker was a vendor sequencing driver with compiled wheels built only for the older runtime; I isolated it behind a documented interface and ran it in its own container until the vendor shipped new wheels eight months later.

Packaging: uv with committed, hash-verified lock files across 31 repositories, migrated from hand-edited requirements files. Multi-stage Docker builds on a slim base, 340 MB images, down from 1.9 GB.

Typing and tests: fully annotated, mypy in strict mode failing the build on the ingest and manifest packages, 214 pytest cases at 88 percent line coverage, 6 minute suite. Concurrency: async I/O in FastAPI, Celery with Redis for the nightly fan-out across 14 laboratory sites.

If you inherited the stack, say inherited. Also, if the platform team ran the container build, write "published to" rather than "built". Everything in this block is checkable in ten minutes of a screen share, and that is why it carries weight.

Build a snapshot of your key Python developer skills

Later, in skills, list twelve to eighteen entries in four groups, the standard library and language group first. Then name libraries you have debugged in production, not ones whose documentation you have read.

Adaptable resume skills example

Language and runtime: CPython 3.11 to 3.14, type hints and mypy, dataclasses, context managers, asyncio, generators and iterators, the profiling and tracing tools in the standard library

Frameworks and services: FastAPI, Django, Flask, Celery, SQLAlchemy, Pydantic, REST and OpenAPI contract design

Data and scientific stack: pandas, Polars, NumPy, PyArrow and Parquet, Great Expectations style validation, chunked processing of files too large for memory

Build, test and operations: pytest and fixtures, coverage measurement, uv and pip-tools, Docker multi-stage builds, GitHub Actions, structured logging and OpenTelemetry tracing, PostgreSQL and Redis

List your education and certifications

Degree first if you have one, then certifications with the issuing body and the date, then the code or packages anyone can read.

Meanwhile, a bachelor's degree is the typical entry-level education for software developers, quality assurance analysts and testers, and the Handbook lists no related work experience and no on-the-job training as typical for entry (BLS Occupational Outlook Handbook, retrieved 17 September 2026). Python itself has no license and the Python Software Foundation does not certify developers, so evidence fills that space: repositories, packages, contributions and the runtime block above.

Adaptable resume education and certifications example

Bachelor of Science, Computer Science, North Carolina State University, Raleigh, NC, 2019

Certifications: AWS Certified Developer Associate, Amazon Web Services, earned March 2023, renewed February 2026. Certified Kubernetes Application Developer, Cloud Native Computing Foundation, earned 2024.

Code: maintainer of two internal packages imported by 19 repositories. Contributor to an open source manifest validation library, 14 merged pull requests since 2023, including the fix for the timezone-naive parsing defect in release 2.4.

Choose the right layout and design

Finally, keep the format plain: single column, 11 point body type, plain headings, no photograph, no skill rating bars, no logo strip of technologies. Applicant systems parse the file into a structured record before a person opens it, and two columns and text boxes are where that breaks.

Do

Name the interpreter and minor version you shipped on. Give the migration as a before, an after and a duration. Say which dependency pinned you and what you did about it. Name libraries rather than categories. Give one number per experience bullet. Say what each system replaced.

Iconly/Bold/Close Square Don’t

Do not write "Python 3" and expect it to mean something. Do not list every library you have imported once. Do not claim you built the deployment pipeline the platform team runs. Do not use skill percentage bars. Do not put a code block on the page. Do not describe an inherited codebase as one you designed.

Python developer job market and outlook

The Bureau of Labor Statistics publishes no Occupational Outlook Handbook profile under the title Python developer, and none under any programming language, so there is no employment count or ten-year projection carrying that name.

The Handbook classifies by the work rather than the tool, so this job sits inside one large published occupation: software developers, counted with quality assurance analysts and testers.

MeasureValue
Software developers, QA analysts and testers, jobs 20251,905,400
Projected change, 2025-3510 percent, much faster than average, +185,400
Projected annual openingsAbout 106,100
Typical entry-level educationBachelor's degree
Related work experience requiredNone
Median annual wage, software developers, May 2025$135,980

Source: U.S. Bureau of Labor Statistics, Occupational Outlook Handbook, May 2025 wage data and 2025 to 2035 projections, published 27 August 2026.

Statistical insight

The occupation is growing, and the interpreter still turns over every October

Employment of software developers, quality assurance analysts and testers is projected to grow 10 percent between 2025 and 2035, much faster than average, adding 185,400 jobs and producing about 106,100 openings a year (BLS Occupational Outlook Handbook, 2025 to 2035 projections, published 27 August 2026). The wider computer and information technology group carried a median annual wage of $109,470 in May 2025.

Set that against the language's own schedule. PEP 602 puts a new Python feature release in October every year, each supported for five years in total (PEP 602, python.org), so one interpreter version leaves support every year on a published date, whether or not the services running on it have moved.

Those two facts together are the argument for the runtime block: in a growing occupation with high application volume, the migration paragraph is the part most applicants cannot write.

Where the jobs sit, for software developers:

IndustryShare of employmentMedian annual wage (May 2025)
Computer systems design and related services29%$132,050
Finance and insurance11%$135,460
Software publishers10%$164,550
Manufacturing8%$136,330
Management of companies and enterprises6%$135,680

Source: U.S. Bureau of Labor Statistics, Occupational Outlook Handbook, May 2025.

What salary you can expect as a Python developer

No published median wage attaches to the title Python developer, because the Handbook has never defined an occupation by the language its holders write in, and a figure invented for a title BLS does not recognize is not one to take into a negotiation.

Negotiate against the published occupation instead. For reference, software developers earned a median of $135,980 in May 2025, with the lowest 10 percent under $82,460 and the highest 10 percent over $214,670. By comparison, software quality assurance analysts and testers, counted in the same Handbook profile, earned a median of $104,300 (BLS, May 2025).

However, the industry table above holds the largest single move. For instance, software publishers employed 10 percent of software developers at a median of $164,550, against $132,050 in computer systems design and related services, which employed 29 percent. That is a $32,500 difference at the median between the sector most developers work in and the one that pays most, decided by which job you apply for rather than by any negotiation.

Inside a band, three things move an offer: whether you operate what you build, whether you own an interpreter and dependency policy or follow one, and whether you have taken a service through a runtime migration end to end. Finally, the third is rarest, and it is what the block above exists to prove.

Key takeaways for a Python developer resume

  1. Above all, name the interpreter and minor version you shipped on; "Python 3" says nothing.
  2. Give the migration as a before, an after, a duration and the dependency that fought you.
  3. Say how you lock dependencies, because it tells a reader whether your builds are reproducible.
  4. Put a number in every experience bullet, tied to a service or a source system.
  5. Name libraries rather than categories, and only ones you would defend for ten minutes.
  6. Say what each system replaced, not only what you built.
  7. Keep it single column and parseable; software reads the file before a person sees it.

Build your Python developer resume in 15 minutes with our AI resume builder.

Related information technology resume examples

Pair it with a matching Python developer cover letter.

Python developer resume questions, answered

How long should a Python developer resume be?

One page for your first four years. Two once you have owned services through a runtime migration, maintained a package other teams import, or led a team. Never three, and never a page of listed technologies.

Do I need to say which Python version I use?

Yes, and it is one of the highest-value lines on the page. Several minor versions are separately maintained at any time, each on a published five-year support schedule set by PEP 602 at python.org, so the version you shipped on tells a reader how recent your production experience is.

What if my team is stuck on an old Python version?

Write it, with the reason and what you did about it. A service pinned by a vendor's compiled wheels and isolated behind an interface so the rest of the estate could move is a stronger story than a fleet that happened to be new when you arrived. What reads badly is not naming the version at all.

Do I need a certification to get a Python developer job?

No. There is no license and no credential from the Python Software Foundation for developers, and the Handbook lists no related work experience and no on-the-job training as typical for entry into the occupation (BLS Occupational Outlook Handbook, retrieved 17 September 2026). Cloud and container certifications are worth listing with their dates; they are not what gets you hired.

How do I show Python experience without a professional job yet?

Pick one project and describe it the way this guide describes a service: what it does, what it runs on, how much data it handles, how it is tested, and what it replaced. One project at that depth outperforms six listed by name. A merged open source pull request with a number attached is checkable in seconds.