Six employer names in five years looks bad on paper. But if four of those names were assignments booked through the same staffing agency, the CV is describing one continuous employment relationship, not four resignations. That is the real problem with contract, temp and interim work: it is not the tenure, it is that most people put whoever's badge they wore into the Employer field, and the document ends up telling a story about instability that never happened.
This article is about employed contract work: agency payroll, fixed-term contracts, temp assignments, maternity cover, project backfill, interim management. Somebody else signed your payslip, and there is a genuine question about who to name. Freelancing and self-employment are a different structural case with a different answer, and we handle them in a separate article.
None of this involves hiding the contract nature of the work. Hiding fails twice: the reader spots it anyway, and then stops reading charitably. The point is accurate labelling, so their attention goes to what you did instead of to reconstructing your history.
Decide who the employer actually was
If you were on a staffing agency's payroll, the agency was your employer and the client was the site you worked at. If you signed a fixed-term contract directly with the company, that company was your employer and the contract was just the form of the relationship. Those two situations produce two different CV structures.
Structure A, the umbrella entry. The agency is the employer heading. Assignments sit nested beneath it, each with its own client name and date range. Use this when:
- The agency paid you and you had three or more assignments through them
- Individual assignments ran under roughly six months
- The client names are unknown brands or you are contractually restricted from naming them
- Your continuity story is the strongest asset you have
Structure B, client as its own heading. Each client gets a normal employer entry, with an agency credit in the title line. Use this when:
- An assignment ran twelve months or longer
- The client is a recognisable name that carries weight in your sector
- You only had one or two assignments and nesting would be overkill
- The assignments were in genuinely different fields and blending them under one agency heading would flatten the differences
Mixing is allowed. A twenty-month assignment at a household-name client can stand alone while three shorter assignments sit collapsed under the agency heading below it.
What an umbrella entry actually looks like
Hays Technology - Contract Data Engineer (agency payroll)
March 2022 - present, Manchester
Continuous engagement through Hays across four client assignments. Every contract completed to term, two extended by the client.
- Client: national retail bank (Jan 2024 - present, 14 months). Rebuilt the nightly customer-360 load, runtime from 6h10 to 48 minutes. Extended twice.
- Client: logistics operator, 400 staff (Mar 2023 - Dec 2023, 10 months). Migrated 70 SSIS packages to dbt and documented the lineage.
- Client: insurance broker (Aug 2022 - Feb 2023, 7 months). Built the reporting layer for a regulatory submission delivered on deadline.
The top line now reads as three continuous years with one employer. The stability question is answered before the reader reaches the assignment list, and that list then reads as range rather than churn.
The label, and exactly where it goes
Put the contract label in parentheses on the job title line, not in the bullets and not in a footnote at the bottom of the page.
- Data Analyst (fixed-term contract, 9 months)
- Interim Finance Manager (maternity cover, 11 months)
- Warehouse Team Lead (agency assignment via Adecco)
- Head of Operations (fixed-term, parental leave cover)
Placement matters because of reading order. The eye takes the title first and the date range second. If the reader reaches "Mar 2023 - Dec 2023" before the word "contract", they have already registered a short stay and formed a question. The label arriving first converts the same dates from evidence of instability into the expected shape of the arrangement.
Putting the duration inside the label is optional, but it earns its space when the assignment was long: "(Fixed-term contract, 18 months)" reads as a serious engagement rather than a stopgap.
Three four-month assignments at the same client
Do not list them as three employer entries. That is the most common way people manufacture a job-hopping impression out of a client relationship that kept renewing. Collapse them into one block with a total span and the roles nested:
Siemens Mobility (via Randstad) - 14 months across three assignments
Feb 2023 - Apr 2024
- Test Engineer (Feb - Jun 2023), Senior Test Engineer (Sep 2023 - Jan 2024), Test Lead (Feb - Apr 2024)
- Brought back for each new phase of the same signalling programme; scope and seniority increased each time
The return is the story. A client who books you, releases you at end of contract and then books you again has given you a reference in structural form. Say the word "returned" or "brought back" explicitly, because the reader will not infer it from dates.
Gaps of a few weeks between contracts
Month-level dates are the standard granularity on a CV and they absorb short gaps without distortion. A contract that ended 12 March and one that started 8 April sit inside "Mar 2024" and "Apr 2024". You are not hiding anything; you are using the resolution everyone else uses.
Do not stretch a date to close a gap. Rounding to the month is normal practice; writing a month you were not working is a claim a reference check can contradict.
For gaps longer than about two months, add one clause and move on: "three-month gap between contracts, spent on the certification listed below". One sentence for the whole CV. Repeating the explanation at every gap draws more attention than the gaps ever would.
Say why the contract ended, once
Contracts end because they are contracts. Say that plainly, one time, and stop.
The wording is short: "Contract ended as scheduled." Put it at the end of the first bullet of your most recent contract entry, or fold it into the summary line at the top. Do not repeat it under every role, because six identical disclaimers read as defensiveness.
Two things to avoid. Do not write "made redundant" about a contract that simply expired: that is a different event and it invites questions that do not apply. And do not write "left to seek a new challenge" about a fixed-term role, because the reader knows the term ended and the phrase reads as cover.
If a contract was extended, say so, and say how many times. "Extended twice" is the most persuasive stability evidence available to a contractor, because it is a hiring decision made by someone who had already worked with you.
What the applicant tracking system does with nesting
Most parsers look for a repeating pattern: a company-like string, a title-like string, a date range. Visual nesting is not part of that pattern. Indentation is layout, not data, and it is the first thing lost when your document is converted to text.
The practical consequence: a nested assignment line may be dropped, attached to the wrong parent, or survive with no date at all. So make every nested line self-sufficient. The client name and the date range go on the assignment line itself, never implied by position under a heading. If the hierarchy collapses, each line still says who and when, and the worst case is a flat list rather than a corrupted one.
Two further rules: never put employment history in a text box, a multi-column layout or a header area, and never let a symbol carry meaning on its own.
The safe fallback if you are unsure. Flatten it. One entry per assignment, each with the client as the heading, the agency credited in the title line, and the label in parentheses:
Logistics operator - Data Engineer (agency assignment via Hays, 10 months)
Mar 2023 - Dec 2023
Less elegant, more vertical space, but nothing can be lost in parsing because nothing depends on position. For applications going through a large corporate portal, the flat version is the better trade.
The summary line that ends the question
One sentence at the top of the CV, doing one job: making the stability question answered before it is asked.
- "Contract data engineer working through Hays since March 2022, four client assignments, every contract completed to term and two extended."
- "Interim finance manager, six assignments since 2021 across insurance and utilities, typically 9 to 14 month transformation windows."
Each contains a countable fact: how many assignments, how long, how many extensions. The version that fails is "highly adaptable professional who thrives in fast-paced environments", which is what people write when they are nervous, and which a reader discards without processing.
The check before you send
- Does the top of page one explain the contracting in one sentence with a number in it?
- Does every short entry carry a contract label on the title line?
- Is the agency named somewhere, so the reader knows who paid you?
- Are repeat assignments at one client merged into a single block with the total span?
- Does every nested line carry its own client name and dates?
- Does "contract ended as scheduled" appear exactly once?
- Are extensions and returns stated in words rather than inferred from dates?