CAREER GUIDE FOR COMPUTER PROGRAMMER

SOC Code: 15-1021

Pay Band(s): 4, 5 and 6       (Salary Structure)

Standard Occupational Description: Convert project specifications and statements of problems and procedures to detailed logical flow charts for coding into computer language. Develop and write computer programs to store, locate, and retrieve specific documents, data, and information. May program web sites.

Computer Programmer positions in the Commonwealth are assigned to the following Roles in the Information Technology Specialist Career Group:

Information Technology Specialist I

Information Technology Specialist II

Information Technology Specialist III

While Computer Programmers within the Commonwealth are all located within the Information Technology Specialist Career Group, individuals may want to pursue other opportunities within the Commonwealth depending upon individual training, education, knowledge, skills, abilities, and interests.   

Other Career Group(s) that may be of interest are:

Architecture and Engineering Services

Audit and Management Services

Computer Operations

Electronics

SKILLS, KNOWLEDGE, ABILITIES AND TASKS

(Technical and Functional Expertise)

Skills
Note: The technical and functional skills listed below are based on general occupational qualifications for Computer Programmers commonly recognized by most employers.  Typically, you will not be required to have all of the skills listed to be a successful performer.  Recruitment and selection standards for an individual state job must be based on the specific knowledge, skills, and abilities for that job as indicated in the job announcement and job description in the Employee Work Profile.

  1. Writing computer programs for various purposes.
  2. Communicating effectively in writing as appropriate for the needs of the audience.
  3. Understanding written sentences and paragraphs in work related documents.
  4. Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems.
  5. Giving full attention to what other people are saying, taking time to understand the points being made, asking questions as appropriate, and not interrupting at inappropriate times.
  6. Understanding the implications of new information for both current and future problem-solving and decision-making.
  7. Analyzing needs and product requirements to create a design.
  8. Determining causes of operating errors and deciding what to do about it.
  9. Talking to others to convey information effectively.
  10. Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions.

Knowledge
Note: The technical and functional knowledge statements listed below are based on general occupational qualifications for Computer Programmers commonly recognized by most employers.  Typically, you will not be required to have all of the knowledge listed to be a successful performer.  Recruitment and selection standards for an individual state job must be based on the specific knowledge, skills, and abilities for that job as indicated in the job announcement and job description in the Employee Work Profile.

The Knowledge of:

  1. Circuit boards, processors, chips, electronic equipment, and computer hardware and software, including applications and programming.
  2. Arithmetic, algebra, geometry, calculus, statistics, and their applications.
  3. Principles and methods for curriculum and training design, teaching and instruction for individuals and groups, and the measurement of training effects.
  4. Structure and content of the English language including the meaning and spelling of words, rules of composition, and grammar.
  5. Administrative and clerical procedures and systems such as word processing, managing files and records, stenography and transcription, designing forms, and other office procedures and terminology.
  6. Media production, communication, and dissemination techniques and methods. This includes alternative ways to inform and entertain via written, oral, and visual media.

Abilities
Note: The technical and functional abilities listed below are based on general occupational qualifications for Computer Programmers commonly recognized by most employers.  Typically, you will not be required to have all of the abilities listed to be a successful performer.  Recruitment and selection standards for an individual state job must be based on the specific knowledge, skills, and abilities for that job as indicated in the job announcement and job description in the Employee Work Profile.

The Ability to:

  1. Communicate information and ideas in speaking so others will understand.
  2. Listen to and understand information and ideas presented through spoken words and sentences.
  3. Communicate information and ideas in writing so others will understand.
  4. Read and understand information and ideas presented in writing.
  5. Apply general rules to specific problems to produce answers that make sense.
  6. Choose the right mathematical methods or formulas to solve a problem.
  7. See details at close range (within a few feet of the observer).
  8. Come up with a number of ideas about a topic (the number of ideas is important, not their quality, correctness, or creativity).
  9. Tell when something is wrong or is likely to go wrong. It does not involve solving the problem, only recognizing there is a problem.
  10. Combine pieces of information to form general rules or conclusions (includes finding a relationship among seemingly unrelated events).

Tasks
Note: The following is a list of sample tasks typically performed by Computer Programmers. Employees in this occupation will not necessarily perform all of the tasks listed.

Tasks

  1. Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
  2. Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.
  3. Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.
  4. Correct errors by making appropriate changes and then rechecking the program to ensure that the desired results are produced.
  5. Investigate whether networks, workstations, the central processing unit of the system, and/or peripheral equipment are responding to a program's instructions.
  6. Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
  7. Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer.
  8. Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.
  9. Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.
  10. Write, update, and maintain computer programs or software packages to handle specific jobs, such as tracking inventory, storing or retrieving data, or controlling other equipment.

INTERESTED?

Like people, occupations have traits or characteristics.  These characteristics give important clues about the nature of the work and work environment, and give you an opportunity to match your own personal interests to a specific occupation.  When you choose a job in an occupation that matches your own interests you have taken an important step in planning a successful and rewarding career.

The Computer Programmer occupation has Investigative, Realistic and Conventional characteristics as described below:

Investigative — Investigative occupations frequently involve working with ideas, and require an extensive amount of thinking. These occupations can involve searching for facts and figuring out problems mentally.

Realistic — Realistic occupations frequently involve work activities that include practical, hands-on problems and solutions. They often deal with plants, animals, and real-world materials like wood, tools, and machinery. Many of the occupations require working outside, and do not involve a lot of paperwork or working closely with others.

Conventional — Conventional occupations frequently involve following set procedures and routines. These occupations can include working with data and details more than with ideas. Usually there is a clear line of authority to follow.

LICENSURE, REGISTRATION, OR CERTIFICATION REQUIREMENTS

Generally this is not required for Computer Programmer positions in state government.

Certification is a way to demonstrate a level of competence, and may provide a competitive advantage. In addition to language-specific certificates that a programmer can obtain, product vendors or software firms also offer certification and may require professionals who work with their products to be certified. Voluntary certification also is available through other various organizations.

One certifying organization for Certified Computer Programmer (CCP) is the Institute for Certification of Computing Professionals: http://www.iccp.org/

The University of Virginia Training Services Group offers a Web Basic and a Web Designer certification. Their web site provides additional information: http://www.itc.virginia.edu/training

EDUCATIONAL, TRAINING, AND LEARNING OPPORTUNITIES

The Department of Labor provides the following information:

Computer programmers write, test, and maintain the detailed instructions, called programs, that computers must follow to perform their functions. They also conceive, design, and test logical structures for solving problems by computer. Many technical innovations in programming—advanced computing technologies and sophisticated new languages and programming tools—have redefined the role of a programmer and elevated much of the programming work done today. Job titles and descriptions may vary, depending on the organization. In this occupational statement, computer programmer refers to individuals whose main job function is programming; this group has a wide range of responsibilities and educational backgrounds.

Programmers write programs according to the specifications determined primarily by computer software engineers and systems analysts.

Programmers often are grouped into two broad types—applications programmers and systems programmers. Applications programmers write programs to handle a specific job, such as a program to track inventory within an organization. They may also revise existing packaged software or customize generic applications called middleware. Systems programmers, on the other hand, write programs to maintain and control computer systems software, such as operating systems, networked systems, and database systems.

Most systems programmers hold a 4-year degree in computer science. Extensive knowledge of a variety of operating systems is essential for such workers. This includes being able to configure an operating system to work with different types of hardware and having the skills needed to adapt the operating system to best meet the needs of a particular organization. Systems programmers also must be able to work with database systems, such as DB2, Oracle, or Sybase.

Employers using computers for scientific or engineering applications usually prefer college graduates who have degrees in computer or information science, mathematics, engineering, or the physical sciences. Graduate degrees in related fields are required for some jobs. Employers who use computers for business applications prefer to hire people who have had college courses in management information systems (MIS) and business and who possess strong programming skills. Although knowledge of traditional languages still is important, employers are placing increasing emphasis on newer, object-oriented programming languages and tools. Additionally, employers are seeking persons familiar with fourth- and fifth-generation languages that involve graphic user interface (GUI) and systems programming.

For skilled workers who keep up to date with the latest technology, the prospects for advancement are good. In large organizations, programmers may be promoted to lead programmer and be given supervisory responsibilities. Some applications programmers may move into systems programming after they gain experience and take courses in systems software. With general business experience, programmers may become programmer-analysts or systems analysts or be promoted to a managerial position. Other programmers, with specialized knowledge and experience with a language or operating system, may work in research and development on multimedia or Internet technology, for example.

The State Council of Higher Education lists many Virginia educational institutions offering programs in computer science on their web site: http://research.schev.edu/degreeinventory/inventory_

COMMONWEALTH COMPETENCIES

Competencies are a set of identified behaviors, knowledge, skills, and abilities that directly and positively impact the success of employees and the organization. Competencies can be observed and measured.  When consistently demonstrated, competencies make employees particularly effective in their work.  Competencies help lay out a road map to career success.  You can use the Commonwealth Competencies to help improve your individual performance by adopting behaviors that make high performing employees successful in their jobs. In this way, you can use the Commonwealth Competencies for your further professional development.

The Commonwealth Competencies are:

  1. Technical and Functional Expertise
  2. Understanding the Business     
  3. Achieving Results
  4. Serving the Customer
  5. Teamwork
  6. Interpersonal and Communication Skills
  7. Leadership and Personal Effectiveness

The above competencies may be applied to employees throughout the Commonwealth of Virginia.  They can be rank-ordered by agencies and hiring managers to represent the needs of a specific job.  The rank ordering will change depending upon the occupation, an organization's priorities, the actual job requirements, and the supervisor's preferences. 

Career success is both about what you do (applying your technical knowledge, skills, and ability) and how you do it (the consistent behaviors you demonstrate and choose to use) while interacting and communicating with others.  Hopefully, by studying the Commonwealth competencies, identifying your developmental opportunities, and working to refine your own competence, you can take charge of your career!

For additional information about the Commonwealth Competencies go to: http://jobs.state.va.us/cc_planningctr.htm.  For the competencies, we first list the competencies and then define each.  Finally, we list competency indicators; to describe what successful performance looks like. 

COMMONWEALTH CAREER PATH

Career opportunities in the Commonwealth are not limited to moving “up” to the next highest role and pay band, changing positions, or to becoming a supervisor.  That's because most roles describe a broad group of occupationally related positions that perform a range of work that requires increased knowledge and skills.  For that reason, Commonwealth roles describe the career paths within the same or higher-level role for the same or different Career Group.  The broad salary range and the Commonwealth's pay practices provide flexibility in recognizing career development and advancement. (Salary Structure)

For example: Computer Programmer

PAY BAND

PRACTITIONER ROLES

PAY BAND

MANAGER ROLES

4

Information Technology Specialist I

   

5

Information Technology Specialist II

   

6

Information Technology Specialist III

6

Information Technology Manager I

   

7

Information Technology Manger II

   

8

Information Technology Manager III

       

Sample Career Path

Information Technology Specialist I

This role provides a career track for entry-level computer programmers applying basic skills in the areas of Applications/Programming, Systems Engineering, Network Analysis, IT Analysis and Equipment and Applications Specialty. Requires knowledge or equivalent experience in the field.

Information Technology Specialist II

This role provides a career track for computer programmers applying journey to advanced skills in the areas of Applications Programming/Analysis, Network Analysis, and IT Analysis and specialist level positions in Systems Engineering.

Information Technology Specialist III

This role provides career tracks for computer programmers performing as expert in the areas of Applications Programming/Analysis, Network Analysis, IT Analysis. The first track is as a technical Consultant. The second track has Lead level responsibilities for instructing, directing, and monitoring the work of staff. These tracks can lead to supervisory responsibilities. Requires knowledge and extensive experience in computer programming. Supervisory levels also require leadership experience in the function.

Information Technology Manager I

This role provides a career track for managers in the equipment and applications specialty. They require knowledge and considerable leadership experience in computer programming.

Information Technology Manager II

This role provides a career track for managers in the field of Information Technology who have program direction with several units or sections. Directs, through subordinate supervisors, all program, operations, and staff in assigned area.  Requires knowledge and substantial leadership experience in computer programming.

Information Technology Manager III

This role provides a career track for executive director level positions in the field of Information Technology providing services to multiple state agencies in a multi-technology environment. Requires knowledge and extensive leadership experience in the functional area.

ADDITIONAL OCCUPATIONAL INFORMATION CAN BE FOUND AT: 

O*NET (Occupational Information Network)
http://online.onetcenter.org/gen_search_page

Virginia Employment Commission
http://www.alex.vec.state.va.us/

Career One Stop
http://www.careeronestop.org/

Virginia Career Resource Network
 http://www.vacrn.net/