The rapid spread of computers and computer-based technologies over the past two decades has generated a need for skilled, highly trained workers to design and develop hardware and software and to make computer systems newer and more advanced ones. Computer scientist generally design computers and conduct research to improve their design or use, and develop and adapt principles for applying computers to new uses. Computer scientist perform many of the same duties as other computer professionals throughout a normal workday, but their jobs are distinguished by the higher level of expertise and innovation they apply to complex problems and the creation or application of new technology. Computer science includes many other occupations such as computer programmers, computer engineers, data base administrators, computer support analyst and a variety of other specialized workers. Computer programming is one of the main computer professions in the world today.
Computer programmer write, test, and maintain computer programs or software. Programmers are often categorized as technicians because of the work they do. Many programmers are involved in updating, repairing, modifying and expanding existing programs. They are often grouped into two types. These two types are Applications programmers and Systems programmers. Applications programmers usually are oriented towards business, engineering, or science. They write software to handle specific jobs within an organization such as a program used in a place of business were a lot of inventory is being taken. They may also work alone to revise existing packaged software. Systems programmers, on the other hand, maintain and control the use of computer systems software. These workers make changes in the program that determine how the network, workstations, and central processing unit of the system handles the various jobs they have to do and how they communicate with other equipment such as terminals, printers, and disk drives. Because of their knowledge of the entire computer system, systems programmers often help applications programmers determine the source of problems that may occur with program designs. In many organizations, mainly smaller ones computer programmers are referred to as programmer analyst and are responsible for both the systems analysis and the actual programming work.
Programmers in software development companies may work differently than the ones in the much smaller ones, because experts from various fields are there to aid them in their work. Much of this type of programming is in the preparation of packaged software, which is one of the most rapidly growing things in the computer industry.
Programmers generally work in offices in comfortable surroundings. Although the usually work about forty hours a week, they may work longer hours or weekends in order to meet deadlines or to fix program problems that may occur during their off hours. In Current Trends in Computer Programming: Essays and Tutorials, it is stated that "Computer programmer held about 568,000 jobs in 1996. They are employed in almost every industry, but the largest concentration is in the computer and data processing services industry, which include the writing and selling of software."(24; ch2 sec1) Large numbers of programmers can also be found working for firms that provide engineering, management services, and manufacturers of computer and office equipment, financial institution, insurance companies, educational institutions, and government agencies. A growing number of computer programmers are employed on a temporary basis, by contract, or as independent consultants as companies need an experts touch with their newer programming languages or more specialized areas. Rather than hiring programmers as permanent employees and then laying them off after a job is done, employers can contract with temporary agencies and use programmer just as long as they need them. The number of self employed computer programmers has grown to more than 20,000, because of this reason many companies are able to complete a particular job without having to train anyone. Such jobs may last anywhere from a few weeks up to a year or longer.
Training and education for programmers vary a great deal, simply because of the different things they will be needed to do when they receive a job and the changes in technology. Brookshear. J.Glenn. Computer Science: An Overview states that "Bachelor's degrees are now the most commonly required, although some companies accept programmers with only a 2-year degree or certificate. The majority of computer programmers, almost 60 percent had