Occupations in the software publishing industry require varying levels of education. The level of education and type of training required depend on the employer’s needs. One factor affecting these needs is changes in technology. As demonstrated by the current demand for workers with skills related to the Internet and computer security, employers often scramble to find workers capable of implementing “hot” new technologies. Another factor driving employers’ needs is the timeframe within which a project must be completed.
Computer programmers commonly hold a bachelor’s degree; however, there are no universal educational requirements. Some hold a degree in computer science, mathematics, or information systems, while others have taken special courses in computer programming to supplement their study in fields such as accounting, inventory control, or other areas of business. Because employers’ needs are so varied, a 2-year degree or certificate may be sufficient for some positions so long as applicants possess the right technical skills.
Most computer software engineers have at least a bachelor’s degree and broad knowledge and experience with computer systems and technologies. Usual degree concentrations for applications software engineers are computer science or software engineering; for systems software engineers, usual concentrations are computer science or computer information systems. Graduate degrees are preferred for some of the more complex software engineering jobs.
Persons interested in becoming a computer support specialist generally need only an associate degree in a computer-related field, as well as significant hands-on experience with computers. They also must possess strong problem-solving and analytical skills as well as excellent communication skills because troubleshooting and helping others are such vital parts of the job. And because there is constant interaction on the job with other computer personnel, customers, or employees, computer support specialists must be able to communicate effectively on paper, using e-mail, or in person. They also must possess strong writing skills when preparing manuals for employees and customers. As technology continues to improve, computer support specialists must constantly strive to stay up to date and acquire new skills if they wish to remain in the field.
The size of the firm and the local demand for workers also may influence training requirements for specific jobs. Smaller firms may be willing to train informally on the job, whereas larger organizations may pay for formal training or higher education. For example, many marketing and sales workers are able to secure entry-level jobs with little technical knowledge but quickly acquire knowledge of their company’s products and services through on-the-job training. With more formal education, employees may advance to completely different jobs within the industry. Education or training in a specialty area, such as information security, may provide new opportunities for the worker and allow the establishment to offer new services.
Continuing technological advances in the computer field have led to demand for workers with a higher level of skill and expertise. Employers, hardware and software vendors, colleges and universities, private training institutions, and professional computing societies offer continuing education and professional development seminars. The Institute of Electrical and Electronics Engineers Computer Society, for example, recently created a certification process for software development professionals who possess a bachelor’s degree and work experience that demonstrates a body of knowledge, and who pass a written examination.
Software publishing offers advancement opportunities for all workers who keep up with changing technology. For example, computer support specialists may move into computer programmer positions and, later, into computer software engineer jobs. This advancement usually results from work experience and continued training and education.
Entry-level computer programmers usually start working with an experienced programmer to update existing code, generate lines of one portion of a larger program, or write relatively simple programs. They then advance to more difficult programming and may become project supervisors, or move into higher management positions within the organization. Many programmers who work closely with systems analysts advance to systems analyst positions.
Computer software engineers who show leadership ability also can become project managers or advance into management positions, such as manager of information systems or even chief information officer. Technical support specialists may advance by developing expertise in a particular program or software that can lead to opportunities as a programmer or software engineer.
Many experienced workers also have opportunities to move into sales positions as they gain knowledge of specific products and services. Computer programmers who write accounting software, for example, may use their specialized knowledge to sell such products to similar firms. Also, computer support specialists providing technical support for an operating system may eventually market that product, based on their experience and knowledge of the system.