Software Engineering & Development

How to get hired as a software engineer in 2026-27

The short answer

To get hired as a software engineer in 2026-27, show software you shipped that other people actually use, and be able to explain why it is correct rather than only that it runs. The process is usually a timed online assessment or a recruiter screen first, then a live coding or debugging round, a system design round from mid-level upward, and a behavioural round with the hiring manager, and AI-assisted coding has pushed every one of those toward review, verification and "why did you do it that way". Ask the recruiter in writing whether an AI assistant is permitted in the technical rounds, because employers now split three ways on it and you cannot guess which regime you are in. Entry level is genuinely harder than it was in 2021: the openings go to candidates with a referral, an internship or apprenticeship, or a running project that other people depend on, not to whoever sent the most applications.

What the role ownsWriting, reviewing, shipping and operating software other people depend on: taking an ambiguous requirement to a working change in production, keeping it correct under load and change, and being on the hook when it breaks. The title spans an enormous range, the same two words cover a first-year engineer fixing bugs and a staff engineer deciding a migration. "Software developer" and "software engineer" are used interchangeably in postings; the BLS counts both under software developers.
Licence or certificationNone. No licence governs writing software in the US, and the NCEES Software Engineering PE exam was discontinued in 2019 for lack of candidates. Two edges worth knowing: a few states, including Texas and Oregon, regulate use of the job title "engineer" itself, and Canada regulates the P.Eng designation, neither affects whether a US employer hires you to write software. No certificate is a gate; cloud certifications help only in infrastructure-adjacent and consulting roles and never substitute for shipped work.
Education and time to job-readyA CS or related degree is the most common route, is still a hard filter at some large employers, and is near-mandatory for new-grad programmes. It is not universal: self-taught and bootcamp engineers get hired, more easily at mid-level than at entry. Plan in years, not weeks, the thing that ends the search is a deployed project with real users plus someone who will vouch for you, and both take months to accumulate whichever route you take.
Typical hiring processOften a timed online assessment first (60-90 minutes, auto-scored, sent soon after you apply), then a recruiter screen (20-30 min), a live technical screen (45-60 min), then an onsite or virtual onsite of 3-5 rounds: one or two coding, system design from mid-level up, one behavioural with the hiring manager, increasingly a code-review or bug-hunt round. Two to six weeks end to end; large employers run longer and add a hiring-committee review after your loop.
PayNo single band: one of the widest spreads in the economy, driven more by employer tier and internal level than by years of experience. Read the current figures yourself rather than from any article: BLS OES code 15-1252 (software developers) for medians and the 10th-to-90th percentile spread nationally and by metro, DOL foreign-labor-certification disclosure data for exact employer-filed base salaries by employer, level and worksite, and the ranges employers publish under state pay-transparency laws.
Resume length and formatOne page up to roughly eight years, two after that. Reverse chronological, standard headings, no photo, no skill bars. Column count matters less than extraction order: export your PDF, select all, paste into a plain text editor, and read it. If it comes out scrambled, that is what the screen reads.
Evidence that landsUsers, traffic, money, latency, error rates and time: "3,000 weekly active users", "cut p99 from 1.8s to 240ms", "on-call pages for this service from about 20 a week to 3", "migrated 140 endpoints with no customer-visible downtime". Numbers with units and a named lever. Not "leveraged modern technologies to improve performance".
What changed by 2026Using AI coding assistants is assumed, not a differentiator, the differentiator is review, verification and knowing when the generated answer is wrong. Debugging and code-review rounds have become common because they test what AI made scarce. Application volume per posting rose sharply because applying is automated too, which makes referrals and specificity worth more. Entry-level hiring contracted from 2022-2023 and has not returned to 2021 levels.

What "software engineer" means on a 2026 posting, read the verbs before you apply

"Software Engineer" is the least informative title in tech. The same two words are used for a new graduate fixing bugs in a ticket queue and for the person deciding whether a company moves off its monolith. "Software developer" is the same job under a different label at most employers, where a distinction is drawn, "engineer" sometimes implies more design and systems scope, but that varies by company rather than following a rule. Judge the posting by its verbs and its loop, never by which of the two words is in the title.

The fastest read is the verbs. Fix, implement, assist, contribute, participate means they expect to supervise you, entry or early career, and your job in the loop is to show you can be trusted with a change. Own, design, lead, drive, define means they expect you to decide things and defend them, mid to senior, and the loop will include design and a deep dive on a past decision. On-call, operate, scale, reliability means a production-facing role where debugging a live system matters more than writing a clean class.

The second read is the stack, and specifically whether the posting names one at all. A posting naming a precise stack ("Go, Postgres, Kubernetes, AWS") usually means a team with an existing system that needs someone productive in it quickly; mirror those nouns exactly. A posting saying "strong fundamentals, language agnostic" usually means an employer that interviews on general problem solving and will teach you their stack, commonly large employers and new-grad programmes. A stack-specific resume sent to a fundamentals employer is wasted effort, and the reverse gets you filtered by a recruiter matching keywords.

The third read is the hidden title. Many postings called Software Engineer are really something else: a data-heavy role, a platform or DevOps role, an integrations or forward-deployed role, a QA-automation role, or an AI application role. Those have different loops and different resumes. If the responsibilities spend more lines on pipelines, Terraform, customers or evals than on product code, treat it as that role instead.

How you actually become a software engineer, and what the entry-level squeeze really is

There are four routes in and they are not equally good, but all four are used. A CS or adjacent degree, with internships, is still the widest door and the only one most new-grad programmes accept. A bootcamp buys structure, a cohort and a deadline; it no longer places people into a market short of juniors, and published placement rates should be treated as marketing unless independently audited, judge one on whether it teaches testing, debugging, databases, deployment and reading unfamiliar code, not on which frameworks it covers. Self-teaching works and takes longer than anyone budgets for. And the quietest route is sideways: QA, support engineering, IT, data analysis, implementation consulting or an internal-tools job at a company whose product is not software, then moving into engineering from inside, where you have colleagues who have seen you work.

Whichever route you take, the sequence that ends the search is the same, in this order. Learn one language properly rather than four badly, with its real behaviour, integer division, string immutability, how its hash map orders, how its runtime does concurrency. Learn SQL and a relational database. Learn Git, testing and how to read code you did not write. Then build and deploy one thing that solves a real problem for people who are not you, and keep it running for months while they complain about it. Then get a reference and a referral out of that work. The project with users is not a portfolio ornament; it is the thing that substitutes for experience you do not have.

Now the squeeze, because the two common stories are both wrong. The defeatist story says AI eliminated junior engineering and you should not bother. The denial story says nothing changed and you should apply harder. What is observable is that entry-level software hiring contracted sharply from 2022-2023 and has not returned to 2021 levels while the number of people competing for those roles rose. You do not have to take that from me, the series that show it are public: BLS JOLTS job openings for the information sector, Indeed Hiring Lab's software-development job-postings index, NACE's new-graduate hiring surveys, and the CRA Taulbee survey for how many CS degrees are being produced. Read them for the shape rather than trusting a number in any article, including this one.

Three forces stack here and it is worth keeping them apart. The first wave of contraction was financial (the end of cheap capital, an over-hiring correction, headcount discipline) and it happened before AI-assisted coding was broadly adopted. AI-assisted coding then changed the economics of the work juniors used to be given: the small, well-specified, heavily reviewed task is exactly what an assistant does cheaply, which weakens the traditional argument for hiring someone to do it for a year while they learn. On top of both, application volume per posting rose because applying is automated now, so a posting can draw a thousand applications that all look tailored.

The part the defeatist story leaves out: companies still hire juniors, and the ones who get hired are not distinguished by application volume. They are distinguished by three things, in descending order of power, a referral or prior relationship with the team, a real internship or apprenticeship, and a thing they built that other people use. That third one became disproportionately valuable precisely because AI made code cheap. If anyone can generate a CRUD app, having one is worthless; having one that twenty strangers use every week and that you have kept running for eight months is evidence of judgement, operations and persistence, which a generator cannot produce.

So invert the search. Mass applying to the headline companies with public new-grad programmes is a lottery with terrible odds, and it is where most candidates spend most of their effort. Better allocation: companies where you can reach a human, applied to properly; small and mid-size employers with no recruiting brand, who get a fraction of the volume and actually read applications; and the unglamorous sectors, government contractors, defence, healthcare, insurance, logistics, manufacturing, utilities, universities, state and local government, and the internal engineering teams of companies that do not sell software. They hire steadily and they will teach you production software. An unglamorous first job with real users fixes the experience problem in twelve months. A year of applying to the same thirty companies does not.

One honest caveat on the "get experience by freelancing" advice: for engineers aiming at employment it is weaker than it sounds, because gig-site work and a logo-shuffling portfolio read as unverifiable to a hiring manager. What works is scoped work for a named, reachable organisation that will confirm it, a nonprofit's booking system, a research group's data tool, a small business's internal dashboard. Time-box it: one deliverable, six to eight weeks, agreed in writing up front, with a reference, a public deployment and permission to describe the work as the payment. Unpaid work with no scope and no end date is not experience, it is just unpaid work.

The loop, stage by stage: starting with the timed online assessment

The stage most articles skip is the one most entry-level candidates hit first. At many large employers, and at nearly every new-grad programme, the first gate is not a human: it is a timed online assessment, sent automatically within days of your application, hosted on HackerRank, CodeSignal, Codility or the employer's own platform. Typically 60 to 90 minutes, two to four problems, auto-scored against hidden tests, with partial credit for passing some of them. Often nobody reads it unless your score clears a threshold, and the threshold is not published. It usually has an expiry date, and letting it expire is a withdrawal.

Prepare for it as an exam, because that is what it is. Sit it on a laptop with a real keyboard and a stable connection, not a phone and not hotel wifi. Read all the problems before starting the first one, because they are rarely in difficulty order and the clock does not care. Write a brute-force solution that passes the small cases before optimising, partial credit is real and an elegant half-finished answer scores zero. Handle the empty input, the single element and the maximum size, because the hidden tests are mostly edge cases. If the platform offers a practice assessment, take it first for the interface alone.

The AI policy on an online assessment is usually "no assistance", enforced by honour system, sometimes a camera or a browser lockdown, sometimes a plagiarism and keystroke check, and sometimes by a later live round where you are asked to re-solve or extend your own submission. That last one is the real enforcement: treat anything you submit as something you will be asked to explain line by line.

After the assessment the loop is conventional, with two structural changes since 2021. Multi-hour unpaid take-homes have become harder for employers to justify, because an assistant finishes a typical one in minutes, so a take-home now usually comes with a live follow-up where you extend or defend what you submitted. The submission is no longer the evidence; the conversation about it is. And debugging and code-review rounds have become noticeably more common, because they test the thing AI made scarce rather than the thing it made cheap.

Ask the recruiter three questions in writing before the loop: how many rounds and what each one is, whether AI assistance is permitted in the technical rounds and in what form, and whether any round is in person or proctored. Recruiters answer these readily. Candidates who do not ask walk in with the wrong preparation, and the AI question in particular is not one you can guess.

Software engineer interview questions, and what each one is actually grading

These are the real questions, in the words they are asked in. Prepare answers out loud, to a timer. An answer that runs ten minutes fails regardless of content; two minutes with a decision in the first thirty seconds passes.

On the four behavioural prompts below, every strong answer has the same shape: a decision you made, the alternative you rejected, what it cost, and what you would do differently. A chronology in which everything went fine is not an answer.

On system design, grading is not whether your design matches the interviewer's. It is whether you behave like someone who can be trusted with a decision. Spend the first five to eight minutes not drawing: get the numbers (how many users, read-to-write ratio, perceived latency, what must never be lost, what may be stale and for how long, which failure the business cannot tolerate), then state your assumptions aloud so they can be corrected. Design the simple thing first and say you are doing so (one service, a relational database, a cache if the read pattern warrants one, a queue where the work is genuinely asynchronous) and add complexity only when you can name the pressure forcing it. Then cover the parts candidates usually skip: what happens when a dependency is down, how a retry does not duplicate a payment, how you migrate to this design with the system live, what goes on a dashboard versus what pages someone, and what it costs per month. Senior candidates are expected to raise cost unprompted. Very few do.

Do not bluff an unfamiliar technology in any round. "I have not run that in production; here is what I would want to find out before committing to it" is a strong answer. A fabricated opinion is detected fast and taints everything after it.

The coding interview now that AI writes code: and the question you must ask

The content of coding interviews shifted, and the shift is consistent even though employers' policies are not. Pure algorithmic puzzles have not disappeared, large employers still use them, and if you are interviewing at one, practise them. But weight moved toward problems where the answer is easy to produce and hard to be sure about: debug this, review this, extend this, explain why this is correct, what happens under concurrency, what does this do with an empty input and with ten million rows.

On AI policy there are three distinct employer regimes, and you cannot infer which one you are in from the company's size or how modern it sounds.

First regime: AI allowed and expected. You are given an assistant, sometimes the one they use internally, and the problem is deliberately bigger than you could type by hand in the time. What is graded is supervision, how you frame the request, whether you read the output before accepting it, whether you notice the subtle wrongness, whether you test, and whether you can explain the code you just accepted. The failure that gets candidates rejected here is accepting a plausible implementation and being unable to answer "why does this line do that". Slower but sceptical scores better than fast and credulous.

Second regime: AI explicitly forbidden and enforced, screen share, a lockdown browser, a proctor, or an in-person round added back for exactly this reason. You will often hear about it from the recruiter unprompted, because they have learned that candidates are surprised by it; if yours does not volunteer it, ask. Here you need unassisted fluency: standard library from memory, no autocomplete, able to write a correct binary search or a hash-map pass without help. If you have spent two years with an assistant always on, this feels far worse than you expect. Practise without it before you need to.

Third regime: unstated, and the interviewer may not know their own employer's position. Ask anyway. If it is still unclear, default to working unassisted and say out loud what you would normally reach for: "in my editor I'd have a model draft this parser and I'd review it; I'll write it by hand so you can see the reasoning." That sentence costs nothing and resolves the ambiguity in your favour.

Two things regardless of regime. Narrate: state your assumptions, name the approach you are rejecting and why, say what you will test before you test it. And leave time to verify, walk one real input through your code out loud, then an edge case. Candidates lose far more offers to a wrong answer delivered confidently than to a slow one.

The resume: shipped things, scope, and numbers with units

Start with how a resume is physically read, because it explains every formatting rule worth following. Applicant tracking systems extract text from your PDF and linearise it, and multi-column layouts have been mangled by that extraction for over a decade, a sidebar's text gets interleaved into the body, dates detach from titles, and a skills column arrives as a run-on line. Then a recruiter skims the result for about ten seconds. Some ATS vendors now also generate a short summary of the extracted text for the recruiter, which makes the quality of that extracted layer matter more, not less.

So the rule is not "never use two columns". The rule is that the text layer must read in the right order, and that is testable in thirty seconds: export the PDF, select all, paste into a plain text editor, and read it top to bottom. If your titles and dates come out interleaved with a sidebar, the screen reads it that way and you should change template. If the main column extracts cleanly and the sidebar follows it intact, a sidebar design is fine. Run that test on whatever you send, from whatever tool you built it in, ours included. What is never fine, regardless of layout: a photo, skill-percentage bars, information carried only in a graphic, and skills buried in prose.

Structure, boring on purpose: name and contact, an optional two-line summary only if you are changing direction, experience in reverse chronological order, a skills block, education, then projects, projects move above experience only if you have no professional experience. Every bullet has a shape: what you did, to what, with what measurable result. The result is the part most candidates omit, and "I don't have numbers" is almost never true, you have users, requests, latency, error rates, build times, incident counts, support tickets, revenue, cost and time. If the exact figure is confidential or unknown, give an honest approximation and mark it as one ("roughly 40,000 monthly active users"), or give the lever without the sensitive number ("cut median checkout latency by about 60%"). Never invent precision. Interviewers ask where a number came from, and an invented one unravels the page it sits on.

On open source and side projects, the honest answer: for most employers contributions are not required and their absence is not held against you, plenty of strong engineers have none, and a drive-by typo fix on a famous repository fools nobody. What moves a hiring manager is a shipped thing with users, maintained over time. A tutorial clone, a to-do app or a repository with one commit and a generated README is worse than nothing, because it signals you think that counts. If your projects are not real, leave the section out and spend the effort making one real. Open source genuinely matters in three places: developer-tools companies, infrastructure and database companies, and any team maintaining the library you contributed to, where a merged non-trivial PR works almost like a referral.

Two details that cost people interviews quietly. Dates: state employment months and years plainly; a gap needs no explanation on the page, just one calm sentence ready for the screen, and obscuring dates to hide a gap costs more trust than the gap would have. And work authorisation: if your status removes a question, citizen or permanent resident for cleared or export-controlled work, one line near the top saves a recruiter a guess. If it does not, leave it off the resume and answer the application form honestly.

Where these jobs are, how to reach a human, and what sponsorship changes

Most engineers' searches are limited by where they look, not by their skill. The large-brand postings on the big aggregators are the most competitive square metre of the job market. The same week, there are postings with a tenth of the applicant volume at companies you have never heard of, doing unglamorous work, that will hire you faster and teach you more.

Go to the applicant tracking systems directly. Greenhouse, Lever and Ashby host a large share of tech postings and index well; searching a stack plus a city plus one of those hostnames surfaces roles that never reach an aggregator's front page. Check company career pages for anywhere you actually want to work, because a posting is usually there first. And use the low-volume boards (a VC's portfolio job list, a local tech Slack or Discord, an alumni board) where a referral is one message away.

On referrals, what works is narrower than "network more". Find the engineer on that team, not a recruiter. Send three sentences: what you built, one specific opinion about their system or product, and the exact posting. Do not ask a stranger to "have a chat about opportunities". A referral costs them two minutes if you make it easy and half an hour if you do not, and that difference is most of your reply rate. Former colleagues are the highest-yield and most under-used contacts you have; a message to six people you worked with two jobs ago routinely outperforms a hundred applications.

Now the thing that decides where a large share of readers can apply at all, and which most guides give four words. If you need visa sponsorship, that is a filter on your target list before it is anything else. Nearly every application form asks whether you will now or in the future require sponsorship. Answer it truthfully, a false answer is a termination matter later, and in the fewest words the form allows; large-volume employers filter on that field automatically, so the honest answer plus a target list of employers who do sponsor beats a hedged answer to everyone.

Three things materially change your list. Cap-exempt employers (universities, affiliated nonprofit research organisations, nonprofit and government research organisations) can file H-1B petitions outside the annual cap and at any time of year, and they run large real systems that need engineers. Cap-subject employers can only enter you in a registration window once a year with an October start, so the calendar, not your readiness, sets the timing. And STEM OPT extensions require the employer to be enrolled in E-Verify and to sign a formal training plan, which means an employer that is not enrolled cannot host your extension even if they want you, ask early, because this is cheap to check and expensive to discover.

Policy in this area moved during 2025 and 2026, including on fees and process, with litigation still running. Do not take a fee, a deadline or lottery odds from any article, including this one: read the current position on uscis.gov, and ask the recruiter three questions in the screen, do you sponsor for this role, have you filed before for this team, and are you enrolled in E-Verify. Also note that export-controlled, ITAR and cleared work generally requires US citizenship or permanent residency and has no sponsorship path, which is why those postings say "US person" rather than "authorised to work".

Finally, run the search as a pipeline with stages rather than a stream of applications. Track where each application is and which stage you lose at, then act on the pattern: no replies means the resume or the targeting; failing the online assessment means timed practice; losing technical screens means fluency; losing onsites at design means design practice; losing the behavioural means your stories have no decisions in them. Most people apply more when the correct response is to fix one stage.

What to be paid, and what to actually say

Do not negotiate off a figure from an article, including this one, not because numbers are unknowable, but because the real ones are published, dated and easy to pull yourself, and a quoted band goes stale and strips the context that makes it mean anything. Three sources, each answering a different question. The BLS Occupational Employment and Wage Statistics series under code 15-1252, software developers, gives you the employment-weighted reality: a median annual wage plus the 10th, 25th, 75th and 90th percentiles, nationally and by metropolitan area, from a new release each year for the prior May reference period. Pull your own metro's table, not the national one, the metro spread is the whole point, and remember OES counts wages, so it does not capture equity, which is most of the gap at the top tiers.

Second, the US Department of Labor's foreign labor certification disclosure data, published quarterly from LCA filings. For a given employer, job title, internal level and worksite city, it shows the exact base salary an employer filed under penalty of perjury. That is the most specific public number you can get about a named company in a named city, and its limitation is clean: base salary only, no bonus, no equity, so read it as a floor rather than a target. Third, levels.fyi, which is the best public map of how tiers and internal levels relate and the only one of the three that includes equity, but it is self-reported and its sample skews senior, big-tech and high-cost-of-living, so its medians are not the market's medians. Anchoring on it for a mid-size insurer in Ohio produces exactly the unserious number this section exists to prevent.

A growing set of states now require a pay range in the posting, and the list keeps expanding, so check your state and the employer's headquarters state rather than any list in an article, many employers post ranges nationally once one state forces them to. A posted range for the exact role and location is better than any survey.

Understand the three components before you talk. Base salary is what a lender cares about. Bonus is usually a target percentage, paid on company and individual performance. Equity is where tier differences live: at a public company, RSUs with a dollar value and a vesting schedule, which is close to deferred cash; at a startup, options with a strike price, a preference stack above you, and a real chance of being worth nothing. Treat startup options as a lottery ticket bought with foregone salary, and ask what determines their value: the strike, the last preferred price, total shares outstanding (not just your count), what happens on an exit, and the exercise window if you leave.

Levelling matters more than the title. The same work is "Senior" at one company and "SWE II" at another, and pay follows the internal level, not the words on the offer letter. Now the mechanics, because knowing where to look is useless if you do not know what to say.

Working with AI in this role

What a software engineer has to know about AI in 2026-27

The expectation has inverted. In 2023, using an AI assistant was something you might mention. In 2026 it is assumed, an engineer who does not use one is slower at the mechanical parts of the job, and "I prefer to write everything myself" reads as a position rather than a strength. The differentiator is no longer generation. It is review, verification, and knowing when the generated answer is wrong.

That is not a soft skill; it is a specific, demonstrable competence, and it is what the newer interview rounds are built to detect. Code that looks right and is subtly wrong is now the most common defect you will meet: an assistant will cheerfully produce an off-by-one in a pagination boundary, a race in a double-checked cache, an N+1 query, a retry without idempotency, a plausible call to an API method that does not exist, a test that asserts nothing, or a hole in a hand-rolled auth check. The engineer who catches those is worth more now than three years ago, not less, and interviewers know it.

What genuinely changed day to day: the unit of your attention moved up. You spend less time typing an implementation and more time specifying it, reading a diff you did not write, deciding whether to accept it, and building the tests, types and assertions that make wrongness visible early. Review load went up across the industry, and so did the value of a codebase hostile to subtle errors, strong typing, narrow interfaces, fast test suites, static analysis in CI, reversible migrations. If you want one thing to invest in that pays off in both the job and the interview, it is testing: property-based tests, good fixtures, tests that fail for the right reason.

What changed less than the hype suggests: the hard parts are still hard. Deciding what to build, negotiating ambiguous requirements, understanding a large unfamiliar codebase well enough to change it safely, debugging a production incident under time pressure, migrating a live system, and owning the consequences, none of those got appreciably easier. Agentic tools are genuinely good at well-scoped work inside a context they can see and genuinely unreliable at anything requiring knowledge of why the system is the way it is. Say that plainly if asked: a candidate who claims AI has automated software engineering is as unconvincing as one who claims nothing changed.

The second thing to be ready for is that you may be asked to build with models, not just with assistants. A large share of 2026 product work has an LLM somewhere in it, and ordinary software engineers, not AI specialists, are the ones wiring it up. You are not expected to train anything. You are expected to have an opinion about retrieval, evaluation, cost, latency, failure modes, and what happens when the model returns something unusable. If you have shipped any of that, it belongs on your resume with numbers.

Reviewing generated code as a first-class skill, not a formality

The characteristic 2026 defect is code that passes a casual read and fails on a boundary, under concurrency, or against a real dataset. Teams are slowed by merged AI-written code nobody understood, and hiring managers have started screening for the person who prevents that.

Show it: Have a specific story: a generated or inherited change you rejected or fixed, what exactly was wrong (name the bug class, race, N+1, missing idempotency, unhandled null, wrong timezone handling), and how you caught it. On the resume, a bullet about review throughput or escaped defects with a number. In a code-review round, narrate what you are checking for rather than reading top to bottom.

Verification: tests, types and assertions that make wrongness visible

When code is cheap to produce, the bottleneck becomes confidence that it is correct. The engineers who stay productive are the ones whose codebases catch mistakes automatically instead of in production.

Show it: Name the mechanism and the outcome: "added property-based tests to the pricing module, which surfaced three rounding bugs before release"; "introduced strict typing across the API layer, ending a recurring class of null-handling incidents". In a coding interview, write the test alongside the implementation and say why you chose that case.

Supervising an agentic tool on real work: scoping, context and stopping

There is a real gap between people who get useful output from agentic coding tools on a large codebase and people who get confident nonsense. It is mostly scoping the task, giving the tool the right context, and recognising early when it has gone off the rails instead of accepting a 400-line diff.

Show it: Describe a workflow, not a tool list: how you break a task down, what you put in the repository so the tool behaves (a conventions file, tests it must pass, a narrow interface), what you never delegate, and a case where you stopped and wrote it yourself. Concrete enough to be checkable, and no claim of a speedup you did not measure.

Debugging a system you did not write and cannot fully read

This was always the senior skill and it has become the scarce one, because it is exactly what assistants are worst at and what juniors now get less practice in. Debugging rounds exist in loops specifically to test it.

Show it: Walk an interviewer through a real incident end to end: the symptom, what you measured, the hypotheses you eliminated and how, the actual cause, the fix, and what you changed so it could not recur silently. Name the tools, logs, traces, metrics, a bisect, a minimal reproduction. Practise by fixing real bugs in an open-source project from a failing test.

Building product features that call a model: retrieval, evals, cost and failure

Ordinary product teams now ship LLM-backed features, and most engineers doing it were never taught the failure modes: an answer sourced from a document the user is not allowed to see, no evaluation set so nobody can tell whether a prompt change made things worse, per-request cost nobody measured, and no defined behaviour when the output is unusable.

Show it: One shipped thing, described concretely: what retrieves what, how permissions reach the query, the evaluation set you built and what it measures, the cost and latency per request and the lever you used to change them, and the fallback when the model fails. If you have not shipped one, build one small and real rather than listing "LLMs, RAG, vector databases" as skills.

Knowing and respecting the employer's AI policy and data boundaries

Pasting proprietary code or customer data into an unapproved tool is a disciplinary matter at many employers and a contractual breach at some. Interviewers in regulated industries ask about this, and a careless answer is disqualifying regardless of your technical level.

Show it: Be able to say what your current employer's policy is and how you work within it, approved tools, what never leaves the environment, how licence and provenance questions on generated code are handled. Then ask theirs. It reads as professional, and it is the same instinct that keeps you out of trouble on the job.

What a screen is looking for

These are the terms that a resume screen, human or automated, is matching against for this role. Use the ones that are true of you, in the words the posting uses.

Mistakes that cost people this job

Sitting the timed online assessment cold: on a phone, on hotel wifi, on the day it expires.

Treat it as a scheduled exam. Laptop, real keyboard, stable connection, practice assessment first for the interface. Read every problem before starting one, get brute force passing before optimising, and cover the empty, single and maximum cases, because hidden tests are mostly edge cases.

Mishandling the sponsorship question: answering it untruthfully, or writing three paragraphs of explanation into a yes/no field.

Answer exactly what is asked, truthfully, in as few words as the form allows, and spend the saved effort on a target list that matches your status: cap-exempt employers you can approach any time of year, employers who state that they sponsor, and no time at all on "US person" or "no sponsorship" postings.

Naming a salary number first because the recruiter or the form asked.

"I'd rather not anchor before I understand the level and scope, what's the band at the level you're hiring at?" If forced, give a range whose bottom you would accept and say where it came from (the posted range, or the OES percentile for your metro).

Behavioural answers that run ten minutes and arrive at the decision last, or never.

Rehearse four stories out loud to a two-minute timer, decision in the first thirty seconds: something you shipped, something you broke, a disagreement, something you decided not to build. Then stop talking and let them ask.

Pointing a hiring manager at a repository they cannot evaluate in ninety seconds, no README, no live link, no sign anyone uses it.

Open the README with what the thing does and who uses it, link a running deployment, show how to run it locally in two commands, and say what you would fix next. Unreadable evidence is not evidence.

Stopping the search on a verbal offer, or accepting before the terms are in writing.

Keep every process running until you have a signed offer naming level, base, bonus target, equity grant and vesting, start date and the exact location policy. A verbal offer is a plan, not a job.

Going quiet after a rejection from a company you actually wanted.

Reply once: thank them, ask to be considered for other requisitions, and ask what would make you a stronger candidate for the next one. Diarise a re-application in six to twelve months. A recruiter who has already read your resume is the cheapest warm contact in your pipeline.

Questions people ask

What does a software engineer do?

A software engineer builds and operates software other people depend on: turning an ambiguous requirement into a working change in production, reviewing other people's code, writing tests, and keeping the result correct as load and requirements change. Day to day that is reading existing code far more than writing new code, breaking work into changes that can ship safely, debugging failures in systems they did not write, and carrying some share of on-call responsibility for what they shipped. The scope of the title varies enormously, the same two words cover a first-year engineer fixing bugs under supervision and a staff engineer deciding whether a company changes its database. In 2026 a growing share of the day is spent specifying and reviewing code an AI assistant drafted rather than typing it.

How do you become a software engineer?

In this order: learn one language properly, including how it really behaves; learn SQL and a relational database; learn Git, testing, and how to read code you did not write; build and deploy one thing that solves a real problem for people who are not you, and keep it running for months; then get a reference and a referral out of that work. Four routes get you to that point, a CS or adjacent degree with internships (the widest door, and the only route most new-grad programmes accept), a bootcamp (structure and a deadline, no longer a reliable placement), self-teaching (works, takes longer than anyone budgets), or moving sideways from QA, support engineering, IT, data analysis or an internal-tools job. No licence or certificate is required at any point. Expect the whole path to take years rather than months, and expect the deployed project with real users to be the thing that actually ends the search.

What skills does a software engineer need?

Technically: one language in real depth plus working fluency in a second, SQL and relational data modelling, HTTP and API design, Git and code review, testing at several levels, debugging from evidence rather than guesswork, and enough of the deployment path (containers, CI, logs, metrics, traces) to operate what you ship. From mid-level upward, system design: caching, queueing, idempotency, concurrency, and migrating a live system without downtime. Non-technically: writing clearly, scoping ambiguous work, disagreeing on technical grounds and committing when the decision goes against you. The 2026 addition is not "using AI", that is assumed, it is reviewing and verifying code you did not write, which is the scarce skill the newer interview rounds exist to test.

What should a software engineer resume include?

One page up to roughly eight years, two after that, reverse chronological, standard headings, plain text that extracts in reading order. Include: name and contact; experience with bullets shaped as what you did, to what, with what measured result (users, requests, p99 latency, error rate, incident count, build time, cost, revenue, time); a skills block grouped as Languages / Frameworks / Data / Infra / Tooling, naming the AI tools you actually use; education; and projects only if they are real and deployed, above experience if you have no professional experience. Leave out a photo, skill-percentage bars, graphics carrying information, tutorial-clone projects, and any precise number you cannot defend when asked where it came from. Before you send it, export the PDF, select all, paste it into a plain text editor and read the result: that linearised text is what the screening system sees.

How much does a software engineer make?

There is no single band: the spread for this title is one of the widest in the economy, and employer tier and internal level move it far more than years of experience. Rather than trusting a figure from an article, pull three public sources: the BLS Occupational Employment and Wage Statistics series under code 15-1252 (software developers) for the median and the 10th-to-90th percentiles in your own metropolitan area, released annually; the US Department of Labor's foreign labor certification disclosure data, which publishes exact employer-filed base salaries by employer, internal level and worksite city and is therefore a floor rather than a target because it excludes equity; and levels.fyi for how tiers and levels relate, remembering that its data is self-reported and skews senior, big-tech and high-cost-of-living. Then read the range the employer posts under state pay-transparency law, and ask what internal level the role is and what the band is for that level.

Do I need a computer science degree to get a software engineering job?

No. Software engineering is not a licensed occupation in the US and no degree or certificate is legally required. A CS or related degree is still the most common route, is a hard filter at some large employers, and is effectively required for most new-graduate programmes, so not having one narrows where you can apply at entry level. Self-taught and bootcamp engineers are hired regularly, more easily at mid-level than at entry, and the substitute is always the same: software running in front of real users, plus a person who will vouch for you. The degree matters most for the first job and progressively less after that.

Can I use AI tools during a coding interview?

It depends entirely on the employer, and you must ask rather than assume. Three regimes exist in 2026: AI allowed and expected, where the problem is deliberately large and you are graded on how you supervise and verify the output; AI explicitly forbidden and enforced by screen share, proctoring, a lockdown browser or an in-person round; and unstated, where nobody has decided and the interviewer may not know their own employer's position. Ask the recruiter in writing before you prepare, along with whether any round is in person. If the answer is still unclear, work unassisted and say out loud what you would normally reach for and why you are writing it by hand instead. Note that timed online assessments are almost always no-assistance, and that anything you submit can be something you are asked to explain line by line in a later live round.

Is software engineering still a good career to enter in 2026?

Yes, with a clear-eyed view of the entry point. It remains a large occupation with strong pay relative to most fields, and mid-level and senior demand is healthy. What changed is that the first job is harder to get than it was in 2021: entry-level hiring contracted on cost grounds from 2022-2023 and has not returned to those levels, more candidates are competing for those openings, and AI-assisted coding weakened the traditional case for hiring someone to do small supervised tasks for a year. You can check the shape of that yourself in BLS JOLTS openings for the information sector, Indeed Hiring Lab's software-development postings index, and NACE's new-graduate surveys. The people getting hired at entry level have a referral, an internship or apprenticeship, or a deployed project with real users, usually at a small or unglamorous employer rather than a brand-name one. Entering is slower, not closed.

Has AI replaced junior software engineers?

No, but it changed the argument for hiring them. AI assistants are good at the small, well-specified, heavily reviewed task that junior engineers were traditionally given to learn on, which weakened the case for paying someone to do that work for a year. Companies still hire juniors, and the hard parts of the job (understanding a large unfamiliar codebase safely, deciding what to build, debugging production under pressure, owning consequences) did not get easier. Two practical effects: junior hiring concentrated at employers who need people in the system rather than in the brand (government contractors, healthcare, insurance, logistics, manufacturing, internal teams at non-software companies), and evidence of judgement now matters more at entry level than it used to, which is why a project with real users and months of uptime outperforms six tutorial clones.

How long does the software engineering hiring process take?

Usually two to six weeks from first contact to offer. A timed online assessment often arrives within days of applying and has its own expiry date; then a recruiter screen, a live technical screen, and an onsite or virtual onsite of three to five rounds. Startups can go from screen to offer in a week; large employers run longer because a hiring committee reviews your loop after you finish it, which is why a strong onsite can be followed by three weeks of silence. Ask the recruiter for the stage count and expected timeline in the first call, and keep other processes running, a single pipeline with a three-week gap in it is how candidates lose negotiating position.

Put this on a resume in about a minute

Paste your history once and point it at the Software Engineer posting you are looking at. No account, no card.

Build my resume free More roles