Computer Software Engineer

Overview and Key Facts

people sitting at computer

Education
Bachelor's degree

Median Pay
$107,510

Job Growth
21.50%
(Above US Average)

Jobs in 2029
1,785,200

What Do They Do?

A computer software engineer could...

Overview
Listen to this section

Are you interested in developing cool video game software for computers? Would you like to learn how to make software run faster and more reliably on different kinds of computers and operating systems? Do you like to apply your computer science skills to solve problems? If so, then you might be interested in the career of a computer software engineer.
Software Engineer
In this video, Jessica Mong explains how fixing a broken computer when she was a child in Nigeria eventually inspired her to earn a computer engineering scholarship in the U.S. and start her career as a software engineer.

Do You Have the Skills and Characteristics of a Computer Software Engineer?


  1. Programming: ?
  2. Active Listening: ?
  3. Complex Problem Solving: ?
  4. Critical Thinking: ?
  5. Original Thinking: ?

Core Tasks

Think about if you'd like the typical tasks a Computer Software Engineer might do:
  • Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
  • Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
  • Confer with data processing or project managers to obtain information on limitations or capabilities for data processing projects.
  • Confer with systems analysts, engineers, programmers and others to design systems and to obtain information on project limitations and capabilities, performance requirements and interfaces.
  • Consult with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
  • Coordinate installation of software system.
  • Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcomes and consequences of design.
  • Determine system performance standards.
  • Develop or direct software system testing or validation procedures, programming, or documentation.
  • Modify existing software to correct errors, adapt it to new hardware, or upgrade interfaces and improve performance.
  • Monitor functioning of equipment to ensure system operates in conformance with specifications.
  • Obtain and evaluate information on factors such as reporting formats required, costs, or security needs to determine hardware configuration.
  • Prepare reports or correspondence concerning project specifications, activities, or status.
  • Recommend purchase of equipment to control dust, temperature, or humidity in area of system installation.
  • Specify power supply requirements and configuration.
  • Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
  • Supervise and assign work to programmers, designers, technologists, technicians, or other engineering or scientific personnel.
  • Supervise the work of programmers, technologists and technicians and other engineering and scientific personnel.
  • Train users to use new or modified equipment.

Salary & Job Openings

Steps to Get There: Becoming a Computer Software Engineer

Try it Out with an Activity or Project

On the Job

More Information

Please create a free account to view this career and access our full library of over 160 STEM careers.

Students    Teachers / Parents

With a free account you will have access to our full library of over 160 STEM careers. Each career profile includes detailed information to help you learn about a career and the requirements to get there. You can explore:

  • salary information by state
  • recommended high school coursework
  • fun projects and activities to test out a career
  • videos and interviews with professionals in the field
  • details on what a day on the job is like
Top
Free science fair projects.