ParaLeagle
PARALEAGLE
Book a Demo
Compliance

SOC Code Selection Guide for H-1B Software Developer Petitions (2026)

How to select the right SOC code for H-1B software developer petitions. Avoid the most common RFE trigger for IT staffing companies.

13 min read··ParaLeagle Legal Team

Legal Disclaimer: This guide is for informational purposes only and does not constitute legal advice. Consult a qualified immigration attorney for guidance specific to your company's situation.

Why SOC Code Selection Is the #1 RFE Trigger for IT Staffing

If there is a single compliance decision that determines whether an H-1B petition for an IT worker sails through USCIS or lands in a Request for Evidence pile, it is SOC code selection. For IT staffing companies filing 20 to 200 petitions per year, the SOC code error is not an edge case — it is the most common preventable mistake in the entire petition process.

The Standard Occupational Classification (SOC) code is the government's system for categorizing jobs by their primary duties and requirements. In H-1B petitions, the SOC code serves two critical functions simultaneously. First, it determines the prevailing wage the employer must pay. Second, it frames the specialty occupation analysis — USCIS evaluates whether the position truly requires a bachelor's degree or higher in a specific specialty by comparing the job duties against the O*NET description for the selected SOC code.

When the SOC code does not match the actual job duties, the petition is vulnerable on both dimensions. If the duties described in the petition do not align with what O*NET says about that SOC code, USCIS issues an RFE questioning the specialty occupation determination. If the employer selected a code with a lower prevailing wage to reduce the salary requirement, DOL and USCIS may both flag the discrepancy.

For IT staffing companies, the stakes are compounded by volume. A systematic SOC code error in a firm's petition preparation workflow does not generate one RFE — it generates twenty, or a hundred, each costing time, attorney fees, and sometimes the placement itself.

This guide explains the most important SOC codes for software developer H-1B petitions, how to choose the correct one, and how to avoid the mistakes that trigger the most RFEs in IT staffing petitions.


The Key SOC Codes for Software Developer H-1B Petitions

15-1252 — Software Developers (the primary code)

SOC 15-1252 is the most commonly used code for H-1B petitions involving software development roles. O*NET defines Software Developers as workers who "research, design, and develop computer and network software or specialized utility programs." The occupation includes application software developers, systems software developers, and related development roles.

Key O*NET characteristics of this code:

  • Requires a bachelor's degree in computer science, software engineering, or a related field
  • Involves designing, building, and testing software applications or systems
  • Typically requires 2 or more years of experience at the qualified level
  • SOC 15-1252 has one of the higher prevailing wages in the technology classification group

This is the correct code when the worker is primarily writing code, designing software architecture, building applications, or developing APIs and systems. The majority of H-1B petitions for developers working on software products, web applications, or back-end systems should use 15-1252.

Common mistake: Using 15-1252 for workers whose primary duties are configuration, system administration, or testing rather than actual software development. O*NET is explicit that this code is for workers who design and develop — not just deploy or configure.

15-1253 — Software Quality Assurance Analysts and Testers

SOC 15-1253 covers workers who "plan, develop, and execute software test plans in order to identify software problems and their causes." This code is appropriate for QA engineers, test automation engineers, and software testers whose primary duties focus on verification and validation rather than feature development.

The prevailing wage for 15-1253 is typically lower than 15-1252, which makes it attractive from a cost perspective — but using it for workers who perform a mix of development and testing, or who primarily develop test automation frameworks, may not be accurate. When a worker's primary duty is writing code (even test code), 15-1252 may be more appropriate.

When to use 15-1253: The worker's primary role is planning, writing, and executing test cases, managing defect tracking, and verifying software quality — with development of production code as a secondary or incidental function.

15-1299 — Computer Occupations, All Other

SOC 15-1299 is a residual category for computer occupations that do not fit neatly into more specific codes. It includes emerging roles and specialties that the SOC taxonomy has not yet formally subdivided.

For H-1B purposes, 15-1299 is often used for roles like data scientists, machine learning engineers, cybersecurity specialists, and cloud architects when those roles do not map cleanly to a more specific code. The catch is that USCIS has been more skeptical of specialty occupation determinations for 15-1299 than for specific codes, because the "all other" category's O*NET description is necessarily broader and less definitive about degree requirements.

When to use 15-1299: Only when the role genuinely does not fit a more specific SOC code and the job description can clearly establish specialty occupation requirements independently of the O*NET description.

15-1211 — Computer Systems Analysts

SOC 15-1211 covers workers who "analyze science, engineering, business, and other data processing problems to develop and implement solutions to complex applications problems." This code is appropriate for roles focused on evaluating and improving existing systems, translating business requirements into technical solutions, and analyzing data processing needs.

Computer systems analysts perform a different core function than software developers — they analyze and recommend solutions rather than primarily writing code. IT staffing companies sometimes misuse 15-1211 for developer roles because the prevailing wage is often lower, but this is a compliance error if the worker's actual duties are primarily software development.

When to use 15-1211: The worker's primary function is analyzing business requirements, evaluating systems, designing specifications, and coordinating implementation — not primarily writing production code.

15-1244 — Network and Computer Systems Administrators

SOC 15-1244 covers workers who "install, configure, and support an organization's local area network (LAN), wide area network (WAN), and Internet systems or a segment of a network system." This code applies to network engineers, systems administrators, and infrastructure specialists whose work is primarily operational and maintenance-focused.

This code is frequently misused in IT staffing petitions for cloud engineers, DevOps engineers, and infrastructure-as-code specialists. If a worker is writing Terraform, building CI/CD pipelines, or designing cloud architecture, 15-1244 is likely too narrow — and the prevailing wage implications may be significant in either direction depending on the metropolitan area.

When to use 15-1244: The worker's primary duties involve installing, configuring, maintaining, and troubleshooting network and computer systems — not designing systems or writing application code.


How to Determine the Correct SOC Code: A Step-by-Step Process

Selecting the correct SOC code requires matching the actual job duties to the O*NET description — not matching the job title and not selecting the code with the most favorable prevailing wage. Here is a systematic process:

Step 1: Document the actual job duties in detail.

Before opening O*NET, write out the specific tasks the worker will perform at the client site. Use concrete language: "Will design and implement RESTful APIs using Java Spring Boot," not "Will perform software development activities." Specific duty descriptions are the foundation of both accurate SOC selection and strong specialty occupation documentation.

Step 2: Review O*NET descriptions for candidate codes.

Visit O*NET Online (onetonline.org) and review the full descriptions for the two or three SOC codes that seem plausible. Read the "Tasks," "Knowledge," "Skills," and "Abilities" sections — not just the headline description. Pay particular attention to which activities are listed as core versus secondary.

Step 3: Match the primary duty to the primary O*NET function.

The SOC code should reflect the primary function of the role — what the worker will spend the majority of their time doing. If the worker will spend 70% of their time writing code and 30% doing systems analysis, 15-1252 is likely more accurate than 15-1211.

Step 4: Verify the prevailing wage at the correct worksite.

Look up the prevailing wage for the selected SOC code in the metropolitan statistical area where the worker will be employed. Use DOL's Foreign Labor Certification Data Center. Confirm that the offered wage meets or exceeds the appropriate wage level before filing the LCA.

Step 5: Confirm consistency across the petition package.

The SOC code on the LCA, the job description in the I-129 petition, the client engagement letter, and the statement of work should all be consistent. USCIS cross-references these documents — inconsistencies between the SOC code's O*NET description and the duties described in the petition are a primary RFE trigger.


SOC Code vs. Job Title: Why They Often Don't Match

One of the most important principles in H-1B SOC code selection is that the job title does not determine the SOC code. It is the other way around: the job duties determine the SOC code, and the job title should be consistent with those duties — but USCIS and DOL evaluate the duties, not the title.

This creates a practical challenge for IT staffing companies because client organizations use widely varying titles for what are essentially the same roles. A "Senior Technology Associate" at a consulting firm, a "Software Engineer II" at a tech company, and a "Technical Developer" at a bank may all perform essentially the same software development duties — all mapping to SOC 15-1252 — despite having completely different titles.

Conversely, a "Software Engineer" whose actual duties are primarily testing might more accurately be coded as 15-1253 despite the title's development connotation.

The practical rule: read the duties in the statement of work and client engagement letter carefully, ignore the title as a primary guide, and select the SOC code based on what the worker will actually do.


How SOC Codes Affect Prevailing Wage Requirements

The SOC code is not just a classification label — it is the key that determines the minimum wage the employer must pay. Every SOC code has four prevailing wage levels (Level I through Level IV) for every geographic area in the country, updated annually by DOL.

The differences between codes can be substantial. In some metropolitan areas, the gap between the Level II prevailing wage for 15-1211 (Computer Systems Analysts) and 15-1252 (Software Developers) is $15,000 to $25,000 per year. This creates a persistent temptation to select a lower-wage code to reduce labor costs.

USCIS and DOL are aware of this dynamic and scrutinize it. Selecting a SOC code primarily to achieve a lower prevailing wage — rather than because it accurately reflects the job duties — is a compliance violation under the LCA regulations. If DOL determines in an audit that the actual duties should have been classified under a higher-wage code, the employer may be liable for back wages covering the difference for the entire employment period.

The correct approach: select the accurate SOC code based on duties, then plan compensation accordingly. If the correct code's prevailing wage makes the placement economically difficult, that is a business planning problem — not a compliance workaround problem.


Common SOC Code Mistakes and How to Avoid Them

Mistake 1: Using 15-1211 for developers to access lower prevailing wages.

Computer Systems Analysts (15-1211) has a lower prevailing wage than Software Developers (15-1252) in many markets. IT staffing companies sometimes use 15-1211 for workers who are primarily writing code, reasoning that "analyzing requirements" is part of the development process. USCIS adjudicators are trained to look for this pattern and will issue an RFE if the job duties more closely match the software developer description.

How to avoid it: If the worker writes production code as their primary function, use 15-1252. Reserve 15-1211 for roles where systems analysis — not code writing — is the dominant activity.

Mistake 2: Using 15-1299 as a catch-all for complex modern roles.

Machine learning engineers, data engineers, and cloud architects often end up coded as 15-1299 because they do not fit neatly into traditional categories. While this is sometimes accurate, USCIS is more likely to issue specialty occupation RFEs for 15-1299 because the O*NET description is broader and less specific about educational requirements.

How to avoid it: For machine learning and AI roles, consider whether 15-1252 applies (if the worker primarily develops software/models). For cloud architects, consider 15-1299 only if no more specific code fits, and supplement the petition with strong independent specialty occupation evidence.

Mistake 3: Selecting a code based on the job title rather than the duties.

"IT Consultant," "Technology Associate," and "Technology Specialist" are common staffing company titles that do not map to any specific SOC code. Selecting whatever code sounds closest to the title — without reading the O*NET description carefully — leads to mismatches that generate RFEs.

How to avoid it: Require detailed duty descriptions for every petition and use the O*NET matching process described above before selecting a code.

Mistake 4: Using the same SOC code for every petition regardless of actual duties.

Some staffing companies default to a single SOC code (often 15-1252 or 15-1211) for all IT petitions to simplify their process. When audited, this pattern suggests that SOC codes are not being selected based on actual job duties — a compliance red flag.

How to avoid it: Treat SOC code selection as a case-specific determination for every petition, not a default setting.


FAQ: SOC Code Selection

Can I use a different SOC code for the LCA and the I-129 petition?

No. The SOC code must be consistent across the LCA and the I-129 petition. USCIS and DOL both review the SOC code and compare it against the job description. Inconsistency between the two filings is a significant red flag.

What if the worker's duties span two SOC code descriptions?

Select the code that best represents the primary function — the duties that will occupy the majority of the worker's time. Document in the petition why the primary duties align with the selected code, and explain that secondary duties falling under another code are incidental.

Can I change the SOC code after the LCA is certified?

Changing the SOC code after LCA certification typically requires filing a new LCA, because the SOC code is a material element of the LCA attestation. If the I-129 is already filed, an amendment may also be required depending on the circumstances.

How often do SOC codes change?

The SOC taxonomy is updated periodically by the Bureau of Labor Statistics. The 2018 SOC revision significantly restructured technology occupation codes. Staffing companies should verify that they are using current codes — particularly for emerging technology roles that may have been reclassified.

Does O*NET determine whether a position qualifies as a specialty occupation?

ONET is an important reference but not the sole determinant. USCIS uses ONET as one source of evidence, but a position can qualify as a specialty occupation through other means — industry standards, employer requirements, or the nature and complexity of the duties — even if the O*NET description for the code does not explicitly require a bachelor's degree.

What if our client uses a non-standard job title?

Work backward from the job title to the duties. Get a detailed description from the client of what the worker will actually do, map those duties to the appropriate SOC code based on O*NET, and use both the client's title and the SOC code in the petition with a clear explanation of how the duties align.


For the full context of how SOC code selection fits into the H-1B petition process, see the complete H-1B processing guide for IT staffing companies. For compliance obligations that follow from SOC code selection — particularly prevailing wage requirements — see the LCA compliance checklist.

Share this article:

Ready to streamline your H-1B workflow?

ParaLeagle automates LCA filing, document checklists, and petition drafting — so your team handles more cases with fewer errors.