California Occupational Guides

Summary Guide  (Printer Friendly)
Detailed Guide   (Printer Friendly)
   Detailed Report-Jump to: 
         Top of Page
         What Would I Do?
         Wages and Benefits
         Job Outlook
         How Do I Qualify?
         What Employers Say...
Job Search Tips

I want to: 
   Search by Topic
   Search by Keyword

 

Change Your Area:

Select your county from the list:

Change Occupation:

1. Enter a keyword and click the "GO!" button:

2. Select an occupation from the results listed
below and click the "Get Information" button.


Detailed Guide for

Computer Programmers in San Diego County

May also be called: Programmer Analysts; Programmers; Software Developers or Engineers; Mainframe Programmers; Web Programmers; and Web Application Developers.

Specialties within this occupation include: Applications Programmers and Systems Programmers.

What Would I Do?

Computer Programmers write, test, and maintain programs or software that tell the computer what to do. They convert project specifications and statements of problems and procedures into detailed, logical flow charts for coding into computer language. They develop and write computer programs to store, locate, and retrieve specific documents, data, and information. They may program Web sites.

Programmers generally know more than one programming language. Since languages use similar concepts and principles, Programmers can usually learn new languages with relative ease. Programmers may use conventional programming languages such as COBOL; an artificial intelligence language such as Prolog; an advanced object-oriented language, such as Java, C++, or ACTOR; or newer languages that work within the Microsoft.NET Framework, such as C# or Visual Basic.NET. Different programming languages are used depending on the purpose of the program. COBOL, for example, is commonly used for business applications, while Fortran is used in science and engineering. C++ is widely used for both scientific and business applications. Extensible Markup Language (XML) has become a popular programming tool for Web programmers, along with Java 2 Platform (J2EE). In addition, many programmers use computer-assisted software engineering (CASE) tools to automate much of the coding process.

Programmers use computer servers, desktop and mainframe computers, and a wide range of software in their work. They may use development environment, object or component-oriented development, compiler and decompiler, or database management system software.

Computer Programmers are frequently 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 which are frequently purchased from vendors.

Systems Programmers write programs to maintain and control computer systems software, such as operating systems, networked systems, and database systems. They change instructions to determine how the network, workstations, and central processing unit handles various jobs and communicates with peripheral equipment such as terminals, printers, and disk drives. They may use their knowledge of the entire computer system to help Applications Programmers determine the source of problems that may occur with their programs.

Important Tasks and Related Skills

Each task below is matched to a sample skill required to carry out the task.

View the skill definitions
TaskSkill Used in this Task
Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced.Deductive Reasoning
Conduct trial runs of programs and software applications to be sure they will produce the desired information and that the instructions are correct.Reading Comprehension
Compile and write documentation of program development and subsequent revisions, inserting comments in the coded instructions so others can understand the program.Near Vision
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.Programming
Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes.Active Learning
Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.Complex Problem Solving
Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic.Critical Thinking
Write or contribute to instructions or manuals to guide end users.Written Expression
Investigate whether networks, workstations, the central processing unit of the system, or peripheral equipment are responding to a program's instructions.Computers and Electronics
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.Information Ordering
Source: U.S. Department of Labor Occupational Information Network (O*NET)

Working Conditions

Computer Programmers generally work in an office environment. Most Programmers work a standard 40-hour week; however, they are known to work long hours with intense workloads and tight deadlines. The "debugging" phase of programming can be stressful. Like other workers who spend long periods in front of a computer, Programmers are susceptible to eyestrain, back discomfort, and hand and wrist problems, such as carpal tunnel syndrome. Some Programmers work alone but many are expected to work in teams and interact directly with users. Although telecommuting is already common for computer professionals, the expansion of networks makes it possible to do even more work from remote locations.

Although most Computer Programmers are not represented by unions, unionization varies by industry. Those working for government agencies may join the Service Employees International Union.

Will This Job Fit Me?

The job of Computer Programmer will appeal to those who enjoy activities that involve working with ideas, and that require an extensive amount of thinking. The Computer Programmer occupation satisfies those with investigative interests. Investigative occupations involve searching for facts and figuring out problems. Results-oriented individuals who are independent workers and like making decisions should enjoy this type of job.

What Wages and Benefits Can I Expect?

Wages

The median wage in 2015 for Computer Programmers in California was $87,201 annually, or $41.93 hourly. The median wage for Computer Programmers in San Diego County was $79,232 annually, or $38.09 hourly. The median is the point at which half of the workers earn more and half earn less.

Change to Hourly Wages
Annual Wages for 2015Low
(25th percentile)
Median
(50th percentile)
High
(75th percentile)
California$64,346$87,201$115,207
San Diego County$62,886$79,232$105,473
Source: EDD/LMID Occupational Employment Statistics Survey, 2015 Wages do not reflect self-employment.
View Wages for All Areas

Benefits

Most companies offer benefit packages that include sick leave, vacation, holidays, retirement, and stock-option plans.

What is the Job Outlook?

Job growth for Computer Programmers is expected to be much slower than that of other computer professionals. Many factors are contributing to the slow growth. As a result of technological changes in the programming world, fewer Programmers are needed to do routine work while more functions are being transferred to other types of information workers, such as Computer Software Engineers. The outsourcing of these jobs to other countries is also limiting growth. College graduates with knowledge of, and experience working with, a variety of programming languages and tools, should find the best opportunities.

Projections of Employment

In California, the number of Computer Programmers is expected to grow slower than average growth rate for all occupations. Jobs for Computer Programmers are expected to increase by 12.0 percent, or 4,800 jobs between 2012 and 2022.

In San Diego County, the number of Computer Programmers is expected to grow at an average rate compared with the total for all occupations. Jobs for Computer Programmers are expected to increase by 17.0 percent, or 540 jobs between 2012 and 2022.

Estimated Employment and Projected Growth
Computer Programmers
Geographic Area
(Estimated Year-Projected Year)
Estimated
Employment
Projected
Employment
Numeric
Change
Percent
Change
Additional Openings
Due to Net
Replacements
California
(2012-2022)
39,90044,7004,80012.010,400
San Diego County
(2012-2022)
3,1703,71054017.0830
Source: EDD/LMID Projections of Employment by Occupation
View Projected Growth for All Areas

Annual Job Openings

In California, an average of 480 new job openings per year is expected for Computer Programmers, plus an additional 1,040 job openings due to net replacement needs, resulting in a total of 1,530 job openings.

In San Diego County, an average of 54 new job openings per year is expected for Computer Programmers, plus an additional 83 job openings due to net replacement needs, resulting in a total of 137 job openings.

Estimated Average Annual Job Openings
Computer Programmers
Geographic Area
(Estimated Year-
Projected Year)
Jobs From GrowthJobs Due to
Net Replacements
Total Annual
Job Openings
California
(2012-2022)
4801,0401,530
San Diego County
(2012-2022)
5483137
Source: EDD/LMID Projections of Employment by Occupation
View Data for All Areas

How Do I Qualify?

Education, Training, and Other Requirements

Although most Programmers have a bachelor’s degree, some employers will accept an associate’s degree or certificates. Because programming tasks are becoming more complex, employers are beginning to require a four-year degree. Employers hiring Programmers for scientific or engineering applications prefer college graduates with a degree in computer or information science, mathematics, engineering, or the physical sciences. Companies that use their systems for business applications favor college graduates with a concentration in management information systems (MIS), or business. Some employers within this industry require a master's degree.

Experience

Candidates need substantial specialized experience or expertise to demonstrate programming knowledge. Employers place increasing emphasis on a candidate's experience with newer, object-oriented programming languages and tools such as C++ and Java. In addition, they prefer candidates who have knowledge of newer, domain-specific languages that apply to computer networking, database management, and Internet application development. Employers also seek candidates with knowledge of fourth-generation or fifth-generation languages that involve graphic user interface (GUI) and systems programming. Systems Programmers need an extensive knowledge of a variety of operating systems like Windows NT or UNIX and database systems, such as DB2, Oracle, SQL, or Sybase.

Early Career Planning

High school students interested in this kind of work should take classes in mathematics, computer science, language arts, business, physical science, and engineering technology.

Work Study Programs

Students can improve their job prospects by participating in a college work-study program or internship. There may also be Regional Occupational Programs available for this occupation. To find an ROP program near you, go to the California Association of Regional Occupational Centers and Programs Web site.

Continuing Education

Computer Programmers must continuously update their skills and knowledge due to the ever-changing programming field. Employers, hardware and software vendors, colleges and universities, and private training institutions offer continuing education. Professional seminars can also enhance skills and advancement opportunities.

Certification

Professional certification is becoming more common in this occupation. Candidates can demonstrate programming knowledge by becoming certified in a programming language such as C++ or Java. Product vendors or software firms also offer certification and may require those who work with their products to be certified. For more information, go to the U.S. Department of Labor's Career InfoNet Web site and scroll down to "Career Tools." Click on "Certification Finder" and follow the instructions to locate certification programs.

Where Can I Find Training?

There are two ways to search for training information:

Contact the schools you are interested in to learn about the classes available, tuition and fees, and any prerequisite course work.

Where Would I Work?

Computer Programmers work in a variety of industries. The largest industries employing Computer Programmers are as follows:

Industry TitlePercent of Total Employment for Occupation in California
Computer Systems Design and Rel Services 42.9%
Software Publishers 5.8%
Management & Technical Consulting Svc 3.2%
Employment Services 3.2%
Scientific Research and Development Svc 2.6%
Source: EDD/LMID Staffing Patterns

Finding a Job

Networking is important in this occupation, since many Computer Programmers find work through referrals and word of mouth. Direct application to employers is also an effective job search method. Online job opening systems include JobCentral at www.jobcentral.com and CalJOBSSM at www.caljobs.ca.gov.

To find your nearest One-Stop Career Center, go to Service Locator. View the helpful job search tips for more resources. (requires Adobe Reader).

Yellow Page Headings

You can focus your local job search by checking employers listed online or in your local telephone directory. Below are some suggested headings where you might find employers of Computer Programmers.

  • Computer Network Design & Systems
  • Computer Software Publishers & Developers
  • Computers-Software & Services
  • Computers-System Designers & Consultants
  • Schools-Colleges & Universities

Find Possible Employers

To locate a list of employers in your area, go to "Find Employers" on the Labor Market Information Web site:

  • Select one of the top industries that employ the occupation. This will give you a list of employers in that industry in your area.
  • Click on "View Filter Selections" to limit your list to specific cities or employer size.
  • Click on an employer for the street address, telephone number, size of business, Web site, etc.
  • Contact the employer for possible employment.

Where Could This Job Lead?

For experienced workers, the prospects for advancement are good. In large organizations, Computer Programmers may be promoted to Lead Programmers and be given supervisory responsibilities or may move into Project Management. Some Applications Programmers become Systems Programmers after they acquire additional experience and complete courses in systems software. Both Applications Programmers and Systems Programmers may become Systems Analysts or be promoted to managerial positions. Other Programmers, with specialized knowledge and experience with a language or operating system, may work in research and development for multimedia or Internet technology and may become Computer Software Engineers. As employers increasingly contract with outside firms for programming jobs, those with expertise in a specific area may find opportunities as consultants.

Related Occupations

Below is a list of occupations related to Computer Programmers with links to more information.

OccupationOccupational
Guide
Industry
Report
Occupational
Profile
Computer and Information Systems ManagersGuide
Computer Science Teachers, PostsecondaryProfile
Software Developers, ApplicationsGuide
Software Developers, Systems SoftwareGuide
Computer Systems AnalystsGuide
Database AdministratorsGuide
Operations Research AnalystsProfile

Other Sources

These links are provided for your convenience and do not constitute an endorsement by EDD.

For the Career Professional

The following codes are provided to assist counselors, job placement workers, or other career professionals.

SystemCode
SOC - Standard Occupational Classification15-1131
O*NET - Occupational Information Network
   Computer Programmers15-1131.00
   Interest Codes (RIASEC)ICR
CIP - Classification of Instructional Programs
   Computer Programming/Programmer, General 110201
   Computer Science.110701
   Web Page, Digital/Multimedia & Information Resources Design 110801
   Computer Graphics 110803
   Web/Multimedia Management and Webmaster 111004
   E-Commerce/Electronic Commerce 520208
TOP - Taxonomy of Programs (California Community Colleges)
   E-Commerce (business emphasis)050970
   Website Design and Development061430
   Computer Graphics and Digital Imagery061460
   Computer Science (transfer)070600
   Computer Software Development070700
   Computer Programming070710
   World Wide Web Administration070900
   E-Commerce (technology emphasis)070910