Browsers that can not handle javascript will not be able to access some features of this site.
Skip Navigation
Michigan Career Portal, Dept. of Labor & Economic GrowthMichigan.gov, Official Portal for the State of Michigan
Michigan.gov Home Careers Home | Contact Us | MI Careers FAQ | State Web Sites
Printer Friendly Version Printer Friendly   Text Only Version Text Version Email this page Email Page
#041 - COMPUTER PROGRAMMER

A Michigan Jobs & Career Portal service.

 

Job Duties

Working Conditions/Requirements

Education & Preparation

Job Openings & Entry Method

Earnings & Advancement

Employment & Outlook

 

Sources of Additional Information

 

 

 

 

Computer Programmers write step-by-step instructions called programs for computers, using one of the languages developed especially for computers. These instructions tell the computer exactly what it must do to solve a problem.


JOB DUTIES

Computer Programmers may:

Consult with systems analysts to define the problem and determine the steps necessary to reach a solution

Write out the steps involved in flow chart form, English, or pseudo code

Write out details for each step in computer language and prepare the instructions for the computer

Test programs to make sure the instructions are correct

Rewrite programs if desired results are not produced

Modify existing programs to meet new requirements

Prepare an instruction sheet for computer operators

Operate computers

Document the program

Correct errors by rechecking the programs and making appropriate changes

Rewrite programs or software packages to handle specific jobs such as tracking inventory, retrieving and storing data

Click here to watch Computer Programmers at work!

The tools and equipment used may include:

* Computer servers

* Mainframe computers

* Desktop & laptop computers (with Internet access)

* Operating manuals

* Terminals

* Computer networks

* CD, DVD, & flash drives

* Magnetic tapes and discs

* Optical scanners

* High speed printers

* Serial Port Cards

* Facsimile machines

* Program and sub-program lists

* Reference materials


OCCUPATIONAL SPECIALTIES

Computer Programmers may specialize in these areas:

030.162-010 BUSINESS PROGRAMMERS convert symbolic statements of administrative data or business problems to detailed flow charts for coding into computer language. These may tell the computer how to bill customers, make up payroll, or solve administrative or other business problems.

030.162-018 ENGINEERING AND SCIENTIFIC PROGRAMMERS write programs to solve engineering, or scientific problems by applying a knowledge of advanced mathematics, such as differential equations and numerical analysis, and an understanding of a computer's capabilities and limitations.

030.162-022 SYSTEM PROGRAMMERS coordinate the installation of and test, maintain, and modify computer operating systems software, using a computer terminal. They may also create and/or maintain communications software, data base systems, compilers, assemblers, and utility computer programs.

030.162-014 PROGRAMMER-ANALYSTS plan, develop, test, and document computer programs at the request of a specific user, applying knowledge of programming techniques and computer systems.

030.167-010 CHIEF COMPUTER PROGRAMMERS plan, schedule, and direct preparation of computer programs to process data and solve problems by use of computers.

In addition to learning about these specialties, you may also find it helpful to explore the following Career Exploration scripts:


WORKING CONDITIONS AND REQUIREMENTS

Computer Programmers may work alone or as a member of a programming team under the direction of a supervisor or a more experienced Programmer, programming manager, or data processing manager. Programmers generally work in or near computer rooms, clean, well lighted and well ventilated offices.

Most Programmers work 8 hours a day, 5 days per week. Some Programmers frequently work evenings and nights when computer time is most available. In manufacturing, particularly automobile manufacturing, Computer Programmers may work evenings or night shifts to work on programs that require several hours of computer running time, such as inventory control programs for multiple plants or worldwide operations. Often overtime may be required to complete a project or to meet a deadline. Programmers are sometimes called in to work during off-shift processing to solve program problems.

Many Computer Programmers join professional associations. These include the Association of Information Technology Professionals and The Association for Computing Machinery . Members of professional associations must pay periodic membership fees.

You Should Prefer:

  • Activities of a scientific or technical nature
  • Activities which require creative imagination

You Should Be Able To:

  • Plan and control an entire activity or the activities of others
  • Rate information using personal judgment which can be checked
  • Work within precise limits or standards of accuracy
  • Use reason, logic, and procedures to break down complex problems
  • Understand the meanings of words and ideas in both speech and writing
  • Perform arithmetic operations quickly and accurately
  • See details and recognize errors in written materials

Math Problem You Should Be Able to Solve:

Show the binary (base 2) representation of the perfect number corresponding to the Mp consists of pl's followed by (p-1)O's.

Reading Example You Should Be Able to Read and Comprehend:

Should be able to read and comprehend computer terminology and procedures.

For example, a record is printed at WRITE-RTN and one is added to the COUNTER 1 thus, COUNTER 1 is equal to 1 after one record is printed. Since COUNTER 1 is not yet equal to 5, WRITE-RTN is executed again. The second line is printed, and 1 is added to COUNTER 1, giving COUNTER 1 a value of 2.

Writing Example You Should Be Able to Produce:

Write a program to determine empirically the probability that X=RND(1), Y=RND (1), and Z=1 correspond to the lengths of the sides of an obtuse triangle.

Thinking Skill You Should Be Able to Demonstrate:

Should be able to demonstrate excellent analytical skills in creating computer programs.


EDUCATION AND PREPARATION OPPORTUNITIES

NOTE: On-The-Job Training provided by the employer, a Certificate (program of up to one year of study beyond high school), 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***

0600 BUSINESS , 0700 CAREERS , 0900 COMMUNICATIONS , 1000 COMPUTERS , 1300 ENGLISH , 2200 MATH , 3300 TECHNOLOGY

***VOCATIONAL EDUCATION PROGRAMS***

015 COMPUTER PROGRAMMING

Approved vocational education programs in Computer Programming prepare students to perform tasks associated with software scripting and application development, programming languages and related technical subjects. They learn how to update existing software and customize new applications, commands and codes. Courses in other Business & Office Programs may be required for completion of this program.

High school students should consult their guidance office for more information about the specific requirements of this program at their school or area vocational education center.

Students should obtain the local Education & Training Opportunities  for information on what happens to students who successfully complete a program. This information is available at each high school or career/technical center.

***POSTSECONDARY PROGRAMS***

040 DATA PROCESSING

Programs in Data Processing provide opportunities to gain the knowledge and skills needed in a wide variety of jobs dealing with the sorting, analyzing, and processing of information using computers and other electronic and mechanical equipment. Individuals who teach Data Processing at the secondary school level must have a Michigan Teaching Certificate .

Courses within Data Processing programs will vary from school to school but may include:

Data Analysis

Principles/Purposes of Data Processing

Introduction to Computers

Database Management

Java  

Systems Design & Control

C++

Computer Operation

Algorithms

Assembler Language & Software

Report Program Generator

Database Management

215 COMPUTER SCIENCE

Programs in Computer Science provide opportunities to gain the knowledge and skills needed in a wide variety of jobs dealing with the programming, analyzing, and operation of computers and other electronic and mechanical equipment. Individuals who teach Computer Science at the secondary school level must have a Michigan Teaching Certificate .

Courses vary from school to school but may include:

Introduction to Computers

Computer Programming

Mathematics

English Composition

Statistics

Logic

Systems Design & Control

Business

Accounting

Computer Communications

Computer Operation

Data Base Management

Personal Computer Classes

Search for a College and/or Instructional Program

***APPRENTICESHIP OPPORTUNITIES***

There are no Apprenticeships related to this Career Exploration script.

***MILITARY TRAINING OPPORTUNITIES***

Please check Military website at http://www.myfuture.com.

COMPUTER PROGRAMMERS

The military is one of the largest users of data processing equipment in the world. Information about communications, personnel, finance, and supply is kept in its many high-speed computers. This information is important for planning and management. Computer programmers plan and prepare instructions which command computers to solve problems and organize data.

What They Do

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

  • Organize and arrange computer programs into logical steps which direct computers to solve problems
  • Determine and analyze computer systems requirements
  • Design, test, and debug computer programs
  • Review and update old programs as new information is received or changes are needed

Training Provided

Job training consists of 10 to 13 weeks of classroom instruction, including practice in program coding. Course content typically includes:

  • Program structuring, coding, and debugging
  • Analysis and design of computer systems
  • Preparation of block diagrams, flow charts, and program codes
  • Java, C++, Visual Basic, and other computer programming languages

Further training occurs on the job and through advanced courses in specific computer systems and languages.

Helpful Attributes

Helpful school subjects include math, business administration, and computer science. Helpful attributes include:

  • Ability to understand math concepts
  • Interest in solving problems using rules of logic
  • Interest in computers

Civilian Counterparts

Civilian computer programmers work for such organizations as manufacturing firms, banks, data processing organizations, government agencies, and insurance companies. These employers handle large amounts of information that programmers help organize for convenient use. Civilian computer programmers perform duties similar to those in the military. They may also be called computer systems analysts.

Work Environment

Computer programmers normally work in office settings. Some work aboard ships, in missile facilities, or in space command centers.

Opportunities

The military has about 4,000 computer programmers. New programmers are needed each year due to field demands. After job training, programmers are assigned to data processing units. Programmers may work alone or with systems analysts and computer operators. With experience, programmers may advance to supervisory positions, such as programming chiefs.  

E-Learning Courses and Programs

[back to top]


OPPORTUNITIES FOR EXPERIENCE AND METHODS OF ENTRY

Employers who use computers for business applications prefer applicants with a college degree in information systems with studies in accounting, finance, marketing, and other business operations. Employers of scientific or engineering programmers prefer applicants with college training or degrees in physical science, mathematics, engineering, or computer science. Several professional societies have joined to form a certification organization for computer personnel. While certification is generally not required by most employers, it is an indication of professionalism in the field.

School-to-Work opportunities include:

Informal apprenticeships

Mentorships

Job shadowing experiences

Touring a local Computer Programmer employer

Internships

Volunteer work with a Computer Programmer employer

Community service work with an agency

Experience may be gained in postsecondary computer science and data processing programs and in military service. Using a personal computer may be helpful.

Direct application to employers is the usual method of entering the occupation. Openings are found through school placement offices, professional association publications, want ads, Michigan Works! offices, and Civil Service offices. In addition, you should access and search the Internet's on-line employment services sites such as:  

Dice

ComputerJobs.com

ComputerWork.com   

Jobs for Programmers   

National Center for Supercomputing Applications

Michigan Jobs & Career Portal

Michigan Talent Bank

Monster Jobs

Career Builder

Simply Hired

Indeed | one search. all jobs.

Yahoo! hotjobs   

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


EARNINGS AND ADVANCEMENT

The earnings of Computer Programmers depend on the complexity of the work, the size of the computer installation, and geographical area. Earnings tend to be slightly higher in large urban areas.

Nationally, average annual salaries of Computer Programmers by specialty in mid 2009 were:

Specialty

Salary

Commercial Programmer (Mainframe)

$69,027

Commercial Programmer (Midrange)

$63,511

Client/Server Programmer

$67,066

Systems/Applications Programmer

$73,100

Programmers with a bachelor's degree who worked for the federal government started at $39,188 per year in 2009. Some Programmers with excellent academic records and high qualifying test scores started at $46,868 per year. The salaries of these federal government workers may vary in some urban areas. Median annual earnings of all Computer Programmers were $63,336 in 2008.

Programmers working for city governments in several areas of Michigan earned (mid 2009):

Area

Range

Detroit

$55,100 - $63,300

Kalamazoo

$44,890 - $65,142

Saginaw

$50,024 - $56,659

Grand Rapids

$30,000 - $85,000

Ann Arbor

$45,103 - $67,654

In the Detroit metropolitan area, the annual median salaries (early 2009) of Computer Programmers were:

Specialty

Mainframe/Midrange

Junior Programmer

$57,800

Intermediate Programmer

$75,400

Senior Programmer

$88,000

Information Technology Programmers employed by the State of Michigan earned between $34,911 and $64,039 per year in mid 2008, while supervisors earned between $54,037 and $86,360.

The 2007 graduates of high school vocational education programs in Michigan who are working in jobs related to this occupation earned a beginning average of $18,533 per year in 2008.

Depending on the employer, Computer Programmers may receive vacation pay, retirement plans, health and life insurance, sick leave, profit-sharing plans, and dental insurance. Some Computer Programmers may receive long-term disability insurance. Some employers may offer stock purchase/savings plans for salaried employees.

Computer Programmers may start out as trainees or may enter higher positions directly with sufficient education and/or training. Programmers advance to higher positions through a combination of experience and further education and training. Those who demonstrate work and leadership skills may advance to programming manager or systems analyst positions.


EMPLOYMENT AND OUTLOOK

Nationally, about 435,100 Computer Programmers were employed in 2006. Employment is expected to decline slowly or moderately for all occupations through the year 2016. However employment will remain steady as computer use expands, particularly in firms providing accounting and business management services and in organizations involved in research and development. About -3.9% of them were self-employed. The industry distribution for Computer Programmers looked like this:

NAICS Code

NAICS Industry Title

% Employed

541500

Computer systems design and related services

30.5

510000

Information

10.3

520000

Finance and insurance

8.8

31-33

Manufacturing

5.8

561000

Administrative and support services

5.5

6112-3

Junior colleges, colleges, universities, and professional schools, public and private

4.0

423000

Merchant wholesalers, durable goods

3.9

940000

State and local government

3.8

551100

Management of companies and enterprises

3.8

44-45

Retail trade

2.3

--

Others

21.3


 To find employers, click
Employer/Business Locator.

Employment in data processing firms is not expected to rise as fast as in recent years. Technology has reduced both the size and cost of computer hardware, bringing computer systems within reach of small businesses. As more businesses install their own computers, reliance on data processing firms will decline. Opportunities will be best for individuals with 2- or 4-year college degrees.

There are approximately 13,950 Computer Programmers employed in Michigan.

Employment of Computer Programmers in Michigan is expected to decline or decrease through the year 2016. An average of 290 annual openings is expected, with 290 due to replacement of those who retire, die, or leave the labor force for other reasons. Additional openings will occur as workers change jobs or occupations. Both new and expanded computer installations will spur growth in this occupation. The field of data communications--the effort to link computers so they can communicate with each other--also will provide many openings.

The best opportunities will be for those with a bachelor's degree in computer science or electrical engineering, and those who are familiar with a variety of programming languages, particularly those that apply to computer networking, CASE, and fourth-generation languages, Unix and open systems relational data bases, and client/server architecture. Those skilled in SAP, Oracle, PeopleSoft, Xml, Html, Java, Firewalls, Perl, Visual Basic and Visual C++; HTTP servers and search engine operations; and client/server applications development will be strongly demanded by employers.

MICHIGAN'S EMPLOYMENT OUTLOOK TO 2016

 

 

 

PROJECTED

EMPLOYMENT

NUMBER

PERCENT

YEARLY JOB

REGION

EMPLOYED

GROWTH

OPENINGS

 

 

 

 

Michigan - Statewide

13,950

-6.6

290

Ann Arbor Area

830

-7.5

17

Battle Creek Area

65

-9.0

1

Benton Harbor Area

115

-9.4

2

Central Michigan

55

-14.3

1

Detroit Area

9,260

-7.0

193

East Central Michigan

30

-3.4

1

Flint Area

200

-4.5

4

Grand Rapids Area

1,260

-6.6

26

Jackson Area

70

-11.6

1

Kalamazoo Area

375

-7.5

8

Lansing MSA

605

-8.1

13

Muskegon Area

80

-10.1

2

NorthEast Lower Peninsula

25

-7.7

1

NorthWest Lower Peninsula

240

-5.8

5

Saginaw Area

375

-3.5

8

Thumb Area

30

-9.7

1

Upper Peninsula

150

-9.3

3

West Central Michigan

60

6.6

1

 

 

 

 

Note:  Areas may not add up to state-wide total due to rounding, sampling,

 statistical error or omission due to confidentiality issues.

[back to top]


SOURCES OF ADDITIONAL INFORMATION

Association for the Advancement
of Artificial Intelligence

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

Association for Computing Machinery
2 Penn Plaza, Suite 701
New York, NY 10121-0701
(800)342-6626                                           
(212) 626-0500

Association of Information Technology Professionals
445 North Michigan Avenue                 
Suite 2400                                    
Chicago, IL, 60611-4267                           
(800) 224-9371 or (312) 245-1070

Institute for Certification of Computing Professionals
2400 East Devon Avenue, Suite 281
Des Plaines, IL 60018                             
(847)299-4227
(800) 843-8227
 

Institute of Electrical & Electronics Engineers
2001 L. Street N.W., Suite 700
Washington, DC 20036-1992                    
(202) 371-0101          

     

Software & Information Industry Association   
1090 Vermont Ave NW, Sixth Floor

Washington, DC 20005-4095                           
(202) 289-7442

Office of Technology & Electronic Commerce (OTEC)
International Trade Administration
U.S. Department of Commerce

8109 E. Jefferson Avenue
Suite 110
Detroit, MI 48214
(313) 226.3650
 

Office of Scientific and Technical Information
Energy Science and Technology Software Center

U.S. Department of Energy  
P.O. Box 1020
1 Science.Gov Way
Oak Ridge, TN 37831-1020
(865) 576-2606

National Center for Supercomputing Applications
University of Illinois at Urbana- Champaign

1205 W. Clark Street, Room 1008,MC-257
Urbana, IL 61801                                    
(217) 244-0710

Office of Advanced Scientific Computing Research
U.S. Department of Energy
             
Germantown Building                                  
1000 Independence Avenue, SW
Washington, DC 20585-1290                           
(301) 903-7486
 

Michigan Jobs & Career Portal

Local Military Recruiters

 

[back to top]


 Copyright © 2009 Michigan Department of Energy, Labor & Economic Growth


Michigan.gov Home | DeLEG Home | Careers Home | State Web Sites
Accessibility Policy | Link Policy | Privacy Policy | Security Policy | Michigan News | Michigan.gov Survey

Copyright © 2001-2008 State of Michigan