How to Choose the Right ANZSCO Code for IT Occupations
Why does the ANZSCO code matter?
The ANZSCO code is the first step that shapes your entire migration pathway: it determines the assessing authority, the visa subclasses you can apply for, the occupation lists that apply to you, and your SkillSelect points. Choose the wrong code and ACS may refuse the application or assess you under a different code, costing you fees and time.
In IT this is an especially common problem, because the boundaries between roles are often blurred in practice while the ANZSCO definitions are quite specific.
Mapping 8 IT occupations to ANZSCO codes
Systems and business analysis group
ICT Business Analyst — 261111 A good fit if your core work is gathering requirements from stakeholders, analysing business processes, writing requirements documents (BRDs, use cases), and acting as the bridge between business and technical teams. Little coding; weighted toward analysis and documentation.
Systems Analyst — 261112 A good fit if your core work is analysing and designing technical solutions, specifying IT systems, integrating systems, and proposing solution architecture. Closer to the technical side than a BA; you may write code, but it is not the main part of the role.
Programming and development group
Analyst Programmer — 261311 A good fit if your role combines analysing requirements AND writing code to solve them. Weighted toward analysis plus implementation within a single role — often seen in startup environments or small teams.
Developer Programmer — 261312 A good fit if your core work is writing code against requirements that have already been analysed. This is the code for pure programmers — frontend, backend, and mobile developers. It does not require gathering requirements from scratch.
Software Engineer — 261313 A good fit if your role covers designing, developing, testing and maintaining software systems through a full software engineering process. Common in product companies with a structured development cycle. Senior developers who do design and architecture often fit this code.
DevOps Engineer — 261316 A good fit if your core work is building and running CI/CD pipelines, containerisation (Docker/Kubernetes), Infrastructure as Code (Terraform, Ansible), and system monitoring. It combines software development skills AND infrastructure operations.
Infrastructure and networking group
Computer Network and Systems Engineer — 263111 A good fit if your core work is designing and administering network infrastructure, routers/switches/firewalls, server systems, and cloud infrastructure on the operations side. The difference from DevOps is that there is no software development element.
Database group
Database Administrator — 262111 A good fit if your core work is administering databases (schema design, optimisation, security, backup and recovery). This is not “writing queries” in a general sense — it is administering the DBMS itself (Oracle, SQL Server, PostgreSQL and so on).
How ACS assesses
ACS assesses based on the actual content of the work — not the job title, not the programming language, and not the name of the company. The ACS assessor compares the job description in your application against the ANZSCO definition for the code you chose.
If your application does not match the chosen code, ACS may:
- Refuse the application (if the work is not ICT)
- Reassess you under a different ANZSCO code (affecting your subclass 189 eligibility and other visa subclasses)
- Ask you to provide further evidence
Rules for choosing a code
Use the code that matches the activity taking up most of your working time. If 70 percent of your time is writing code and 30 percent is analysis, choose Developer Programmer or Software Engineer, not Systems Analyst.
Check the ANZSCO 2021 definition before you apply. The official definition from the ABS (abs.gov.au) is what ACS relies on — read it carefully before writing your application.
Don’t choose based on salary or market demand. The basis for choosing a code is the actual content of the work, not which code happens to attract more subclass 189 invitations.
When you are unsure: Contact ACS to ask first, or consult a registered migration agent — a single wrong choice can mean 6 to 12 months before you can reapply.
Common borderline cases
- Full-stack developer → Developer Programmer (261312) or Software Engineer (261313), depending on the way you work
- Data Engineer → may be Developer Programmer or Database Administrator, depending on the DBA versus ETL-coding split
- SRE (Site Reliability Engineer) → DevOps Engineer (261316) or Network Engineer (263111), depending on the coding-versus-operations ratio
- Tech Lead / Senior Developer → Software Engineer (261313) often fits if there is architecture design involved
- Business Analyst with IT skills → ICT Business Analyst (261111) IF the work is analysis, not programming