The rapid spread of computers and information technology has generated a need for highly trained workers to design and develop new hardware and software systems and to incorporate new technologies. These workerscomputer systems analysts, engineers, and scientistsinclude a wide range of computer-related occupations. Job tasks and occupational titles used to describe this broad category of workers evolve rapidly, reflecting new areas of specialization or changes in technology, as well as the preferences and practices of employers.
Systems analysts solve computer problems and enable computer technology to meet individual needs of an organization. They help an organization realize the maximum benefit from its investment in equipment, personnel, and business processes. This process may include planning and developing new computer systems or devising ways to apply existing systems resources to additional operations. Systems analysts may design new systems, including both hardware and software, or add a new software application to harness more of the computers power. Most systems analysts work with a specific type of system that varies with the type of organization they work forfor example, business, accounting or financial systems, or scientific and engineering systems. Systems development workers are also referred to as a systems developer and systems architect.
Analysts begin an assignment by discussing the systems problem with managers and users to determine its exact nature. They define the goals of the system and divide the solutions into individual steps and separate procedures. Analysts use techniques such as structured analysis, data modeling, information engineering, mathematical model building, sampling, and cost accounting to plan the system. They specify the inputs to be accessed by the system, design the processing steps, and format the output to meet the users needs. They also may prepare cost-benefit and return-on-investment analyses to help management decide whether implementing the proposed system will be financially feasible.
When a system is accepted, analysts determine what computer hardware and software will be needed to set it up. They coordinate tests and observe initial use of the system to ensure it performs as planned. They prepare specifications, work diagrams, and structure charts for computer programmers to follow and then work with them to "debug," or eliminate errors from the system.Analysts, who do more in-depth testing of products, may be referred to as software quality assurance analysts. In addition to running tests, these individuals diagnose problems, recommend solutions, and determine if program requirements have been met.
In some organizations, programmer-analysts design and update the software that runs a computer. Because they are responsible for both programming and systems analysis, these workers must be proficient in both areas. (A separate statement on
computer programmers appears elsewhere in the Handbook.) As this becomes more commonplace, these analysts increasingly work with object-oriented programming languages, as well as client/server applications development, and multimedia and Internet technology.
One obstacle associated with expanding computer use is the need for different computer systems to communicate with each other. Because of the importance of maintaining up-to-date informationaccounting records, sales figures, or budget projections, for examplesystems analysts work on making the computer systems within an organization compatible so that information can be shared. Many systems analysts are involved with "networking," connecting all the computers internallyin an individual office, department, or establishmentor externally, since many organizations now rely on e-mail or the World Wide Web. A primary goal of networking is to allow users to retrieve data and information from a mainframe computer or a server and use it on their machine. Analysts must design the hardware and software to allow free exchange of data, custom applications, and the computer power to process it all.
Networks come in many variations and network systems and data communications analysts design, test, and evaluate systems such as Local Area Networks (LAN), Wide Area Networks (WAN), Internet, Intranet, and other data communications systems. These analysts perform network modeling, analysis and planning; they may also research related products and make necessary hardware and software recommendations. Telecommunications specialists focus on the interaction between computer and communications equipment.
Computer engineers also work with the hardware and software aspects of systems design and development. They usually apply the theories and principles of science and mathematics to design hardware, software, networks, and processes and to solve technical problems. Whereas their work emphasizes the application of theory, computer engineers are also involved in building prototypes. They often work as part of a team that designs new computing devices or computer-related equipment, systems, or software. Computer hardware engineers usually design, develop, test, and supervise the manufacture of computer hardwaresuch as chips or device controllers. Software engineers, on the other hand, can be involved in the design and development of software systems for control and automation of manufacturing, business, and management processes. They may research, design, and test operating system software, compilerssoftware that converts programs for faster processingand network distribution software. Software engineers or software developers working in applications development analyze users needs and design, create, and modify general computer applications software or specialized utility programs. These professionals also possess strong programming skills, but they are more concerned with analyzing and solving programming problems than with writing code for programs. Some software engineers develop both packaged and systems software or create customized software applications for clients.
The title computer scientistcan be applied to a wide range of computer professionals who usually design computers and the software that runs them, develop information technologies, and develop and adapt principles for applying computers to new uses. Computer scientists perform many of the same duties as other computer professionals, but their jobs are distinguished by the higher level of theoretical expertise and innovation they apply to complex problems and the creation or application of new technology.
Computer scientists can work as theorists, researchers, or inventors. Those employed by academic institutions work in areas ranging from complexity theory, to hardware, to programming language design. Some work on multi-disciplinary projects, such as developing and advancing uses of virtual reality in robotics. Their counterparts in private industry work in areas such as applying theory, developing specialized languages or information technologies, or designing programming tools, knowledge-based systems, or even computer games.
Database administrators work with database management systems software and determine ways to organize and store data. They set up computer databases and test and coordinate changes to them. Since they also may design implementation and system security, database administrators often plan and coordinate security measures.
Computer support specialists provide technical assistance, support, and advice to customers and users. This group includes technical support specialists, help-desk technicians, and customer service representatives. These troubleshooters interpret problems and provide technical support for hardware, software, and systems. They answer phone calls, use automated diagnostic programs, and resolve recurrent problems. Support specialists may work within an organization or directly for a computer or software vendor. Increasingly, these technical professionals work for help-desk or support services firms, where they provide customer support on a contract basis to clients as more of this type of work is outsourced.
Other computer scientists include workers who are involved in analysis, application, or design of a particular system or piece of the system. Network or computer systems administrators, for example, design, install, and support an organizations LAN, WAN, network segment, Internet or Intranet system. They maintain network hardware and software, analyze problems, and monitor the network to ensure availability to system users. Administrators also may plan, coordinate, and implement network security measures. In some organizations, >computer security specialists may plan, coordinate, and implement the organizations information security. These and other growing specialty occupations reflect the increasing emphasis on client-server applications, the growth of the Internet, the expansion of World Wide Web applications and Intranets, and the demand for more end-user support. In addition, growth of the Internet and expansion of the World Wide Web, the graphical portion of the Internet, have generated a variety of occupations relating to design, development, and maintenance of websites and their servers. For example, webmasters are responsible for all technical aspects of a website, including performance issues such as speed of access, and for approving site content. Internet or web developers, also called web designers, are responsible for day-to-day site design and creation.
Computer systems analysts, engineers and other computer scientists normally work in offices or laboratories in comfortable surroundings. They usually work about 40 hours a weekthe same as many other professional or office workers. However, evening or weekend work may be necessary to meet deadlines or solve specific problems. Given the technology available today, telecommuting is common for computer professionals. As networks expand, more work, including technical support, can be done from remote locations using modems, laptops, electronic mail, and the Internet. For example, it is possible for technical personnel, such as computer support specialists, to connect to a customers computer remotely to identify and fix problems.
Like other workers who spend long periods of time in front of a computer terminal typing on a keyboard, they are susceptible to eye strain, back discomfort, and hand and wrist problems such as carpal tunnel syndrome or cumulative trauma disorder.
Computer systems analysts, engineers, and scientists held about 1.5 million jobs in 1998, including about 114,000 who were self-employed. Their employment was distributed among the following detailed occupations:
Computer systems analysts
Computer support specialists
All other computer scientists
Although they are increasingly employed in every sector of the economy, the greatest concentration of these workers is in the computer and data processing services industry. Firms in this industry provide nearly every service related to commercial computer use on a contract basis. Services include customized computer programming services and applications and systems software design; the design, development, and production of prepackaged computer software; systems integration, networking, and reengineering services; data processing and preparation services; information retrieval services including on-line databases and Internet services; on-site computer facilities management; the development and management of databases; and a variety of specialized consulting services. Many work in other areas, such as for government agencies, manufacturers of computer and related electronic equipment, insurance companies, financial institutions, and universities.
A growing number of computer professionals are employed on a temporary or contract basismany of whom are self-employed, working independently as contractors or self-employed consultants. For example, a company installing a new computer system may need the services of several systems analysts just to get the system running. Because not all of them would be needed once the system is functioning, the company might contract with systems analysts or a temporary help agency or consulting firm. Such jobs may last from several months up to 2 years or more. This growing practice enables companies to bring in people with the exact skills they need to complete a particular project, rather than having to spend time or money training or retraining existing workers. Often, experienced consultants then train a companys in-house staff as a project develops.
Due to the wide range of skills required, there are many ways workers enter computer-related occupations. Someone staffing a help-desk, for example, needs skills and training that differ from those of a computer engineer designing chips or a Webmaster responsible for creating and maintaining a web page. While there is no universally accepted way to prepare for a job as a computer professional, most employers place a premium on some formal college education. A bachelors degree is a prerequisite for many jobs; however, some jobs may require only a 2-year degree. Relevant work experience also is very important. For more complex jobs, persons with graduate degrees are preferred.
Computer hardware engineers usually need a bachelors degree in computer engineering or electrical engineering, whereas software engineers are more likely to hold a degree in computer science or in software engineering. Computer engineering programs emphasize hardware and may be offered as a degree option or in conjunction with electrical and electronics engineering. As a result, graduates of a computer engineering program from a school or college of engineering often find jobs designing and developing computer hardware or related equipment, even though they also have the skills required for developing systems or software. For computer science, however, there is more variation in where the department falls within an institution. Some may be part of a school or college of liberal arts while others may be within colleges of natural or applied sciences. Unless the program is part of the engineering department, the focus is on software, and graduates may work in areas of software engineering. A Ph.D., or at least a masters degree, in computer science or engineering is usually required for jobs in research laboratories or academic institutions.
For systems analyst, programmer-analyst, or even database administrator positions, many employers seek applicants who have a bachelors degree in computer science, information science, or management information systems (MIS). Management information systems programs are usually part of the business school or college. These programs differ considerably from computer science programs, emphasizing business and management oriented coursework and business computing courses.
Despite the preference towards technical degrees, persons with degrees in a variety of majors find employment in computer-related occupations. The level of education and type of training employers require depend on employers needs. One factor affecting these needs is changes in technology. As demonstrated by the current demand for workers with skills related to the Internet or World Wide Web, employers often scramble to find workers capable of implementing "hot" new technologies. Another factor driving employers needs is the time frame in which a project must be completed.
Most community colleges and many independent technical institutes and proprietary schools offer an associate degree in computer science or a related information technology field. Many of these programs may be more geared toward meeting the needs of local businesses and more occupation specific than those designed for a 4-year degree. Some jobs may be better suited to the level of training these programs offer. Computer support specialists, for example, usually need only an associates degree in a computer-related field, as well as significant hands on experience with computers.
Employers usually look for people who have broad knowledge of and experience with computer systems and technologies, strong problem solving and analysis skills, and good interpersonal skills. Courses in computer programming or systems design offer good preparation for a job in this field. For jobs in a business environment, employers usually want systems analysts to have business management or closely related skills, while a background in the physical sciences, applied mathematics, or engineering is preferred for work in scientifically oriented organizations. Art or graphic design skills may be desirable for webmasters or web developers.
Jobseekers can enhance their employment opportunities by participating in internship or co-op programs offered through their schools. Because many people develop advanced computer skills in one occupation and then transfer those skills into a computer occupation, a related background in the industry in which the job is located, such as financial services, banking, or accounting, can be important. Others have taken computer programming courses to supplement their study in fields such as accounting, inventory control, or other business areas. For example, a financial analyst proficient in computers might become a systems analyst or computer support specialist in financial systems development, while a computer programmer might move into a systems analyst job.
Computer systems analysts, engineers, and scientists must be able to think logically and have good communication skills. They often deal with a number of tasks simultaneously; the ability to concentrate and pay close attention to detail is important. Although computer specialists sometimes work independently, they often work in teams on large projects. They must be able to communicate effectively with computer personnel, such as programmers and managers, as well as with users or other staff who may have no technical computer background.
Computer engineers and scientists employed in industry may advance into managerial or project leadership positions. Those employed in academic institutions can become heads of research departments or published authorities in their field. Systems analysts may be promoted to senior or lead systems analyst. Those who show leadership ability also can become project managers or advance into management positions such as manager of information systems or chief information officer. Technical support specialists may also advance by developing expertise in an area that leads to other opportunities. For example, those responsible for network support may advance into network administration or network security. Computer professionals with work experience and considerable expertise in a particular subject area or application may find lucrative opportunities as independent consultants or choose to start their own computer consulting firms.
Technological advances come so rapidly in the computer field that continuous study is necessary to keep skills up to date. Employers, hardware and software vendors, colleges and universities, and private training institutions offer continuing education. Additional training may come from professional development seminars offered by professional computing societies.
Technical or professional certification is a way to demonstrate a level of competency or quality in a particular field. Product vendors or software firms also offer certification and may require professionals who work with their products to be certified. Many are widely sought and considered industry standards. Voluntary certification is also available through other organizations. Professional certification may provide a job seeker a competitive advantage.
Computer systems analysts, engineers, and scientists are expected to be the fastest growing occupations through 2008. Employment of computing professionals is expected to increase
much faster than average as technology becomes more sophisticated and organizations continue to adopt and integrate these technologies. Growth will be driven by very rapid growth in computer and data processing services, which is projected to be the fastest growing industry in the U.S. economy. In addition, thousands of job openings will arise annually from the need to replace workers who move into managerial positions or other occupations or who leave the labor force.
The demand for networking to facilitate the sharing of information, the expansion of client/server environments, and the need for specialists to use their knowledge and skills in a problem solving capacity will be major factors in the rising demand for computer systems analysts, engineers, and scientists. Moreover, falling prices of computer hardware and software should continue to induce more businesses to expand computerized operations and integrate new technologies. In order to maintain a competitive edge and operate more cost effectively, firms will continue to demand computer professionals who are knowledgeable about the latest technologies and able to apply them to meet the needs of businesses.
Increasingly, more sophisticated and complex technology is being made available to individual users who can design and implement more of their own applications and programs. The result is a growing demand for computer support specialists, help-desk personnel, and technical consultants. Likewise, the explosive growth in electronic commercedoing business on the World Wide Weband the continuing need to build and maintain databases that store critical information on customers, inventory, and projects is fueling demand for database administrators current on the latest technology.
New growth areas usually arise from the development of new technologies. The expanding integration of Internet technologies by businesses, for example, has resulted in a rising demand for a variety of skilled professionals who can develop and support Internet, Intranet, and web applications. The growth of electronic commerce means more establishments use the Internet to conduct their business on line. This translates into a need for information technology professionals who can help organizations use technology to communicate with employees, clients, and consumers. Explosive growth in these areas is also expected to fuel demand for specialists knowledgeable about network, data, and communications security.
As technology becomes more sophisticated and complex, employers in all areas demand a higher level of skill and expertise. Individuals with an advanced degree in computer science, computer engineering, or an MBA with a concentration in information systems should enjoy very favorable employment prospects. College graduates with a bachelors degree in computer science, computer engineering, information science, or management information systems should also enjoy favorable prospects for employment, particularly if they have supplemented their formal education with practical experience. Because employers continue to seek computer professionals who can combine strong technical skills with good interpersonal and business skills, graduates with non-computer science degrees, who have had courses in computer programming, systems analysis, and other information technology areas, should also continue to find jobs as computer professionals. In fact, individuals with the right experience and training can work in a computer-related occupation regardless of their major or level of formal education.
Median annual earnings of computer systems analysts were $52,180 in 1998. The middle 50 percent earned between $40,570 and $74,180 a year. The lowest 10 percent earned less than $32,470 and the highest 10 percent earned more than $87,810. Median annual earnings in the industries employing the largest numbers of computer systems analysts in 1997 were:
Computer and data processing services
State government, except education and hospitals
Colleges and universities
Median annual earnings of computer engineers were $61,910 in 1998. The middle 50 percent earned between $46,240 and $80,500. The lowest 10 percent earned less than $37,150 and the highest 10 percent earned more than $92,850. Median annual earnings in the industries employing the largest numbers of computer engineers in 1997 were:
Computer and office equipment
Measuring and controlling devices
Management and public relations
Computer and data processing services
Guided missiles, space vehicles, and parts
Median annual earnings of computer support specialists were $37,120 in 1998. The middle 50 percent earned between $28,880 and $48,810. The lowest 10 percent earned less than $22,930 and the highest 10 percent earned more than $73,790. Median annual earnings in the industries employing the largest numbers of computer support specialists in 1997 were:
Management and public relations
Computer and data processing services
Computer and office equipment
Professional and commercial equipment
Personnel supply services
Median annual earnings of database administrators were $47,980 in 1998. The middle 50 percent earned between $36,440 and $69,920. The lowest 10 percent earned less than $28,320 and the highest 10 percent earned more than $86,200. Median annual earnings of database administrators employed in computer and data processing services in 1997 were $49,000.
Median annual earnings of all other computer scientists were $46,670 in 1998. The middle 50 percent earned between $34,290 and $70,250. The lowest 10 percent earned less than $26,690 and the highest 10 percent earned more than $87,730. Median annual earnings of all other computer scientists employed in computer and data processing services were $46,500 and in personnel supply services, $33,600 in 1997.
Starting salaries for computer scientists or computer engineers with a bachelors degree can be significantly higher than starting salaries of bachelors degree graduates in many other fields. According to the National Association of Colleges and Employers, starting salary offers for graduates with a bachelors degree in computer engineering averaged about $45,700 in 1999; those with a masters degree, $58,700. Starting offers for graduates with a bachelors degree in computer science averaged about $44,600; in computer programming, about $40,800; in information sciences, about $38,900; and in management information systems, $41,800 in 1999. Offers for those with the bachelors degree vary by functional area for all types of employers, as shown in the following tabulation.
Hardware design and development
Software design and development
Systems analysis and design
Offers for graduates with a masters degree in computer science in 1999 averaged $51,400.
According to Robert Half International, starting salaries in 1999 ranged from $61,300 to $88,000 for database administrators, from $42,800 to $59,800 for network administrators, and from $27,000 to $46,000 for help-desk support staff. Starting salaries in software development ranged from $55,000 to $80,000 for software engineers and from $50,000 to $65,000 for software installer/developers. Salaries for Internet-related occupations ranged from $50,000 to $73,800 for security administrators, $51,500 to $73,000 for webmasters, and from $47,000 to $65,500 for web developers.