What's the NOC code for a software engineer?

Short answer: NOC 21231 or NOC 21232 — and the wrong choice can refuse your PR. Both are TEER 1 and STEM-eligible, but they cover different work.

The 30-second answer

If you design systems
NOC 21231
Software engineers and designers · TEER 1
If you mostly write code
NOC 21232
Software developers and programmers · TEER 1

How IRCC actually decides

An IRCC officer reads the duties on your reference letter, ignores your job title, and matches the verbs and activities against the official NOC main duties. Phrases like "designed and architected," "developed logical and physical specifications," "led a team of" push toward NOC 21231. Phrases like"wrote modules," "fixed bugs," "implemented features per spec" push toward NOC 21232.

Title-to-NOC quick map

  • Software Engineer / Senior Software Engineer: Usually NOC 21231 if you own system design; otherwise NOC 21232.
  • Staff / Principal / Distinguished Engineer: Almost always NOC 21231.
  • Backend / Frontend / Full-Stack Developer: Usually NOC 21232. NOC 21234 if frontend with design ownership.
  • Tech Lead / Engineering Manager: NOC 21231 if hands-on architecture, otherwise NOC 20012 (Computer and information systems managers).
  • Member of Technical Staff (MTS): NOC 21231 — the title is meaningless internally but the duties usually fit.

Don't guess — score it

The cost of getting this wrong is a refused PR application and a lost $1,365+ fee. Paste your reference letter duties and we'll score them against both 21231 and 21232 in under 30 seconds, so you can submit with the right code.

Match your duties against NOC 21231 / 21232

Score your real duties before IRCC does. From $4.99 (anniversary promo).

Check my software engineer NOC

FAQ

What is the NOC code for a software engineer?
Most software engineers fall under NOC 21231 (Software engineers and designers, TEER 1). People whose primary work is writing code from a spec are usually NOC 21232 (Software developers and programmers, TEER 1). Both are eligible for the Express Entry STEM category-based draws.
Is 'Software Engineer' always NOC 21231?
No. IRCC ignores job titles and reads your duties. If your day-to-day is mostly coding under someone else's design, NOC 21232 is the safer claim. If you architect systems, design specs, or lead engineering teams, NOC 21231 fits.
What about senior engineers, staff engineers, principal engineers?
These titles all map to NOC 21231 if the duties involve system architecture, technical leadership, and design ownership. The seniority in title does not change the NOC; the duties do.
Which NOC for ML / data / DevOps engineers?
ML engineers usually fit NOC 21211 (Data scientists). Data engineers typically map to NOC 21223 (Database analysts and data administrators). DevOps and platform engineers map to NOC 22220 (Computer network and web technicians) for pure ops, or NOC 21231 if architecture-heavy.