Skip to content Skip to a section
⚙️ Engineering & Technology

💻Software Engineer

Writes, tests and maintains the code that runs modern life — and is one of the first professions watching AI automate its own daily work.

Also called: Software Developer · Programmer · Coder

Reviewed 2026-08·Media credits

Two women operating the ENIAC in the 1940s, programming it by setting switches and routing cables by hand.
Unidentified U.S. Army photographer · Public domain
Share this page
At a glance
Score intensity

Darker cells mean a higher score for this topic on that metric.

Score profile

Each bar is a 0-100 atlas score for this topic, not a timeline.

358055687890
Pay vs AI

Pay and automation resistance on the same 0-100 scale for this profession.

Both scores stay visible. Drag the slider to emphasize Pay or Resists AI.

Pay

Resists AI

Two axes

One point: this profession on the two named axes.

PayResists AISoftware Engineer 80/35*Software Engineer
Route in

Typical years of training before someone usually works in this role.

Timeline

Milestones in order. This is history, not a weekly activity grid.

1843 Ada Lovelace publishes the first algorithm1890 Hollerith's punch cards tabulate a census1943–1945 Six women program the ENIAC1952 Grace Hopper completes the first compiler1957 FORTRAN ships for the IBM 7041968 NATO conference names 'software engineering'1969–1973 Unix and C take shape at Bell Labs1981 The IBM PC brings software to every desk1991 Linux and the World Wide Web arrive months apart2021–2023 AI moves into the code editor
  1. Ada Lovelace publishes the first algorithm
  2. Hollerith's punch cards tabulate a census
  3. Six women program the ENIAC
  4. Grace Hopper completes the first compiler
  5. FORTRAN ships for the IBM 704
  6. NATO conference names 'software engineering'
  7. Unix and C take shape at Bell Labs
  8. The IBM PC brings software to every desk
  9. Linux and the World Wide Web arrive months apart
  10. AI moves into the code editor
Explore
Compare
18 min read

Share this career map with someone weighing study, retraining or a first offer.

Last reviewed Sources & creditsMedia creditsMethodology

Open compare lab

Quick answer

Software Engineer: Writes, tests and maintains the code that runs modern life — and is one of the first professions watching AI automate its own daily work.

Typical pay
$140k–$220k (United States)
Years of training
6
AI resistance
35/100
Demand
78/100

Quick facts

Ada Lovelace, 1843First programmer
$133,080/yrMedian pay (US, 2024)
~1.7M (2024)US software developers
Turing Award, est. 1966Top honor
~23% worldwideWomen in the field
1968, NATO"Engineering" applied

A software engineer designs, builds, tests and maintains the programs that run banks, hospitals, factories, phones and spacecraft. The job spans writing new features, fixing what breaks, and deciding how a system should be structured so a hundred other engineers can safely change it later. Some software engineers ship a mobile app end to end; others spend a career on one piece of a much larger system, like the part of an airline's software that assigns seats.

The title is younger than the work. People were writing programs for decades before 1968, when a NATO conference deliberately borrowed the word 'engineering' to argue that code deserved the same discipline as bridges or aircraft. That argument is still being settled: unlike a structural engineer, most software engineers need no licence to practise, and the field still argues over whether it is a craft, a science, or both.

Two things make software engineering unusual among the professions on this site. It pays extremely well relative to how little formal gatekeeping it has, and it is one of the first white-collar jobs to watch a large share of its own daily output — boilerplate code, first-draft tests, routine fixes — get taken over by the tools it built. What is left afterward is the harder, more consequential part of the job.

Inside the profession

Software engineering is less a single craft than a family of crafts that share a language of systems, tests and reviews — and that is why two people with the same title can live almost unrelated working weeks.

What the day actually is

Most of the hours are not typing green text into a black window. They are reading other people's code, arguing about interfaces in a pull request, reproducing a bug that only happens on Tuesdays, and deciding what not to build. Junior engineers write more lines; senior ones delete more, and spend evenings unblocking teammates rather than shipping a personal feature. The public image of the solitary hacker is a recruiting myth that collapses on any team larger than three.

Where variety hides

The same word covers embedded firmware for a medical device, a growth team's weekly experiment on a shopping cart, and the team that keeps a bank's settlement batch from failing at 2 a.m. Domain knowledge often outweighs language fashion: a mediocre TypeScript developer who understands payments risk can outrank a brilliant algorithmist who does not. That is why 'software engineer' ranks high on pay and low on AI-resistance — the title is broad, but the valuable residue is judgment under constraint.

How gatekeeping really works

There is no licence. The gate is the interview, the portfolio, and the reputation network of previous employers. Bootcamps and self-taught routes exist, yet large firms still lean on computer-science degrees as a cheap filter. Inside the job, promotion tracks split into management and 'staff' IC ladders; both are political as much as technical. Open-source maintainers and contractors live outside that ladder entirely, trading stability for choice.

What is changing underfoot

Code assistants already draft boilerplate, tests and translations between languages for people who know how to steer them. What remains expensive is deciding the shape of a system that will survive real users, regulators and the next outage. The profession is not disappearing; it is shedding the parts that looked like typing and keeping the parts that look like architecture, taste and accountability when something breaks in production.

How the work branches

Five common shapes of the same title — specialty, setting or career path.

Consumer & B2B apps

Product / full-stack engineer

Owns features end to end — API, UI, analytics — and is measured on shipped outcomes more than elegant abstractions.

Cloud, SRE, devops

Infrastructure / platform

Builds the internal tools and reliability layers other engineers stand on; on-call and incident culture define the week.

Devices, autos, medical

Embedded / systems

Works against scarce memory, real-time deadlines and certification regimes far stricter than web shipping cycles.

Pipelines & models

Data / ML engineer

Turns research notebooks into production jobs; the craft is data contracts, monitoring and failure modes, not just models.

AppSec & secure SDLC

Security-minded engineer

Designs threat models into features; overlaps with cybersecurity specialists but stays inside product delivery teams.

How it reads by country

Same craft, different gatekeeping, status and daily texture — rewritten for readers in each language.

United States — equity and interviews

Total compensation at large technology firms often dwarfs the base salary through stock. Whiteboard and take-home interviews still dominate hiring; coastal metros and remote roles set the reference bands everyone else argues with.

South Korea — chaebol, startups, overtime culture

Large conglomerate IT centres and a dense startup belt in Seoul set two different tempos. Titles blur between developer and engineer; overtime norms have softened but launch weeks still stretch evenings, and English-speaking roles pay a premium.

Japan — lifetime tracks and foreign tech

Traditional firms still favour long tenure and careful consensus; foreign technology companies and game studios hire for English and shipping speed. The same title can mean a gentle 40-hour week or a crunch culture depending on the employer, not the craft.

Germany — engineering culture and leave

Works councils, strong vacation norms and a preference for deep specialisation shape careers. Berlin and Munich pay differently; equity upside is rarer than in the US, and the word 'engineer' still carries older industrial weight.

United Kingdom — London gravity

Fintech and large product companies cluster around London compensation, with a sharp drop outside the capital. Contracting through limited companies remains a common mid-career pattern; hybrid norms are now the default argument in job ads.

Singapore — regional hub premiums

Multinational HQs and local banks compete for bilingual engineers who can cover Southeast Asian markets. Packages look strong on paper; housing costs and regional on-call across time zones define how the pay actually feels.

From the archive

Commons CC/PD images self-hosted for this profession.

Operator console of an IBM System/360 mainframe
A PDP-11 minicomputer, the machine most associated with early Unix
An original IBM Personal Computer from 1981
Tux, the penguin mascot of the open-source Linux operating system
Conceptual diagram of cloud computing infrastructure
Photograph of Dennis Ritchie

Why attitude matters here

In software engineering, skill produces code that compiles; attitude decides whether anyone can trust it in production, at 2 a.m., without the person who wrote it in the room.

Ownership nobody assigned

Most production systems have no single owner in the org chart, yet someone has to notice the disk filling up before it pages a customer. Engineers who treat unowned failure as their problem prevent outages; engineers who wait for a ticket to be routed to them let a known risk sit until it becomes one. The codebase cannot tell who volunteered — only whether the gap got covered before it mattered.

Honesty in code review

A reviewer who approves a pull request to avoid an awkward conversation, or a submitter who quietly omits the edge case they didn't handle, degrades a system in a way no compiler catches. Because so much of the job is unsupervised — nobody re-derives a colleague's reasoning line by line — the whole practice depends on engineers volunteering the flaw nobody else would have found.

Maintainability nobody will check

A shortcut taken under deadline pressure rarely fails today; it fails eighteen months later, for a different engineer who never agreed to the trade-off and has no way to know it was made deliberately. The decision to write the honest version instead of the fast one is invisible in the moment and only shows up, years later, in whether the system was survivable to inherit.

Stances that hold up under pressure

Five concrete postures the work rewards, not slogans.

Reads the actual error before guessing

Pulls up the full stack trace and log lines before touching the source file, instead of pattern-matching to a fix that worked on a different bug last month — the difference between debugging and guessing under time pressure.

Carries the pager without resentment

Answers a 3 a.m. alert as a real problem rather than an inconvenience to dismiss and reset, because the alternative is a customer discovering the outage before the on-call engineer does, and treats the follow-up postmortem as seriously as the page itself.

Says no to shipping a known-broken change

Pushes back on a release date when the remaining bug is a real risk, even when a manager wants the demo to go ahead, instead of shipping quietly and hoping nobody hits the broken path before the next sprint's fix lands.

Documents for a stranger, not a memory aid

Writes the comment, the runbook entry or the commit message assuming the next reader has none of today's context — including a version of themselves eighteen months from now — rather than leaving tribal knowledge that dies when someone leaves.

Says 'I don't know' before guessing out loud

Admits uncertainty in a design review rather than defending a confident-sounding answer that turns out wrong three sprints later, because a wrong guess stated with conviction is more expensive to unwind than an honest pause.

Moments that reveal it

Situations that separate résumé language from how someone actually practices.

The outage with no assigned owner

A service degrades at an hour when the on-call rotation is ambiguous or the alert routes to someone unfamiliar with the system. Résumé language about ownership means nothing here; what matters is whether the engineer starts investigating or waits for someone else to be paged.

Reviewing a friend's rushed pull request

A trusted colleague submits a change before a deadline that clearly skips test coverage. Approving it preserves the relationship; blocking it protects the system. The reviewer's actual practice, not their stated code-quality standards, decides which one happens.

The shortcut nobody will ever audit

A config value or hack fixes a demo-day bug with no code review scheduled and no one likely to check it again for years. Whether the engineer leaves a note explaining the trade-off is the only evidence, later, that the shortcut was a decision and not an accident.

Interviewing a likable but underqualified candidate

A friendly, personable candidate performs poorly on a technical screen the team actually needs passed. Advocating for them anyway trades the team's future reliability for a comfortable conversation today — a test of whether standards hold under social pressure.

Where "calling" turns harmful

"10x engineer" culture and unpaid crunch

"We're a family" and "we move fast" have justified unpaid overtime and on-call with no extra compensation, plus unlimited PTO policies that quietly punish anyone who uses more than a week. Startup equity is routinely offered as a substitute for salary to engineers with no real influence over whether it's ever worth anything, and "passion for the mission" becomes the reason a 60-hour week reads as enthusiasm rather than a staffing failure.

The profile

358055687890
  • Resists AI35
  • Pay80
  • Barrier to entry55
  • Autonomy68
  • Demand78
  • Impact90

How exposed is it to AI?

63 / 100

High

A large share of the code an engineer types in a given week — boilerplate, first-draft tests, routine translations — is already comparably fast for a language model to produce. What remains hard to automate is deciding what should be built, catching the ways a plausible-looking change can be subtly wrong, and being accountable when it fails in production.

AI & The Future →

Seven ways into this profession

Frequently asked questions

What does a software engineer actually do all day?
Most days split between writing new code, reading other people's code during review, fixing bugs, and talking to teammates about what to build next. Meetings, planning and mentoring take up more time than newcomers expect. A senior engineer often writes less code personally than a junior one, spending more time on design decisions, reviews and unblocking others.
Do I need a computer science degree to become a software engineer?
No, but it remains the most common and lowest-friction route. A four-year degree teaches algorithms, data structures and systems concepts that are expensive to learn on the job. Bootcamp graduates and self-taught engineers do get hired, especially by smaller companies, but usually need a strong portfolio or open-source work to substitute for the credential.
Is software engineering at risk from AI?
Parts of it already are. Tools built into modern code editors now write a large share of routine code — boilerplate, first-draft tests, translations between languages — for engineers who use them regularly. What is much harder to automate is deciding what to build, why, and how a system should be shaped so it survives contact with real users and failure.
How much do software engineers earn?
It varies enormously by country and company. In the United States the median is around $133,000 a year; in Germany roughly €69,000; in India, where the industry employs the most people, a national average is closer to ₹900,000. Senior and staff engineers at large technology companies can earn several times the national median once stock compensation is included.
What's the difference between a software engineer, a programmer and a developer?
In practice, little — the titles overlap and companies use them inconsistently. 'Programmer' is the oldest term and emphasises writing code; 'developer' is common in web and product companies; 'software engineer' leans on the idea of applying disciplined process, testing and design, borrowed from older engineering fields, to building software. Job descriptions rarely distinguish them consistently.
Is a coding interview really necessary to get hired?
At most established technology companies, yes: a live or take-home technical interview, often involving algorithm problems on a shared document or whiteboard, remains the standard filter, alongside a system-design round for more senior roles. Smaller companies and startups are more likely to substitute a paid trial project, a portfolio review, or a conversation about past work.
Can software engineers work remotely?
Yes, more than almost any other profession on this site — a large share of professional developers work fully remote or hybrid, and the work itself (writing and reviewing code, joining video calls) rarely requires physical presence. Some employers pulled back on remote hiring after 2023, and roles that touch hardware or classified systems still require on-site work.
Do software engineers need to keep learning new tools after school?
Continuously. Languages, frameworks and platforms that dominate one decade are often marginal the next, and the tools engineers use to write code — most recently AI coding assistants — change the daily practice of the job every few years. Engineers who stop learning after their degree or bootcamp tend to plateau quickly in both skill and pay.

Embed this ranking

Paste this code into your blog or site — the ranking stays up to date.

Compare with…

Related university majors

Majors on this site that list this profession among graduate paths.

Similar professions

Closest neighbours on the six-score profile — not the same field only.

Continue exploring

More in Engineering & Technology