Computer Programmer
      

Occupation Overview

Computer Programmers write the detailed instructions that tell computers what to do. Programming is the Information Technology (IT) occupation with the highest demand, and in good economic times there are opportunities in almost every industry and there are many programming jobs available in the Bay Area.

Depending on their interests, Computer Programmers can specialize in a number of diverse areas including databases, computer games, operating systems, networking, graphical user interfaces, and financial applications. Computer programmers typically know multiple programming languages and have experience with multiple operating systems.

Internet skills have become critical to succeed in this occupation. The Internet is where programmers will find software updates and patches, where they find tools, tips and techniques to do their job, and how they often exchange information with other programmers. Furthermore, much of the software developed today is developed to interact with the Internet in one way or another.

Other titles for this occupation include Application Engineer, and Software Engineer. Internet-related programming is described in the Web Designer section of this career guide.

    
 

Future Growth Opportunities

Opportunities for Advancement:
Technical Lead, Systems Analyst, Software Architect, Project Manager, Software Development Manager, and R&D Manager.

Skills Transferable to:
Technical Marketing Engineer, Technical Support Engineer, System Administrator, and Web Page Designer.

    
 

Job Descriptions

Computer Programmers perform several tasks, and any individual programmer would perform one or more of the following activities. Programmers design the way the software interacts with users, determining what inputs the program will take and what results will be displayed to the user. Once this external design is complete, the internal behavior of the software is defined and the software program is written. This is followed by testing the software (to make sure it functions properly) and fixing any "bugs." Computer Programmers will also either write a description of how the software works or provide input to others (Technical Writers) who write the documentation.

Computer Programmers typically specialize in one of two broad categories of software:

  1. Application Software is what most people are familiar with. Application software includes programs like computer games, MS Word, Quicken, Lotus 1-2-3, Oracle, and TurboTax.

  2. System Software provides the interface between the computer hardware and software applications. Systems software includes device drivers, utilities, networking software, compilers, and operating systems such as MS Windows, MacOS, and Unix.

Beginning Programmers might support an existing program rather than develop new software. This can include fixing problems, serving as the "lab" contact for the sales and technical support people within the company, and helping your company's field personnel solve problems encountered while installing the software at a customer site.

Technical Leads provide the technical direction for their team and assist the other team members with technically complex issues. They also evaluate new tools and technologies.

Project Managers lead and manage a team of software engineers and interface with other departments such as marketing and quality assurance.

With companies turning more and more to contractors to supplement their permanent workforce, contract jobs are usually available for experienced programmers.

Entry Level: $6 - 29 / hour ($20 / hour average)

Experienced, New to Job: $8 - 52 / hour ($31 / hour average)

Experienced in Job: $10 - 61 / hour ($40 / hour average)

<<Back To Top>>
 
Site Designed by RKS Marketing