1. Home
  2. Career Explorer
  3. Software Engineer
Content has loaded

What does a Software Engineer do?

Software engineers are the creative minds behind computer programs. They may begin by asking how the customer plans to use the software. They must identify the core functionality that users need from software programs. software engineers must also determine user requirements that are unrelated to the functions of the software, such as the level of security and performance needs. They design the program and then give instructions to programmers, who write computer code and test it.

If the program does not work as expected or if testers find it too difficult to use, software engineers go back to the design process to fix the problems or improve the program. After the program is released to the customer, a software engineer may perform upgrades and maintenance.

Source: The Bureau of Labor Statistics (BLS)

Is this useful?

Get career advice

Our career coaches can help you make a plan.

Schedule coaching

Working as a Software Engineer

Depending on their roles, qualifications, specialization and years of experience, a software engineer may:

  • Analyze users' needs and then design, test, and develop software to meet those needs
  • Recommend software upgrades for customers' existing programs and systems
  • Design each piece of an application or system and plan how the pieces will work together
  • Ensure that a program continues to function normally through software maintenance and testing
  • Document every aspect of an application or system as a reference for future maintenance and upgrades
  • Collaborate with other computer specialists to create optimum software.
  • Create a variety of models and diagrams (such as flowcharts) that show programmers the software code needed for an application

The Bureau of Labor Statistics (BLS)

Is this useful?

How much does a Software Engineer make in the United States?

Average base salary

Average $117,933
Low $73,989
High $187,977
Cash bonus
$5,000per year
Non-cash benefit
View more benefits

The average salary for a software engineer is $117,933 per year in the United States and $5,000 cash bonus per year.50.3k salaries reported, updated at December 5, 2023

Is this useful?

Where can a Software Engineer earn more?

Compare salaries for Software Engineers in different locations
Explore Software Engineer openings
Is this useful?

How much do similar professions get paid in United States?


Job openings

Average $99,057 per year

Is this useful?

How do Software Engineers rate their jobs?


Based on 6,504 reviews


Teamwork, Training, Client Success, and a Great Work Environment

Written by Software Engineer (Current Employee) at IBM - Austin, TX – August 1, 2019

IBM's work environment is quiet, professional, friendly, and enjoyable. Team members are knowledgeable, sharing one common goal making sure client success is at the forefront our job, they have educational outlets, as well as the internal training or scrums to keep you knowledgeable and informed. You will get necessary training needed to help ensure client applications perform at their peak in a secure, high availability WAS environment. The most enjoyable part of my job comes after a complex issue is resolved with guidance we've provided.

  • Copy Link

A great place to learn and grow in software development

Written by Software Developer/Engineer in Test (Former Employee) at Microsoft - Redmond, WA – November 21, 2014

A typical day started off with reviewing, sorting, and when needed - respond to over-night emails. In addition to team and company correspondence, they also consisted of automation test results and testing done over-seas. Next, I would review my bugs in the database to see what needed follow-up on for that day. In my last position, we would have a daily scrum to sync up with all our teammates on where we all were in our tasks and goals for the project. This is also where we would make agile decisions on our workforce and re-assign folks or create new tasks to help keep the project on track for its determined release date.
Before working at Microsoft, I was a video editor and award winning 3D animator. However, I didn't know very much about software development - just how to manipulate it to get my work done. Working at Microsoft, I learned on the job about how to perform software testing - specifically manual UI. In addition, I picked up a lot of general information on the use of Microsoft products and devices. I also learned a lot about corporate networking. Because I served on many teams, I got to understand on a deep level the following products: My Sync II, Point of Sale OS, Hyper-V, Zune, IE, and CE OS and many portable devices over the years.
Microsoft is a big company, so my experience won't represent the company so much as just a small part of it that I worked with. My managers were all great and very helpful. Because I started after the company had matured, the managers were very good about work/life expectations. That made it a very safe environment to work in. They


The people, flexible work hours, remote from home work days, free sodas, coffee, and tea


Inconsistent work - as a contractor the waits between jobs can be too long

Working to become a hip place

Written by Master Software Engineer (Current Employee) at Capital One - Wilmington, DE – November 24, 2018

Typcial day:

7am check that the nightly process worked by check email on my phone
8 am get to the office go through all the emails that have spun to our gmail services. wading through to find the immediate required responses and filtering out the spam
write followups and forward messages
check github for checkins and reviews
work through technical requests

10 am Srum standup

10:15 Technical Follow up

11:00 check out and merge others code to local branches
do some development, answer follow up emails

12 - 12:30 lunch as desk or cafeteria

12:30 - 1 Finish some code
1 backlog meetings
2 technical meetings with other teams
3 grooming sessions
4 code or emails which ever is hotter
5 jira checkup , team followups
5:30 leave
10 pm - non automated deployments from home
11 pm 1am - verify and finish the work


Highly technical projects, intelligent co workers


Antiquated performance management pits employees against each other

Interesting Work...on the Road

Written by Senior Manager (Current Employee) at Accenture - Los Angeles, CA (home office) – July 25, 2014

Typical week:
Fly out on Monday mornings to client location and return home on Thursday evenings.

Long days - but interesting and varied work at each client.
Typical day consists of:
- Planning, scheduling and executing all phases of system implementations.
- Assessing business implications for each project phase and monitoring progress to meet deadlines, standards and cost targets.
- Building client relations with key executive stakeholders to support
- Attending regular status updates.
- Providing experience, leadership, and coaching to Accenture and client members of the team throughout the project.

Work with some very driven and bright colleagues.


Interesting work


Weekly travel (away from home 4 days / week)

Great workplace with great people

Written by Software Engineer Internship (Current Employee) at General Dynamics Information Technology - Huntsville, AL – May 8, 2018

A typical day at work is writing automated tests for the web application and army airspace management system, TAIS, and conducting reviews. Automated clicks and other user actions to test the system for defects. I learned Python and Selenium WebDriver. I also learned Extensive Testing and Rational Team Concert for source control. Management is wonderful. All of the people there are wonderful and so helpful. The hardest part of the job, which isn't often, is finding the right path to an element. The most enjoyable part of the job is getting to solve the puzzle.





Common questions about for a Software Engineer

How many vacation days do software engineers get per year?

This differs greatly between employers. Tech employers are often competing for talented software engineers and often have extremely generous policies, including unlimited paid time off.

Was this answer helpful?

What's the dress code for a software engineer?

Good software engineers are hard to find and retain, so they are often treated very well and given a lot of freedom in their choice of clothing. Extreme outfits should be avoided and some employers disallow very casual clothing like shorts or flip flops, but casual clothing that wouldn't look out of place when worn on the streets in a large city is probably ok.

Some more formal workplaces still exist. Software engineers working for large corporations or consultancies may still be required to wear more formal clothes, but suits are extremely uncommon.

Was this answer helpful?

What are the working hours for a software engineer?

Software engineering is a mixture of project work, meetings and mentoring. The meetings and mentoring require you to be present in the office, but the project work can be completed anywhere. This leads to a variety of different working hour practices across different employers. Some simply measure output, and the employee is free to arrive and leave as they please. Others require employees to arrive for a set of core hours (eg 9-5), and also measure the output.

Often, during crunch times, when a product deadline is looming, the engineering team will be expected to work harder than usual, and may end up being in the office for many more hours than contracted - they usually do not receive overtime payments for this work.

Was this answer helpful?

Can software engineers work from home?

What companies are hiring software engineers?

Is it hard to become a software engineer?

Can anyone be a software engineer?

What is the career path of a software engineer?

What does a software engineer do?

Is software engineering a good career?

Is software engineering in demand?

What does a software engineer do on a daily basis?

Where are the most software engineering jobs?

What's the difference between a software engineer and senior software engineer?

How long does it take to become a senior software engineer from a software engineer?

What is the work of a software engineer?

What do entry-level software engineers do?

Which field is the best in software engineering?

Career insights

Frequently searched careers

Registered Nurse

Police Officer

Software Engineer


Truck Driver

Administrative Assistant


Real Estate Agent

Nursing Assistant



Dental Hygienist