edX Online

Launch your career as a software engineer

Software engineering is a growing field with engaging opportunities for advancement. Gain the necessary skills to break into software engineering on edX.

What does a software engineer do?

Software engineers design, troubleshoot, and maintain computer programs. They often work in industries such as finance, manufacturing, computer systems design, and healthcare to create software that accomplishes organizational goals.

As a software engineer, your daily responsibilities may include:

  • Writing and reviewing code.
  • Collaborating with other teams.
  • Testing debugging solutions.
  • Upgrading features.
  • Communicating progress with leadership and clients.

Many software engineers develop specializations within the industry, such as cybersecurity, artificial intelligence, and front-end web development. For example, software engineers in manufacturing may specialize in designing low-level embedded systems that communicate directly with hardware.

Software engineer job market outlook
Job growth (2023–33)+17%
Projected new jobs per year327,900 new jobs
Source: The Bureau of Labor Statistics (BLS)

Software engineer vs. software developer

While many people use the terms interchangeably, there are some distinct differences between the two roles:

  • Software engineers design computer software infrastructure and frameworks that support various functionalities.
  • Software developers build features within that code framework to create new applications.

Software engineer vs. computer engineer

Software and computer engineers often collaborate in their roles:

  • Software engineers generally create high-level, user-facing software and applications.
  • Computer engineers develop low-level, backend software that communicates correctly with the computer hardware.

Your path to becoming a software engineer

For career starters

Get started on your software engineering career journey with online courses and degree programs on edX.

  1. Explore online software engineering courses on edX for foundational knowledge
  2. Enroll in a bachelor's degree in computer or data science on edX to build career skills
  3. Sign up for a professional certificate program on edX to earn a verified software engineering certificate that you can achieve on your schedule
Female Asian software programmer working at her desk at a startup company.


Programs that can prepare you for a software engineering role

Show More

What you need to have to work as a software engineer

Formal degrees

  • Bachelor's degree in computer science, mathematics, or engineering
  • Some positions may require a master's degree

Industry certifications

  • Fluency in at least one programming language

Interpersonal skills

  • Problem solving
  • Organization
  • Communication
  • Time management
  • Attention to detail
banner-logo

"Being a computer scientist, it is very important to stay up to date with new technologies in that field. Often companies don't want to pay for trainings, but now with edX, I have full control of my own training program."

Sandy Van den Bornen | Computer scientist | Antwerp, Belgium | BerkeleyX: Descriptive Statistics and BerkeleyX: Software as a Service

Industry insights for software engineers

Key takeaways

  • Roles are open across industries
  • High demand for strong interpersonal skills
  • Specializations help candidates stand out
  • AI has had little effect on hiring so far

Because technology is advancing across all industries, software engineers can expect high demand in the job market. The BLS projects that jobs for software developers will grow by 18% from 2023-33, much faster than the average 4% growth projected for all occupations.

According to Sarah Doughty, vice president of talent operations at Canadian recruitment agency TalentLab, specializations like machine learning, DevOps, and cybersecurity are in high demand.

"It's probably not enough to just be a generic software engineer these days in terms of marketability," Doughty said. "Most employers want an area of specialization."

Additionally, Doughty emphasized that while mastering the technical aspects of software engineering is still crucial, companies are also prioritizing candidates with strong soft skills.

"We're really seeing a focus on critical thinking and problem solving even at a junior level," Doughty said. "We want somebody who can adapt and grow."

Doughty also noted that while many people believe that AI will disrupt the industry, AI tools are still in their infancy and make mistakes. As a result, software engineers can't rely on these tools alone, especially early in their careers — they must master the foundations of software engineering and their specialization before they can streamline their processes using AI.

"In some cases, [candidates] have very specific knowledge areas but maybe don't understand why that's an industry standard," Doughty said. "If you're approaching the interview saying, 'I know the answers, but I'm a little unclear or lacking confidence in how I got to that answer,' that's probably going to get fleshed out pretty clearly in the interview."

Popular industries

  • Computer systems design
  • Manufacturing and robotics
  • Finance and insurance
  • Publishing and broadcasting

Similar job titles

  • Computer programmer
  • Web developer
  • Software developer
  • Computer and information systems manager

Top 5 industries for software engineers

Top 5 industries for software engineers
IndustryAnnual median wage (May 2024)
Software publishers$149,990
Manufacturing$134,910
Management$133,650
Finance and insurance$132,880
Computer systems design$129,890
Source: BLS

Explore top software engineer salaries by state

Software engineer salaries can vary depending on your region, experience, and specialization. Find your state's median annual salary for software engineers:

Read the map data
Median annual software engineer salary, by state
StateAnnual median wageEmployment
Alabama$113,02018,020
Alaska$119,600430
Arizona$128,69035,650
Arkansas$96,8206,390
California$170,910292,630
Connecticut$130,87016,490
Delaware$135,1603,850
District of Columbia$136,0408,250
Florida$126,55082,610
Georgia$128,92047,350
Hawaii$119,8801,940
Idaho$107,9004,960
Illinois$127,77054,490
Indiana$103,57012,690
Iowa$109,8509,840
Kansas$106,66015,850
Kentucky$106,2007,070
Louisiana$102,2903,870
Maine$113,8002,740
Maryland$137,89031,940
Massachusetts$150,52054,260
Michigan$107,82041,490
Minnesota$124,54039,580
Mississippi$86,4603,200
Missouri$114,55017,060
Montana$100,1902,070
Nebraska$116,4208,940
Nevada$129,0304,640
New Hampshire$132,4208,010
New Jersey$132,40057,120
New Mexico$120,8204,810
New York$161,260104,130
North Carolina$131,00057,590
North Dakota$98,5501,510
Ohio$107,69044,280
Oklahoma$107,4207,150
Oregon$135,26021,100
Pennsylvania$123,74047,350
Puerto Rico$64,3501,580
Rhode Island$128,6606,010
South Carolina$108,69012,230
South Dakota$87,7702,190
Tennessee$117,34018,750
Texas$130,500151,460
Utah$127,39029,160
Vermont$130,720
Virgin Islands$162,82040
Virginia$134,47083,290
Washington$166,91091,470
West Virginia$103,5502,280
Wisconsin$103,36022,170
Wyoming$112,5901,020
Source: BLS 2024, BEA 2023
Note: Colorado's wage data was excluded due to non-reporting by the BLS.

Software engineer career track

In the early stages of your career as a software engineer, your responsibilities will often involve assisting more senior engineers as they write, test, and debug code. Entry-level software engineering roles offer opportunities for professional and specialized development as you gain real-world experience in industries like:

  • Finance
  • Healthcare
  • Manufacturing
  • Defense
  • Tech
  • Media

After you have around five years of experience, you'll likely qualify for mid-level roles in software engineering. Mid-level software engineers can work with less oversight from senior engineers.

Many people who reach this stage in their careers focus on building leadership skills to qualify for management positions.

"In the past, we saw really only one path in terms of where you could go in your career in tech, which was to management," Doughty said. "There's been a much heavier focus on bringing in people who are going to be able to work functionally with other people."

You may also consider earning an advanced degree, such as a master's or doctorate, to qualify for director or executive roles and explore new paths for innovation in software engineering.

Senior software engineers generally have over 10 years of experience. This role requires strong decision-making, problem-solving, and leadership skills as you'll be responsible for overseeing junior employees' work. Many senior software engineers have a specialization, such as machine learning or front-end development, as their primary focus.

Early career roles
(1-4 years)

  • Junior software developer
  • Associate software engineer
  • Junior validation engineer

Mid-career roles
(5-10 years)

  • Software engineer
  • Software developer
  • Senior software developer

Late career roles
(11-15 years)

  • Senior software engineer
  • Staff software engineer
  • Senior staff software engineer

C-suite
(15+ years)

  • Principal engineer
  • Chief technology officer (CTO)
  • Chief information officer (CIO)

Ready to advance your career?

Explore additional software engineer resources