AAO finds profession of computer software engineer — When the Administrative Appeals Office (AAO) concludes that a job is properly classified as a computer software engineer, the decision clarifies which duties, skills, and education the government expects; therefore employers and counsel should update job descriptions, assemble specific technical evidence, and map duties to degree coursework to reduce risk of RFEs and denials.
First, AAO decisions are fact-specific but influential: they explain how adjudicators should assess whether job duties require the theoretical and practical application of highly specialized computer science or software engineering knowledge. Next, adjudicators typically look beyond job titles and instead evaluate the actual tasks, the level of independent judgment required, and whether the role normally requires at least a bachelor’s degree in a directly related field. Consequently, the successful petition does more than name the position — it demonstrates why the job duties necessarily call for a degree.
Moreover, in practice petitioners should expect USCIS to review project descriptions, technical deliverables, and the employer’s explanation of why particular coursework or training is essential. For example, duties like architecting distributed systems, designing algorithms, or building security-critical systems more clearly fit the specialty-occupation mold than duties limited to basic maintenance or simple scripting. Therefore, the record should emphasize complexity, problem-solving, and specialized knowledge rather than generic developer tasks.

— what employers and petitioners need to do
By Brian D. Lerner — What an AAO determination that a role is a “computer software engineer” means for H-1B and other specialty-occupation petitions, and practical steps employers and counsel should take to mirror that reasoning in filings.
Key points the AAO looks for (summary)
- Concrete, specific job duties (not vague lists) showing specialized technical tasks.
- Clear explanation of why a bachelor’s degree in computer science, software engineering, or equivalent is required to perform those duties.
- Evidence tying duties to college coursework or an equivalent combination of education and experience.
- Organizational context demonstrating the role’s professional nature (org chart, reporting lines, and team composition).
How to document duties — practical checklist
- Draft a detailed employer letter that explains daily/weekly tasks and why each task requires a degree (map tasks to courses such as Algorithms, Operating Systems, Databases, etc.).
- Include project examples or redacted deliverables (design documents, architecture diagrams, acceptance criteria) that show technical complexity and decision points.
- Provide percent-time allocations for duty categories so adjudicators can see the majority of work is specialized engineering.
- Attach an organizational chart and brief bios of supervisors to show the professional environment and oversight.
- For foreign degrees, attach credential evaluations and course descriptions to show equivalency to a U.S. bachelor’s in a related field.
- When relying on experience equivalency, submit detailed employment records and expert declarations explaining how experience maps to formal education.
Mapping duties to education — quick table
| Typical duty | Relevant coursework / technical domains |
|---|---|
| Designing algorithms & data structures | Algorithms, Data Structures, Discrete Mathematics |
| Architecture & distributed system design | Operating Systems, Distributed Systems, Computer Networks |
| Database design & query optimization | Database Systems, Data Modeling, Query Languages |
| Security design & cryptographic features | Computer Security, Cryptography, Secure Software Engineering |
| Performance tuning / systems profiling | Systems Programming, Performance Analysis, Compilers |
Responding to RFEs or denials that question the occupation
If USCIS issues an RFE asking whether the role is a specialty occupation, respond by (1) supplying a precise, updated employer letter mapping duties to degree coursework; (2) adding project artifacts and technical deliverables; (3) submitting credential evaluations and academic transcripts; and (4) including concise expert declarations from technical supervisors or independent specialists that explain why the role needs a bachelor’s degree. In addition, show how the role’s time allocation supports the specialty-occupation claim rather than relying on titles or broad statements.
Equivalency: when experience substitutes for a degree
Experience can substitute for a degree when the record shows a combination of education, training, and progressively responsible work experience equal to the statutory degree requirement (commonly, three years of specialized work = one year of university credit). Therefore, if relying on experience equivalency, present detailed chronological employment records, supervisory letters, and, when possible, technical deliverables that document increasing complexity of responsibilities.
Small employer / startup considerations
Small companies often face extra scrutiny. To mitigate that, explain business operations, product complexity, and why the engineering tasks cannot be fulfilled without specialized education. Attach product roadmaps, regulatory constraints (if any), and signed declarations from technical leads describing the role’s essential technical demands.
Intake & petition preparation checklist (copy-pasteable)
- Draft a detailed position description with percent time for each duty.
- Draft the employer support letter mapping duties to degree coursework.
- Collect project artifacts (design docs, specs, diagrams) and redact proprietary details as needed.
- Order credential evaluations for foreign degrees and compile transcripts.
- Obtain expert declarations when duties are novel or highly technical.
- Prepare organizational chart, team bios, and salary / prevailing-wage evidence.
Common FAQs
Does every software developer role qualify as a specialty occupation?
Not necessarily. USCIS examines the actual duties: roles requiring design, architecture, or specialized algorithmic work more often qualify than positions focused on simple maintenance, basic scripting, or routine data entry.
Can experience replace a degree?
Yes. Experience may substitute via an equivalency showing (commonly, three years of specialized work = one year of university credit). Provide detailed employment records and expert testimony to establish equivalency.
Should I include an expert declaration?
Often yes. A concise expert declaration from a technical lead or academic that ties duties to required coursework and explains complexity can be very persuasive to adjudicators.
