Computer Programmers picture    Computer Programmers image

Computer Programmers

Computer programers write, maintain and test the detailed instructions known as programs that computers follow in order to perform their functions. After the design procedure is finished the programmer has the responsibility to convert the design into a logical series of instructions for a computer to follow. The programmer selects one program language for writing the code. Computer programmers work in a variety of environments such as software companies, information technology departments, consulting companies and service firms.

Computer programmers write computer software. They create and write computer programs to store, locate and retrieve specific information, documents and data. Programmers typically write programs based on the specifications provided by systems analysts and senior programmers that have more experience. Some computer programmers specialize in a specific field and others write code for a variety of software.

Computer programmers are usually placed in one of two groups, systems programmers or application programmers. Systems programmers write computer programs to maintain and control computer systems software including database management systems, networked systems and operating systems. Systems programmers configure an operating system to work with various types of hardware and adapt an operating system to best meet a company's needs.

Application programmers write computer programs for a specific task such as for tracking inventory within a company. Sometimes they modify an existing software package or customize generic applications. Application programmers often specialize in a specific field such as business.

COBOL is a common language for business applications. It runs on midrange and mainframe computers. Java, PHP and C# are commonly used for web and business projects and Fortran is often used for science and engineering applications. C++ is commonly utilized for business and scientific projects.

Programmers usually have the skills to write in more than one type of computer language. Some programmers are known by the computer language they primarily use such as Java programmer or by the environment or function they perform such as database programmer, game programmer, web programmer or mainframe programmer.

Programs that utilize complicated mathematical formulas can take more than a year to complete. Often several programmers work together on a computer program. Some simple programs may take only a a few hours or days to write.

Responsibilities

  • Test and debug programs
  • Update and modify programs
  • Write, update and maintain programs or software packages
  • When changing source code, inform other computer programmers of the task the routine will perform
  • Consult with engineering, technical and managerial personnel
  • Compile and create documentation of program development and revisions
  • Develop detailed workflow charts and diagrams and convert them into a series of instructions using a particular computer language
  • Expand existing programs
  • Work with systems analysts and computer operators to define and fix problems in running computer programs

Job Characteristics

Most computer programmers work 40 hours per week. Working in the evenings and on the weekends may occasionally be necessary in order to meet deadlines or fix technical problems. They spend the majority of their time working with a computer terminal. Some analysts telecommute, using computers to work from remote locations. In addition, a computer programmer needs to have technical and analytical skills. They need to be detail oriented and be good at thinking logically.

Employment Outlook

According to the Bureau of Labor Statistics the growth rate for computer programmers is expected to decline by 4 percent from 2006 to 2016. Off shoring of computer programming work and Foreign Worker Visas have filled some of the demand for computer programmers.

The writing of software packages is one of the fastest growing sectors in the computer services industry. Due to the popularity of the Internet, web development is a major part of the computer programming industry. A large number of software applications are web applications.

The median annual salary for computer programmers in 2008 was $69,520. Experienced programmers may move up to a lead programmer position or to a supervisor position.

Education, Certification, and Licensing

Employers typically look for candidates that have at least a bachelor's degree in computer science, information systems or mathematics along with knowledge and skills with the major programming languages. Along with a bachelor's degree some programmers also take courses in finance, accounting and other business subjects. Most systems programmers have earned a bachelor's degree in computer science. Some computer programming positions may only require a two-year degree or a certificate.

Often employers prefer candidates that have the ability to work with database systems such as Sybase and Oracle. Traditional computer languages are still important, however employers are placing an emphasis on the newer object-oriented computer languages and tools including Java and C++. Employers are also looking for candidates that have knowledge with fourth and fifth generation languages that involve systems programming and graphic user interface.

Due to rapid changes in technology, programmers update their knowledge and skills by continually taking courses provided by their employer or software vendors or schools. Certification demonstrates a level of competence and can give a job seeker a competitive advantage. Language specific certificates and product specific certificates are available. National certification courses are provided for most of the popular computer languages such as C++, XML and Java.

Resources

Major Employers

The top job providing industries are software publishers, computer systems design and related services, hospitals, manufacturing, insurance companies, engineering firms, educational institutions and the government.

Schools for Computer Programmers are listed in the Browse Schools Section.

Computer Programmers Skills

Below are the skills needed to be computer programmers according to their importance on the scale of 1 to 5 (1 being lowest and 5 being highest) and competency level on a scale of 1 to 7 (1 being lowest and 7 being highest).

   
Skill NameImportanceCompetence
Programming4.754.88
Active Listening3.754
Complex Problem Solving3.753.88
Critical Thinking3.753.88
Quality Control Analysis3.53.5

Computer Programmers Abilities

Below are the abilities needed to be computer programmers according to their importance on the scale of 1 to 5 (1 being lowest and 5 being highest) and competency level on a scale of 1 to 7 (1 being lowest and 7 being highest).

   
Ability NameImportanceCompetence
Written Comprehension44
Near Vision3.883.88
Oral Comprehension3.884
Deductive Reasoning3.753.88
Inductive Reasoning3.753.88

Computer Programmers Knowledge

Below are the knowledge areas needed to be computer programmers according to their importance on the scale of 1 to 5 (1 being lowest and 5 being highest) and competency level on a scale of 1 to 7 (1 being lowest and 7 being highest).

   
Knowledge AreaImportanceCompetence
Computers and Electronics4.876.16
Mathematics3.534.54
Engineering and Technology3.474.15
English Language3.413.78
Customer and Personal Service3.33.08

Computer Programmers Work activities

Below are the work activities involved in being computer programmers according to their importance on the scale of 1 to 5 (1 being lowest and 5 being highest) and competency level on a scale of 1 to 7 (1 being lowest and 5 being highest).

   
Work ActivityImportanceCompetence
Interacting With Computers4.955.99
Processing Information4.595.67
Analyzing Data or Information4.525.72
Getting Information4.514.43
Making Decisions and Solving Problems4.454.98

Computer Programmers Work styles

Below are the work styles involved in being computer programmers according to their importance on the scale of 1 to 5 (1 being lowest and 5 being highest).

   
Work StyleImportance
Attention to Detail4.97
Analytical Thinking4.74
Integrity4.64
Cooperation4.56
Independence4.54

We have some additional detailed pages at the state level for Computer Programmers.

Numbers in parentheses are counts of relevant campus-based schools in the state; online schools may also be available.