Developer Programmer 261312 or Software Engineer 261313: Which ACS Code to Choose
The two most common programming codes in IT migration
Developer Programmer (261312) and Software Engineer (261313) are the two ANZSCO codes most often used when programmers lodge an ACS application. Both:
- Belong to the ICT group and are assessed by the ACS
- Have writing code to build software as a core skill
- Appear widely across the IT labour market
But the two codes are not the same, and choosing the one that fits the reality of your work is a key step towards a successful ACS application.
ANZSCO 261312 — Developer Programmer: what is the focus?
A Developer Programmer focuses on writing, testing and maintaining code against requirements and designs that have already been defined. The focus of the role:
- Programming to build applications or systems against a specification
- Testing code (unit tests, integration tests) and fixing defects
- Maintaining and updating existing code
- Taking part in all stages of the SDLC but with limited involvement in high-level architectural design
- Typically working in a team with specifications handed down
This is an execution-focused role: receive requirements, write code that meets them, test and deploy.
ANZSCO 261313 — Software Engineer: what is the focus?
A Software Engineer is more engineering-oriented — not just writing code but also designing, architecting and assuring the quality of software systems. The focus:
- Analysing requirements and designing technical solutions: software architecture, choice of technology stack, design patterns
- Comprehensive quality assurance: code review, testing strategy, performance, scalability
- Involvement from the design stage through deployment and operation
- The ability to provide technical leadership or make significant technical decisions
- Often a deep understanding of software engineering principles (algorithms, data structures, design principles)
A Software Engineer is not necessarily senior — but the role is characterised by engineering thinking: considered design, not just execution.
Telling them apart in practice
The boundary between the two codes is not always clear. Here are some practical signs:
Signs you lean towards 261312:
- You mainly receive tasks/tickets and code against clearly defined requirements
- Someone else (an architect, tech lead) produces the technical design; you implement it
- Your main output is working, tested code
- You have little involvement in architectural design or technology selection
Signs you lean towards 261313:
- You regularly take part in or lead technical design decisions
- You produce technical design documents or architecture diagrams
- You are responsible for overall technical quality: code review, technical debt, performance
- You can explain why one design is better than another, not just implement to instruction
A common reality: Many experienced developers do work that relates to requirements but still mainly code to spec — and that fits 261312 perfectly well. There is no need to “upgrade” to 261313 if your application does not genuinely reflect engineering responsibilities.
Senior Developer vs Software Engineer: not the same thing
A common misconception: “Senior Developer = Software Engineer”. That is not how ANZSCO defines it.
- You can be a Senior Developer Programmer (261312 with extensive experience) — still focused on writing code and implementation at a high level
- You can be a junior Software Engineer (261313) if you were involved in architectural design from the start
The question is not your number of years of experience, but the type of technical responsibility you genuinely carry.
Impact on your ACS application
The ACS assesses an application on two factors: qualifications and work experience. When you nominate a code, the ACS will:
- Check whether your qualification is sufficient
- Read the experience description and check whether it matches the ANZSCO definition of the code
If you nominate 261313 but your job description is mainly implementation: The ACS may assess the experience as not matching the code — or assess you as 261312. This can lead to a refusal or a downgrade.
If you nominate 261312 with genuine engineering experience: You may be overlooking a code that fits better and offers better visa conditions. However, the most important thing is that your application is consistent and accurate — not optimising the code for a higher score that the application does not genuinely support.
Common mistakes
Mistake 1: Choosing 261313 because of a “Software Engineer” title on LinkedIn A title on social media is not the criterion the ACS uses. The content of the work is what matters.
Mistake 2: Confusing engineering work with an engineering degree Holding an IT engineering degree does not automatically make you a Software Engineer under ANZSCO. The code is determined by the type of work you do, not by your qualification.
Mistake 3: Using 261313 language in a description that is really 261312 For example, writing “designed and developed features” when in reality you only implemented features against a spec someone else designed. The ACS can spot the inconsistency on a detailed review.
Mistake 4: Not describing the work specifically enough Whichever code you choose, a description that is too short and generic (“developed web applications using React”) is not enough for the ACS to assess. You need to state clearly: what system, what responsibilities, what stack, what scale.
A practical conclusion
- If you mainly write code, implement to spec and have little involvement in architectural design → 261312 fits better
- If you take part in designing technical solutions and are responsible for architecture or system quality → 261313 fits better
- When in doubt: describe your work honestly and let the ACS assess it — better than misrepresenting it to push for a higher code