 |
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:
- 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.
- 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)
|