Providing a wide array of information services to clients requires a diverse and well-educated workforce. The majority of workers in the software publishing industry are professional and related workers, such as computer software engineers and computer programmers. This occupational group accounts for nearly 60 percent of the jobs in the industry, reflecting the emphasis on high-level technical skills and creativity. By 2012, the employment share of professional and related occupations is expected to be even greater, while the employment share of office and administrative support jobs, currently accounting for 12 percent of industry employment, is projected to fall.
Programmers write, test, and maintain the detailed instructions, called programs or software, that computers must follow to perform their functions. These programs tell the computer what to do-which information to identify and access, how to process it, and what equipment to use. Programmers write these commands by breaking down each operation into a logical sequence of steps, converting the instructions for those steps into a language that the computer understands. While some still work with traditional programming languages like COBOL, object-oriented programming languages such as C++ and Java, computer-aided software engineering (CASE) tools, and artificial intelligence tools now are being used to create and maintain programs. These languages and tools allow portions of code to be reused in programs that require similar routines. Many programmers also customize purchased software or create better software to meet a client’s specific needs.
Computer software engineers design, develop, test, and evaluate software programs and systems. Although programmers write and support programs in new languages, much of the design and development now is the responsibility of software engineers or software developers. Software engineers must possess strong programming skills, but are more concerned with developing algorithms and analyzing and solving programming problems than with actually writing code. These professionals develop many types of software, including operating systems software, network distribution software, and a variety of applications software. Computer systems software engineers coordinate the construction and maintenance of a company's computer systems, and plan their future growth. They develop software systems for control and automation in manufacturing, business, and other areas. They research, design, and test operating system software, compilers-software that converts programs for faster processing-and network distribution software. Computer applications software engineers analyze users' needs and design, create, and modify general computer applications software or specialized utility programs. They analyze user needs and develop software solutions. Video game programmers are software engineers who plan and write video game software.
Computer support specialists provide technical assistance, support, and advice to customers and users. This group of occupations includes workers with a variety of titles, such as technical support specialists and help-desk technicians. These troubleshooters interpret problems and provide technical support for software and systems. Support specialists may work either within a company or other organization or directly for a computer software vendor. They answer telephone calls, analyze problems using automated diagnostic programs, and resolve difficulties encountered by users.
Other computer specialists include a wide range of professionals who specialize in operation, analysis, education, application, or design for a particular piece of the system. Many are involved in the design, testing, and evaluation of network systems such as local area networks (LAN), wide area networks (WAN), the Internet, and other data communications systems. Specialty occupations reflect an emphasis on client-server applications and end-user support; however, occupational titles shift rapidly to reflect new developments in technology.
A growing number of marketing and sales workers also are employed in this industry. In order to compete successfully and gain customers and clients in the online world, the presentation and features of software and other content related to information technology becomes increasingly important. For example, publishers of software that provides connections to the Internet must be able to differentiate their products from those of their competitors. Marketing and sales workers are responsible for promoting and selling the products and services produced by the industry.