⚙️ 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

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.

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.

More in Engineering & Technology