There are approximately 250,300 computer programmers employed in the United States, and programmers work in locations across the country, but 38 percent work in California, Texas, New York, Illinois, and Florida.
Computer programmers work in almost every type of business and organization, including Internet service providers, manufacturing companies, telecommunications companies, data processing service firms, hardware and software companies, banks, insurance companies, credit companies, publishing houses, government agencies, and colleges and universities throughout the country. Many programmers are employed by businesses as consultants on a temporary or contractual basis.
You can look for an entry-level programming position in the same way as most other jobs; there is no special or standard point of entry into the field. Individuals with the necessary qualifications should apply directly to companies, agencies, or industries that have announced job openings through a school career services office, an employment agency, or classified ads.
College students should work closely with their schools' career services offices, since major local employers often list job openings exclusively with such offices.
If the market for programmers is particularly tight, you may want to obtain an entry-level job with a large corporation or software firm, even if the job does not include programming. As jobs in the programming department open up, current employees in other departments are often the first to know, and they are favored over nonemployees during the interviewing process. Getting a foot in the door in this way has proven to be successful for many programmers.
Programmers are ranked as junior or senior programmers (also known as lead programmers), according to education, experience, and level of responsibility. After programmers have attained the highest available programming position, they can choose to make one of several career moves in order to be promoted still higher.
Some programmers are more interested in the analytical aspect of computing than in the coding of programming. They often acquire additional training and experience in order to prepare themselves for promotion to positions as systems programmers or systems analysts. These individuals have the added responsibility of working with upper management to define equipment and cost guidelines for a specific project. They perform only broad programming tasks, leaving most of the detail work to programmers.
Other programmers become more interested in administration and management and may wish to become heads of programming departments. They tend to be more people oriented and enjoy leading others to excellence. As the level of management responsibilities increases, the amount of technical work performed decreases, so management positions are not for everyone.
Still other programmers may branch out into different technical areas, such as total computer operations, hardware design, and software or network engineering. With experience, they may be placed in charge of the data systems center. They may also decide to go to work for a consulting company, work that generally pays extremely well.
Many programmers become software application developers. These professionals devise applications, often referred to as apps, such as word processing programs, data storage programs, and spreadsheet programs that make it possible for computers to complete given tasks and to solve problems. They also design and build Web browsing applications and software applications for mobile devices such as smartphones.
Programming provides a solid background in the computer industry. Experienced programmers enjoy a wide variety of possibilities for career advancement. The hardest part for programmers usually is deciding exactly what they want to do.
Join professional associations such as the Association for Computing Machinery (ACM) to access training and networking resources, industry publications, and employment opportunities. The ACM has Special Interest Groups on Programming Languages, Software Engineering, and other fields of interest to computer programmers.
Visit the following Web sites for job listings:
Read ACM Career News at https://www.acm.org/membership/acm-careernews-archive to keep up to date on career trends and get advice on the job-search.
Attend industry conferences to network and to interview for jobs.