Browsers that can not handle javascript will not be able to access some features of this site.
Skip Navigation
Visit Michigan.gov, the official portal for the State of Michigan
Latest News from MiNewswire
Link to Governor Granholm's Web site
Michigan.gov HomeSite Map Help & Contacts State Web SitesAbout this Site
Printer Friendly Version Printer Friendly   Text Only Version Text Version Email this page Email Page
#434 - COMPUTER SOFTWARE ENGINEER

A Michigan Jobs & Career Portal service.

 

Software Engineers design, develop, and test software such as operating systems, network management, and database management software for computer firms and/or business clients in areas such as scientific research, communications, aerospace, or industrial engineering.


NATURE OF THE OCCUPATION

Software Engineers may:

Consult with key customers concerning the design and maintenance of a software system

Use scientific analysis and mathematical models to predict and measure outcome and consequences of design

Consult with hardware engineers and staff such as industrial designers and manufacturing operations personnel, to evaluate the interface between hardware and software performance of the overall system

Evaluate the interface between hardware and software and operational/performance requirements

Analyze the time and cost requirements for the development of the software

Design general computer application software such as spreadsheet, word processing, graphics, and communications software products

Design software in areas such as communication/networking, device drivers, embedded systems, graphics hardware, or games development

Use object-oriented programming to design software

Develop WAN (wide area network) or LAN (local area network) connectivity and network management software products

Develop file transfer or network protocol (instructions so that files can be transferred easily between computers that are in a "network" or linked together) such as TCP/IP or IPX/SPX

Oversee projects and supervise other workers such as programmers, analysts and technicians

Coordinate the installation of software systems

Develop test strategies or devices to test and debug new software systems

Click here  to see a video about a Software Engineer

The tools and equipment used may include:

* Computer languages

* Monitors

* Anti-span systems

* Firewalls

* Network systems

* Modems

* Reference guides and manuals

* Scanners

* CD ROM drives

* File Servers

* Diagnostic computer programs

* Printers

* PC's (with Internet access) and mainframe computers

*Personal Digital Assistants (PDAs)


OCCUPATIONAL SPECIALTIES

Software Engineers may specialize in these areas:

030.062-010 OPERATING SOFTWARE ENGINEERS consult with hardware engineers and other engineering staff to evaluate interface between hardware and software, and operational performance requirements of overall system. Formulates and design software system, consults with customers concerning maintenance and/or installation of software system.

Software Engineers research, design and develop computer software systems, in conjunction with hardware product development. They analyze software requirements to determine feasibility of design with time and cost constraints.

Occupations which involve computers and programming are often highly related to each other, with persons in one field often performing the tasks of another. You may find it helpful to explore the following Career Exploration Scripts:

433 COMPUTER (HARDWARE) ENGINEER

041 COMPUTER PROGRAMMER

144 ELECTRICAL & ELECTRONIC ENGINEER

225 INFORMATION SYSTEM MANAGER

042 COMPUTER SYSTEMS ANALYST

288 MATHEMATICIAN/STATISTICIAN

432 LOCAL AREA NETWORK ADMINISTRATOR

232 TELECOMMUNICATIONS ANALYST

439 WEB DEVELOPER

437 E-COMMERCE MANAGER


WORKING CONDITIONS AND REQUIREMENTS

Software Engineers work in pleasant offices which are well-lighted and ventilated. Much of the work is done at a computer screen using a keyboard. Most software engineers have a 40-hour work week. Some may work at home or away from the office part of the week. Software Engineers who work as consultants may travel frequently to develop software for business clients located across the country.

One of the pressures of the job is keeping current with continuously developing technologies. Companies may not feel that they are responsible for providing training for their employees to keep current with technological changes. Companies may prefer to hire outside their ranks to bring in people with newer skills and competencies. Again, this is determined by the setting.  Most  larger software and hardware companies typically pay for updating staff skills because they feel it is an advantage for their company.

Corporations are demanding that people have excellent technical skills and also some of the "soft" skills that make computer personnel more aware of business problems and business know-how. This has not resulted in a rush to hire liberal arts graduates, but rather that corporations seek out people with both types of skills. 

Software Engineers design specifications and diagrams for programmers to use. The programmer classification is the entry-level occupation while the Software Engineer is a higher skill level. Software Engineers must have the ability to produce a good design that is easy to use and efficient. Business applications programming usually involves recordkeeping for inventory or finances. For example, a manufacturing firm may need a program to keep track of where specific parts are located on the factory floor (real-time factory floor data collection), whereas an insurance company may require its form-processing software upgraded to be more efficient. Software Engineers work on graphics for business presentations, computer games, animation, or do graphics modeling for flight systems. Companies frequently need a CAD (Computer Assisted Drafting) program altered to meet their needs. Software Engineers may also provide databases that organize scientific information for research purposes.

Software Engineers duties change depending on the work environment. If they work for large software companies they will be involved in large-ranging projects, but perform a small-defined role within this type of project. For example, a Graphical User Interface Designer or GUI designer, will determine the layout of the screen and what function each pull-down menu item or button icon will perform for the user. The person that designs the computer actions that occur when information is actually entered by means of icons or menus may be an entirely different Software Engineer. A Software Engineer working within a smaller company, or a company that is not a computer company, may be the only Software Engineer and may have responsibility for the software programming needs of a large department or the entire corporation.

Software Engineers may join professional organizations such as the Association for Computing Machinery, the Association for Systems Management or the Institute for Certification of Computer Professionals. Members of such organizations pay periodic fees.

You should prefer:

  • Activities of a logical, scientific and technical nature
  • Activities which involve the use of math and statistics
  • Activities which bring recognition or appreciation from others
  • Activities which require self-motivation

You should be able to:

  • Think logically in a clear and organized manner
  • Understand and use high level mathematics
  • Compare/see differences in size/shape/form of objects/lines/figures
  • Perform a variety of duties which may change often
  • Work within precise limits or standards of accuracy
  • Rate information by using personal judgment or standards which can be measured or checked
  • Plan/direct/control an entire activity and the activities of others
  • Communicate effectively both orally and in writing
  • Make decisions
  • Analyze and solve problems based on accurate information

Math Problem You Should Be Able to Solve:

Find the derivative of the following polynomial at the indicated point y=3x^8, x=3

Reading Example You Should Be Able to Read and Comprehend:

The top-down approach starts at the top of the structure and it then proceeds to test components at lower levels in the hierarchy. Bottom-up integration requires "drivers". Top-down requires "stubs".

Writing Example You Should Be Able to Produce:

Prepare a written analysis, proposal and definition of all user requirements and testing results.

Thinking Skill You Should Be Able to Produce:

Should be able to demonstrate excellent analytical skills and be a detail oriented problem solver when testing software applications.


EDUCATION AND PREPARATION OPPORTUNITIES

NOTE: An Associate Degree (two years of study beyond high school) or a Bachelor's Degree (four years of study beyond high school) may qualify a person for this occupation.

The following education and preparation opportunities are helpful in preparing for occupations in this Career Exploration Script:

***SCHOOL SUBJECTS***

1000 COMPUTERS , 2200 MATH

***VOCATIONAL EDUCATION PROGRAMS***

There are no Vocational Education Programs related to this Career Exploration Script.

***POSTSECONDARY PROGRAMS***

214 COMPUTER SCIENCE

Programs in Computer Science, Electrical/Electronic Engineering, Mechanical Engineering, Management Information Systems, and Physics provide opportunities to gain the knowledge and skills needed for becoming a Software Engineer.

Courses vary from school to school but may include:

Algebra/Calculus

Artificial Intelligence

Physics

Robotics

Programming

Human-computer Communication

Object-Oriented Systems

Databases/Information Retrieval

Operating Systems

Computer Architecture

Data Structures/Algorithms

Software Engineering

Microprocessor Systems

Computer Networks and Interfacing

214 COMPUTER INFORMATION SYSTEMS

Programs in Computer Information Systems provide opportunities to gain the knowledge and skills necessary for employment in information systems and management positions. Information systems involve the entire spectrum of organizational activities, technology, and people. Information systems support an organization's operations, management, and decision-making functions. Individuals who teach at the secondary school level must have a Michigan Teaching Certificate.

Courses vary from school to school but may include:

Economics

On-Line Programming

System Design

Financial Management

System Analysis

Management Accounting

Management Science

System Implementation

Data Base Concepts

Computer Operating System

Management Science

Introduction to Computers

Introduction to Computers Information Systems

Search for a College and/or Instructional Program  

***APPRENTICESHIP OPPORTUNITIES***

There are no Apprenticeships related to this Career Exploration Script.

***MILITARY TRAINING PROGRAMS***

Please check the Military website at   http://www.todaysmilitary.com/

COMPUTER SYSTEMS OFFICERS

The military uses computers in almost every aspect of its operations. The services have about 24,000 computer systems specialists.  Military computers are used to process payroll and personnel information, control the targeting and firing of weapons systems, account for money, and make it easier to communicate around the world. Computer systems officers direct the operations of computer centers and are involved in the planning and development of computer systems.

What They Do

Computer systems officers in the military perform some or all of the following duties:

  • Prepare processing plans and budgets
  • Develop and monitor contracts for data processing equipment and services
  • Translate military objectives and needs into computer systems requirements
  • Design and maintain computer software and data bases
  • Plan and oversee the installation of new equipment
  • Direct teams of computer systems specialists and computer programmers

Special Requirements

A 4-year college degree in computer science, computer or industrial engineering, business administration, or related field is required to enter this occupation. Some specialties require a master's degree.

Help Attributes

Helpful attributes include:

  • Interest in working with computers
  • Interest in working with mathematical models and formulas
  • Interest in technical work

Work Environment

Computer Systems officers in the military work in offices or at computer sites on military bases or aboard ships.

Training Provided

Job training consists of 5 to 18 weeks of classroom instruction. Training length varies depending on specialty. Course content typically includes:

  • Fiscal and contract management
  • Assessment of computer equipment needs
  • Computer systems development and project management

Civilian Counterparts

Civilian computer systems officers work for a wide variety of employers, such as banks, hospitals, manufacturers, financial firms, government agencies and firms that design and test computer systems. They perform duties similar to those performed by military computer systems officers. They may also be called information systems directors, ADP or EDP managers, computer systems engineers, software engineers, or systems analysts.

Opportunities

The services have over 4,000 computers systems officers. On average, they need 150 new computer systems officers each year. After job training, computer systems officers are assigned to units where they work in teams of engineers, systems analysts, and computer programmers. With experience and demonstrated leadership, the may advance to senior management or command positions in the computer systems field.

E-Learning Courses and Programs


OPPORTUNITIES FOR EXPERIENCE AND METHODS OF ENTRY

Most employers require a bachelor's degree in computer science, electrical/electronic engineering or mechanical engineering as the minimum level of education for a Software Engineer. Internships and cooperative work/study programs are typically available through the colleges or universities. Few opportunities for exploration exist without specific training. To enter this occupation once you have completed training, apply directly to employers, locate positions through college placement offices, and consult newspaper want ads. In addition, you should access and search the Internet's on-line employment services sites such as:

Michigan Jobs & Career Portal

Michigan Talent Bank

simplyhired.com 

Indeed | one search. all jobs.  

Ziggs: Free People Search for Professionals

Classifieds Employment

MONSTER.COM

Yahoo!hotjobs

CareerBuilder

MONSTERTRAK.COM

Dice

ComputerJobs.com

USAJOBS - United States Office of Personnel Management

NationJob.com

You should also enter an electronic resume on these on-line services.


EARNINGS AND ADVANCEMENT

Earnings of Software Engineers vary with the employer and the geographic location of the company. For instance, salaries in California tend to be much higher than salaries in Florida. California, Washington and Oregon have many opportunities for Software Engineers because of the large computer firms located in these areas. Smaller companies tend to pay less than larger firms. Earnings also vary with experience, ability and education. For example, Software Engineers frequently are hired for their expertise in using specific computer programs and languages.

Nationally, in early 2008, Software Engineers had average annual earnings as follows:

Job Title

Annual Average

Junior Software Engineer

$55,000

Intermediate Software Engineer

$65,500

Senior Software Engineer

$77,400

Lead Software Engineer

$87,500

Some Software Engineers working as executives, senior staff specialists or consulting scientists earned from $103,400 to $123,600 per year in 2007. The median yearly earnings of "all" workers in the U.S. were $36,140 in 2007. In the Great Lakes area, including Michigan, earnings of Software Engineers were competitive with National earnings. For example, average annual salaries in early 2007 for Software Engineers were:

Job Title

Great Lakes Area Annual Average

Junior Software Engineer

50,000

Intermediate Software Engineer

64,200

Senior Software Engineer

76,100

Lead Software Engineer

84,100


According to a 2007 Michigan survey, Software Engineers annual salaries were:

Area

Average

Middle Range

Southeastern Michigan

$69,957

$66,012 - $90,879

Oakland County

$88,818

$65,460 - $88,160

Wayne County

$86,589

$69,706 - $94,219


Software Engineers working in the Detroit Metro Area in 2007-2008 earned the following annual salaries:

Type of Software Engineer

Average Salary

Average Salary Range

Software Quality Assurance Engineer

$64,900

$50,900 - $84,900

Embedded Software/Firmware Engineer

$71,700

$56,700 - $92,300

Web Software Engineer

$78,100

$63,400 - $91,600

Most Software Engineers receive fringe benefits such as paid vacations, holidays and sick leave; life, health, accident and disability insurance retirement and have educational reimbursement plans and stock purchases/savings plans. Benefits are usually paid for, at least in part, by the employer.

Most Software Engineers start out as trainees, co-op students during college years or work as "interns" during summer months. They may advance to Lead or Senior Software Engineers. From these positions they may advance to management or consulting.


EMPLOYMENT AND OUTLOOK

Nationally, there were about 856,800 Computer Software Engineers employed in 2006. About 506,800 were computer applications software engineers and 350,000 were computer systems software engineers.  About one third of all software engineers were employed by computer systems design and related services firms. About 1.6% of all Computer Software Engineers were self-employed. Employment is expected to increase much faster than the average for all occupations through the year 2016.. The industry distribution for Computer Software Engineers looked like this:

NAICS Code

INDUSTRY

% EMPLOYED 2006

541500

Computer systems design & related services

29.4

334000

Computer & electronic product manufacturing

9.9

520000

Finance & insurance

8.1

511200

Software publishers

6.8

516890

Internet and other information  services

5.5

518000

Internet service providers, web search portals, & data processing services

5.1

420000

Wholesale trade

4.5

990000

Government

4.5

551100

Management of companies & enterprises

3.7

517000

Telecommunications

3.1

560000

Administrative & support services

2.8

541300

Architectural, engineering, and related services

2.8

--

Others

13.8

To find employers, click Employer/Business Locator .

 

Most large companies have changed to integrated software systems (enterprise resource planning software) which coordinate all the separate computer programs that may handle a company's customer orders, inventory, shipping and other information, and replacing them with a single set of programs, which oversee all the others. This has made for an explosion in Internet-related software for business-to-business (B2B) transactions and network management. Software has been developed for remote access, wireless and portable communications. The United Statesis also the leader in the artificial intelligence (AI); computer-aided design, manufacturing, and engineering (CAD/CAM/CAE); and the networking products software market. Growth in these changing technologies will increase the demand for Software Engineers. Also new software technologies involving wireless and mobile devices and customized software will be supporting growth.

Web sites which provide information on  future jobs for IT professionals include:

There are about 14,500 Computer Software Engineers employed in Michigan. The number of Computer Software Engineers is expected to grow much faster than the average for all occupations through 2014.  About 10,000 of these Engineers were Software Applications Engineers and about 4,500 were Software Systems Engineers

For the Software Engineers who specialized in applications, an average of 440 annual openings is expected, with 340 due to growth and 100 due to replacement of those who retire, die, or leave the labor force for other reasons. (see table below).

For Software Engineers who specialized in systems, fewer openings are present in Michigan. An average of 180 openings is expected with 130 due to growth and 50 due to the replacement of those who retire, die or leave the labor force for other reasons. Additional openings will occur as workers change jobs or occupations. 

Michigan's automotive industry tends to make it a large customer. However, since the general economy has suffered, the information technology sector of the economy has also been severely affected. Companies put off large investments in software and hardware when times are challenging.  Many companies have turned to outsourcing to save on programming costs.  Because of Michigan's manufacturing base, companies need networking capabilities and software application development. Those with "soft skills" in addition to technical skills are in demand as well as those with the ability to analyze business problems. Software Engineers with experience in the very latest programming skills will be sought after.  

MICHIGAN 'S EMPLOYMENT OUTLOOK TO 2014

 

For Software Engineers who specialize in Applications only:

 

EMPLOYMENT
REGION

NUMBER
EMPLOYED

PERCENT
GROWTH

PROJECTED
YEARLY JOB
OPENINGS

 

MICHIGAN - State-wide

10,010

33.6

440

 

Ann Arbor Area

955

28.5

37

 

Battle Creek Area

110

29.5

4

 

Benton Harbor Area

80

17.7

2

 

Central Michigan

25

39.1

1

 

Detroit Area

6,900

32.1

290

 

Flint Area

95

28.0

4

 

Grand Rapids Area

900

33.6

39

 

Jackson Area

55

28.3

2

 

Kalamazoo Area

85

26.5

3

 

Lansing MSA

325

37.8

16

 

Muskegon Area

40

13.2

1

 

Northwest Lower Peninsula

85

23.0

3

 

Saginaw Area

80

15.4

2

 

Upper Peninsula

65

24.6

2

 


*NOTE:  Areas may not add up to state-wide total due to rounding, sampling or statistical errors, and/or confidentiality issues.


SOURCES OF ADDITIONAL INFORMATION

Printed Occupational information is available upon written request from the sources below:

Assn. for Computing Machinery
2 Penn Plaza
New York, N.Y. 10021-0701
(212)626-0500

(800) 342-6626

Institute of Electronics & Electrical Engineers Computer Society

1828 L. Street, N.W.,Suite 1202
Washington, DC 20036

(202)371-0101

Association of Information
Technology Professionals

Attention: Computer Careers

401 N. Michigan Ave. ,Ste.2400Chicago, IL 60611-4267
(312)245-1070
(800)224-9371

Institute for Certification of
Computer Professionals (ICCP)

2350 E. Devon Ave., Ste. 115
Des Plaines, IL 60018-4610
(847) 299-4227

(800)843-8227

Software Information Industry Assn.

1090 Vermont Ave.
6th floor
Washington, D.C. 20005
(202)289-7442

Computer and Automated Systems
Association of Society of
Manufacturing Engineers

1 SME Drive
Dearborn, MI 48121
(313)271-1500
(800)733-4763

Association for the Advancement of
Artificial Intelligence

445 Burgess Drive
Menlo Park, CA 94025-3442
(650) 328-3123

Telephone Directory Yellow Pages:
Computer Programming
Computer Software, Computer
System Designers and Consultants,
Information Systems, Marketing
Research and Analysis

American Society of Employers
Detroit Area Office:
23815 Northwestern Hwy.
Southfield, MI 48075

(248)353-4500


 

  Copyright © 2008 Michigan Department of Labor & Economic Growth

 

 


Michigan.gov Home | Help & Contacts | State Web Sites | Awards
Accessibility Policy | Privacy Policy | Link Policy | Security Policy | Michigan News | Michigan.gov Survey

Copyright © 2001-2008 State of Michigan