← Back to Explore Fields

Software Engineering

The software systems and applications that run almost everything digital — designed, built, and kept running.

FIG. 01 — SOFTWARE ENGINEERING

At a Glance
Math & Physics IntensityMedium
Hands-On / Physical WorkLow
Regulation & ComplianceLow
Job Market UncertaintyHigh
Flight controllers at consoles in a mission control room, each position banked with screens under a wall of larger displays.
FIG. 02The Artemis II flight control team in the White Flight Control Room, Johnson Space CenterNASA / Robert Markowitz
01

What It Is

Software engineering is about designing, building, testing, and maintaining software — the code behind applications, websites, operating systems, and the systems inside other engineered products, like the control software in a car or a medical device. It's sometimes taught within computer science programs and sometimes as its own major, and the line between 'software engineer,' 'computer scientist,' and 'programmer' is used inconsistently across companies.

02

What Engineers Work On

Software engineers write and review code, design how different parts of a system fit together, test software to catch bugs before release, and maintain and improve existing systems — which is a much bigger part of the job than people expect, since most code isn't written from scratch but built on top of or modified within existing systems. A lot of the actual work is reading other people's code, communicating with teammates, and figuring out why something isn't working as expected.

03

Real-World Examples

  • Mobile apps and websites
  • Operating systems and the software running inside consumer devices
  • Backend systems that process transactions, like banking or e-commerce platforms
  • Embedded software inside cars, appliances, and medical devices
  • Developer tools and infrastructure other companies use to build their own software
04

Common Misconceptions

Tap a card to see the reality behind each one.

See this compared side by side →
05

A Day in the Life

Mostly at a computer — writing code, reviewing other people's code, attending planning or standup meetings, and researching how to solve a specific technical problem. Contrary to the 'solo genius coder' image, most software engineering is a collaborative, team-based process involving a lot of written and verbal communication.

One illustrative example day, not a guaranteed schedule — real days vary a lot by employer, role, and industry.

9:00 AM1 / 7

Standup meeting

A quick team check-in on what everyone's working on and what's blocking them.

Did today sound like mostly solving problems with a team, or mostly typing code alone? Which one matches what you pictured?

06

Typical Projects

  • Building a small app or website from scratch to learn a language or framework
  • Fixing a bug in existing code and figuring out what caused it
  • Writing tests to make sure a piece of software behaves correctly
  • Contributing a small change to an open-source project
07

Getting Ready

Useful Subjects

  • Any programming or computer science courses available
  • Algebra and discrete math, if available
  • Logic-based coursework, like formal logic or debate, can help too

Helpful Skills

  • Breaking large, vague problems into smaller, well-defined steps
  • Patience for debugging — most of the job is figuring out why something doesn't work, not writing new code
  • Comfort reading and modifying code someone else wrote, since most professional work happens inside existing codebases
  • Communication skills, since engineers constantly explain technical decisions to teammates or non-technical stakeholders
08

Where This Field Shows Up

Industries

  • Tech companies
  • Finance
  • Healthcare
  • Gaming
  • Any industry with a digital product, which today is most of them

Related Majors

  • Computer Science
  • Software Engineering
  • Computer Engineering
09

Career Explorer

Frontend Engineer

Builds the parts of a website or app that users see and interact with directly.

Backend Engineer

Builds the server-side systems that handle data, logic, and requests behind the scenes.

Mobile Engineer

Builds applications specifically for phones and tablets, like iOS or Android apps.

DevOps / Infrastructure Engineer

Builds and maintains the systems that let other engineers deploy and run software reliably.

10

Weighing It Up

Advantages

  • Skills are broadly transferable across almost every industry, since most companies rely on some software
  • Remote work is more common in this field than in most other engineering disciplines
  • Relatively fast feedback loops — you can often build and test something yourself without needing expensive equipment or lab access

Challenges

  • The field changes quickly — tools and best practices considered standard today may be outdated in a few years, so ongoing self-learning is part of the job
  • The entry-level hiring market has become noticeably more competitive in recent years (see the note below)
  • Sitting at a computer for long stretches can take a physical toll if you don't build in breaks and movement
11

Things People Dislike

  • Constant need to learn new tools and technologies just to keep up
  • Meetings and process overhead at larger companies can feel like it slows down actual building
  • Job security can feel less stable than people assume — the industry has gone through visible layoff waves in recent years
12

How Competitive Is It?

This has shifted meaningfully in recent years, so treat older narratives about the field carefully. For a long time, software engineering was seen as a reliably high-demand, high-paying path, but entry-level hiring has become considerably more competitive due to a combination of more graduates entering the field, increased use of AI tools for some coding tasks, and broader tech industry layoffs. It's still a large field with real opportunities, but 'just learn to code' is a much less reliable guarantee than it used to be — research current hiring trends rather than relying on this or older general reputation.

13

What You Could Earn

$135,980/ year, median

United States (national median) · May 2025 — U.S. Bureau of Labor Statistics

Last verified: September 2026

This is a U.S. national median across all experience levels — not a starting salary, and not adjusted for your region. Given this field's own hiring-market caveats above, a high historical median doesn't guarantee current entry-level outcomes.

What actually affects your salary?

The number above is a national median — the middle point across everyone in the field, not a typical starting salary. What you'd actually earn depends on things this page can't predict for you:

  • Location — pay for the same job title can differ a lot by country, state, or even city, often tied to local cost of living.
  • Years of experience — entry-level pay is usually well below the median, and typically rises over a career.
  • Specialization — some sub-areas within a field pay differently (aerospace vs. general manufacturing, or power systems vs. consumer electronics, for example).
  • Industry and company — a large company, a startup, and a government job can pay very differently for similar work.
  • Education and licensure — an advanced degree or professional license can affect both which roles you're eligible for and what they pay.
  • Economic conditions — hiring markets shift over time, so a number that was accurate a few years ago might not be now.

None of this makes the number above wrong — it's a real, sourced figure. It just means a single number can't tell you what you personally would earn.

14

Try It Yourself

  • Try a free beginner coding course — many exist specifically for Python or JavaScript
  • Build a very small project, like a simple calculator or to-do list app
  • Try a coding practice site to solve small logic puzzles
15

Questions to Ask Yourself

  • Do I enjoy the process of debugging — patiently figuring out why something doesn't work?
  • Am I comfortable with a field that changes quickly and requires ongoing learning?
  • Do I want a highly collaborative role, working closely with a team, rather than working alone most of the time?
  • Am I choosing this field because I'm genuinely interested in building things with code, or mainly because of assumptions about salary or job security that may not hold as strongly as they used to?
16

What Can I Do Next?

Grade systems vary by country — pick whichever tab is the closest match for where you are.

Not saved anywhere. (just for this visit — nothing is stored beyond your browser tab).

A project to try

Try a free beginner coding course and build one small project, like a calculator or a to-do list.

A tool to learn

A free beginner course in Python, since it's commonly taught first.

A club or activity

Look into a school coding club or a local chapter of a beginner coding organization, if available.

How to actually find one near you →

A related field to compare

Electrical Engineering →