Occupational Guides banner
Detailed Guide for

Computer Programmers in San Bernardino 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.

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) at online.onetcenter.org

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?


The median wage in 2022 for Computer Programmers in California is N/A annually. The median is the point at which half of the workers earn more and half earn less.

Annual Wages for 2022Low
(25th percentile)
(50th percentile)
(75th percentile)
Source: EDD/LMID Occupational Employment Statistics Survey, 2022 at www.labormarketinfo.edd.ca.gov/data/wages.html Wages do not reflect self-employment.


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 decline between 2018 and 2028.

In the Inland Empire Area, the number of Computer Programmers is expected to decline between 2018 and 2028.

Estimated Employment and Projected Growth
Computer Programmers
Geographic Area
(Estimated Year-Projected Year)
Total Job
Inland Empire Area
Source: EDD/LMID Projections of Employment by Occupation at www.labormarketinfo.edd.ca.gov/data/employment-projections.html
The Inland Empire Area includes Riverside and San Bernardino counties.

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.


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 at www.carocp.org/carocps.html.

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.


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 at www.acinet.org and scroll down to "Career Tools." Click on "Certification Finder" at www.acinet.org/certifications_new/default.aspx and follow the instructions to locate certification programs.

Where Can I Find Training?

There are two ways to search for training information at www.labormarketinfo.edd.ca.gov/resources/training-and-apprenticeships.html

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 Services38.4%
State Government7.2%
Scientific Research and Development Svc6.9%
Software Publishers5.3%
Management of Companies and Enterprises3.3%
Source: EDD/LMID Staffing Patterns at www.labormarketinfo.edd.ca.gov/data/employment-projections.html

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.

Find Possible Employers

To locate a list of employers in your area, use "Find Employers" on the LaborMarketInfo Web site at http://www.labormarketinfo.edd.ca.gov/aspdotnet/databrowsing/empMain.aspx?menuChoice=emp

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.

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.

SOC - Standard Occupational Classification at www.bls.gov/soc/15-1131
O*NET - Occupational Information Network at online.onetcenter.org/
   Computer Programmers15-1131.00
   Interest Codes (RIASEC) at online.onetcenter.org/find/descriptor/browse/Interests/#curICR
CIP - Classification of Instructional Programs at nces.ed.gov/pubs2002/cip2000/
   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 at www.ccccurriculum.info/ (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

The California Occupational Guides are a product of:
The California Employment Development Department
Labor Market Information Division

Printed on Friday, August 12, 2022