A
Michigan Jobs & Career Portal
service.
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.
NATURE OF THE OCCUPATION
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
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
|
|
* Modems and coding sheets
|
* 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
Career Education Consumer Report
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
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
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
ValleyJobs.com
CareerEngine
ComputerWork.com
Jobs for Programmers
National Center for Supercomputing Applications
Michigan Careers, College & Training
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 2006 were:
|
Specialty
|
Salary
|
|
Commercial Programmer (Mainframe)
|
$64,687
|
|
Commercial Programmer (Midrange)
|
$62,813
|
|
Client/Server Programmer
|
$71,548
|
|
Systems/Applications Programmer
|
$70,417
|
Programmers with a bachelor's degree who worked for the federal government started at $32,754 per year in 2006. Some Programmers with excellent academic records and high qualifying test scores started at $40,572 per year. The salaries of these federal government workers may be higher in some urban areas. Median annual earnings of all Computer Programmers were $56,472 in 2005.
Programmers working for city governments in several areas of Michigan earned (early 2006):
|
Area
|
Range
|
|
Detroit
|
$55,100 - $63,300
|
|
Kalamazoo
|
$43,795 - $63,553
|
|
Saginaw
|
$49,282 - $55,815
|
|
Grand Rapids
|
$28,000 - $60,000
|
|
Ann Arbor
|
$41,924 - $62,886
|
In the Detroit metropolitan area, the annual median salaries (early 2006) of Computer Programmers were:
|
Specialty
|
Mainframe
|
Midrange
|
|
Junior Programmer
|
$43,100
|
$48,000
|
|
Intermediate Programmer
|
$51,700
|
$73,200
|
|
Senior Programmer
|
$64,600
|
$86,700
|
Information Technology Programmers employed by the State of Michigan earned between $31,926 and $63,162 per year in mid 2006, while supervisors earned between $49,402 and $78,989.
The 2004 graduates of high school vocational education programs in Michigan who are working in jobs related to this occupation earned a beginning average of $17,597 per year in 2005.
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 455,300 Computer Programmers were employed in 2004. Employment is expected to grow more slowly than the average for all occupations through the year 2014. 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 5.4% of them were self-employed. The industry distribution for Computer Programmers looked like this:
|
NAICS Code
|
Industry
|
% Employed
|
|
541500
|
Computer systems design and related services
|
24.6
|
|
940000
|
State and local government
|
7.0
|
|
31-330
|
Manufacturing
|
6.4
|
|
561000
|
Administrative and support services
|
5.8
|
|
516890
|
Internet and other information services
|
5.2
|
|
511000
|
Publishing industries (except Internet)
|
5.0
|
|
551100
|
Management of companies and enterprises
|
4.8
|
|
518000
|
Internet service providers, Web search portals, and data processing services
|
4.8
|
|
524100
|
Insurance carriers
|
4.2
|
|
511200
|
Software publishers
|
4.1
|
|
423400
|
Professional and commercial equipment and supplies merchant wholesalers
|
3.5
|
|
522000
|
Credit intermediation and related activities
|
3.0
|
|
44-450
|
Retail trade
|
2.4
|
|
541600
|
Management, scientific, and technical consulting services
|
2.0
|
|
---
|
Others
|
17.2
|
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 14,000 Computer Programmers employed in Michigan.
Employment of Computer Programmers in Michigan is expected to grow about as fast as the average for all occupations through the year 2012. An average of 440 annual openings is expected, with 110 due to growth and 330 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 2012
|
EMPLOYMENT REGION
|
NUMBER EMPLOYED
|
PERCENT GROWTH
|
PROJECTED YEARLY JOB OPENINGS
|
|
MICHIGAN - State-wide
|
14,000
|
7.9
|
440
|
|
Ann Arbor Area
|
1,275
|
15.3
|
50
|
|
Battle Creek Area
|
160
|
3.7
|
4
|
|
Benton Harbor Area
|
175
|
0.0
|
4
|
|
Central Michigan
|
90
|
4.5
|
3
|
|
Detroit MSA
|
10,390
|
7.4
|
323
|
|
East Central Michigan
|
35
|
16.2
|
2
|
|
Flint Area
|
505
|
5.9
|
15
|
|
Grand Rapids Area
|
1,620
|
11.8
|
57
|
|
Jackson Area
|
155
|
3.9
|
4
|
|
Kalamazoo Area
|
330
|
0.0
|
8
|
|
Lansing MSA
|
740
|
11.6
|
26
|
|
Muskegon Area
|
105
|
0.0
|
3
|
|
Northeast Lower Peninsula
|
50
|
-2.0
|
1
|
|
Northwest Lower Peninsula
|
235
|
6.3
|
7
|
|
Saginaw MSA
|
250
|
-2.8
|
6
|
|
Thumb Area
|
85
|
0.0
|
2
|
|
Upper Peninsula
|
185
|
3.8
|
5
|
|
West Central Michigan
|
55
|
13.2
|
2
|
|
*NOTE: Areas may not add up to statewide total due to rounding, sampling or statistical errors, and/or confidentiality issues.
|
MSA designates a Metropolitan Statistical Area
SOURCES OF ADDITIONAL INFORMATION
Printed occupational information is available upon written request from sources below:
|
American Association for Artificial
Intelligence
445 Burgess Drive, Suite 100
Menlo Park, CA 94025
1-650-328-3123
|
Association for Computing
Machinery
1515 Broadway
New York, NY 10036
1-800-342-6626 212-626-0500
|
|
Association of Information Technology Professionals
401 North Michigan Avenue Suite 2400 Chicago, IL, 60611-4267 1-800-224-9371 or 1-312-245-1070
|
Institute for Certification of
Computing Professionals
2350 East Devon Avenue, Suite 115
Des Plaines, IL 60018-4610 1-847-299-4227
|
|
Institute of Electrical & Electronics Engineers
1730 Massachusetts Ave, N.W. Washington, DC 20036-1992 1-202-371-0101
|
Software & Information Industry Association
1090 Vermont Ave NW, Sixth Floor Washington, DC 20005-4095 1-202-289-7442
|
|
Office of Technology & Electronic Commerce (OTEC)
International Trade Administration
U.S. Department of Commerce
14th & Constitution Avenue, NW
HCHB 2003
Washington, D.C. 20230-0002
1-202-482-0216
|
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 1-217-244-0072
|
Office of Advanced Scientific Computing Research - U.S. Department of Energy
Germantown Building 1000 Independence Avenue, SW Washington, DC 20585-1290 1-301-903-7486
|
|
Michigan Careers, Colleges & Training
|
Local Military Recruiters
|
Printed occupational information is available upon written request from sources below:
Copyright © 2006 Michigan Department of Labor & Economic Growth