NOC 21231 reference letter — what IRCC actually requires

Ranking NOC 21231 (Software engineers and designers, TEER 1) is the easy part. Getting a reference letter your employer will sign and that IRCC accepts is where most software engineers lose the eligibility screen. Here's the format, the duty wording, and the specific things that get letters rejected.

Knowing your NOC code is only half the equation. IRCC doesn't ask what your code is — they ask whether your reference letter duties prove it. Most refusals at the eligibility stage aren't wrong NOC codes, they're correct codes (like 21231 for software engineers) with reference letters that don't back them up.

A NOC code that doesn't match your actual duties isn't just a paperwork issue — IRCC can treat it as misrepresentation, which carries consequences that go well beyond a single refused application.

Confirming your NOC code before you submit is a lot cheaper than correcting it after.

Educational information only, not legal advice. Consequences vary based on individual circumstances.

Real example: A Senior Software Engineer applicant claimed NOC 21231 but their reference letter described 'developed features and fixed bugs' — implementation-only wording that maps to NOC 21232, not the research, design and evaluation duties NOC 21231 requires. Refused at the eligibility stage.

What every NOC 21231 letter must contain

  • Company letterhead with full address, phone and contact email
  • Signatory's full name, title, and direct contact (usually HR or a direct manager)
  • Your job title, start date, end date (or "present"), and full-time / part-time status
  • Weekly hours worked
  • Annual salary plus benefits (dollar amount, not "market rate")
  • A duties paragraph that mirrors the NOC 21231 lead statement and lists at least 5 main duties

Sample duties paragraph (NOC 21231 wording)

"In their role as Senior Software Engineer, [Name] researches, designs, evaluates and integrates software systems for our platform. They collect and document user requirements, develop logical and physical specifications, and lead the design and architecture of new services. They evaluate and test third-party components, plan release cycles, and supervise two junior developers. They also contribute to technical strategy and review the work of other engineers."

What breaks a NOC 21231 letter

  • Implementation-only wording. "Wrote code", "fixed bugs", "delivered tickets" reads as NOC 21232.
  • Missing hours or salary. An automatic PFL trigger.
  • Title but no duties. "Software Engineer" without a duties list is not proof of skilled experience.
  • Verbatim NOC copy-paste. Officers spot it. Rephrase the duties in the first person of the company.
  • Colleague signature. Must be HR or a direct manager. A peer isn't authoritative.

What IRCC actually checks

What surprises most applicants: IRCC officers compare your reference letter duty lines word-by-word against the official NOC duty list. Generic phrases like “managed projects” or “supported the team” fail this check every time.

IRCC refused 23% of Express Entry applicants at the eligibility stage. A $9.99 check is insurance against a $1,500+ mistake.

Is your letter really NOC 21231?

Paste your reference-letter duties and see the match against the official NOC 21231 duty list — before IRCC does.

FAQ

What must a NOC 21231 reference letter include?
Company letterhead, signatory name and title, your job title, start and end dates, weekly hours, annual salary and benefits, and a duty list that mirrors the NOC 21231 lead statement and main duties. Missing any of these is the fastest way to a refusal or PFL.
How many duties from NOC 21231 must appear on the letter?
IRCC expects the lead statement plus a 'substantial number' of the main duties. In practice, five or more well-worded duties that mirror the NOC wording are the safe threshold. Two or three vague bullets is what officers reject.
Can I claim NOC 21231 if my title is 'Software Developer'?
Yes, but only if your duties describe research, design, evaluation, and integration of software systems — not just writing code to spec. If the letter only shows implementation work, 21232 (Software developers and programmers) is the defensible code, and claiming 21231 risks a mismatch refusal.
What if my employer refuses to write a NOC 21231-style letter?
Use a colleague affidavit plus a self-declaration, or ask HR for a letter of employment and a separate signed duties list from your direct manager. Pay stubs, T4s, and contracts back up dates and salary. See our guide on what to do if your employer won't write the letter.

Last updated: July 2026

Check my NOC →