Computer Software Engineering Career and Job Highlights
Computer Software Engineering Career Overview
The world has felt a the explosive impact of computers and the IT industry in its very core and the increasing need for computers in the daily life of people has made it imperative that new designs and new computer software systems be developed so that advancing technology can be applied in a growing range of applications. The work assigned to people who are called computer software engineers evolves very fast, which reflects the changes in technology as well as the increase of new specializations which keep cropping up in this field along with the preferences and practices of employers. The principles and knowledge of computer science, engineering, and mathematical analysis are employed by computer software engineers for designing, developing, testing, and evaluating the software and the systems that computers use to carry out various applications.
Software engineers who work in applications or systems development are engaged in analyzing user needs and designing, constructing, testing, and maintaining computer applications software or systems. Various kinds of software like software for operating systems and network distribution, and compilers, which convert programs for execution on a computer, are developed by a software engineer. In the programming or coding fields, software engineers give instructions to a computer, line by line; on how on perform a function or operation. These engineers are also geared to tackle technical problems and hitches. Although these engineers need to possess string programming skills, they are more occupied with the development of algorithms and in analyzing and solving problems in programming than with writing codes.
Computer Applications Software Engineers
Computer applications software engineers are engaged in analyzing user needs as well as designing, constructing, and maintaining computer applications software and specialized utility programs. Various programming languages are used by these engineers, which are chosen regarding the required purpose for which a computer program would be used. C and C++ are the programming languages that are most commonly while Java, with Fortran and COBOL are used less extensively. Either packaged systems and software systems or specific customized applications are designed and developed by software engineers.
Computer Systems Software Engineers
Computer systems software engineers are involved in coordinating the construction of the computer systems of an organization, maintaining them and planning their future growth. They work with a particular company and coordinate the needs and demands of the computer needs of every department by ordering, inventory, billing, and payroll recordkeeping. Suggestions are also made about a computer systems’ technical direction. A company’s intranet (the network which links computers inside a organization and ease communication among the various departments) is also constructed by these engineers.
Systems software engineers work for companies that need configuration, implementation, and installation of complete computer systems. These engineers may also be part of the marketing or sales staff, and serve as the chief technical resource for these sales officers, staff, as well as customers. They may even engage in product sales and provide continued technical support to the buyers and consumers.
Computer software engineers are usually a part of the team that designs and develops advanced hardware, software, and systems. Thus, until a finished product is developed and released, workers from various branches including those of engineering, marketing, production and design collaborate with each other, of which computer engineers are a basic part.
In 2002, computer software engineers had around 675,000 jobs. Around 394,000 were computer applications software engineers while about 281,000 were computer systems software engineers. Though these engineers are employed in every industry, the largest concentration of computer software engineers (about 30 percent) is in computer systems design and related services. A large number of computer software engineers are also hired by other industries that include government agencies, producers of computers and related electronic equipment, as well as colleges and universities.
The employers of computer software engineers cover startup companies to established industry leaders and thus include a large number of clientele. As the use of the Internet, e-mail, and other communications systems increases, firms from electronics to engineering which were traditionally associated as unrelated disciplines will expand, hiring more and more such engineers. Engineering firms specializing in building bridges and power plants, for example, also hire computer software engineers for designing and developing advanced geographic data systems and automated drafting systems. Communications industries also require computer software engineers, with whose help the personal communications market could be tapped into. The major communications companies have many job opportunities for both computer software applications and computer systems engineers.
A growing number of computer software engineers are also employed on a temporary or contract basis (with many being self-employed) who work on their own as consultants. Some of these consultants work for firms that specialize in the development and maintenance of the client companies’ Web sites and intranets. Consulting opportunities for software engineers are expected to increase because businesses need help to manage, upgrade, and customize increasingly complex computer systems. In 2002, around 21,000 computer software engineers were self-employed.
Sotware Engineering Career Training & Job Qualifications
Most employers have a preference for candidates who have at least a bachelor's degree, a broad knowledge, and experience with a variety of computer systems and technologies. The common degree concentrations for applications software engineers are computer science or software engineering; for systems software engineers it is computer science or computer information systems. A Graduate degree is preferred for some of the more complex work.
The academic programs in software engineering emphasize software and might be offered either as a degree option or in conjunction with computer science degrees. The increase of emphasis on computer security proves that software engineers with advanced degrees, including mathematics and systems design, will be sought after by software developers, government agencies, and consulting firms which specialize in information assurance and security. Candidates who seek software engineering jobs will enhance their employment opportunities by participation in internship or co-op programs which are offered through their schools. These experiences will provide the students with both theoretical knowledge and experience, making them more attractive candidates for employers though inexperienced college graduates will usually be hired by large computer and consulting firms which train new hires in intensive, company-based programs. Many firms mentor the new employees are mentored and the mentors usually have an input into the new hires’ evaluations.
For systems software engineering jobs which need professionals who have a college degree, a bachelor’s degree in computer science or computer information systems is common. For systems engineering jobs which place less emphasis on employees having a computer-related degree, computer training program which lead to a certification are offered by systems software vendors, including Microsoft, Novell, and Oracle. These programs usually extend from 1 to 4 weeks, but the worker is not required to attend the classes in order to sit for a certification exam; many study guides and materials are also available which help students prepare for the exams. However, many training authorities are of the view that that program certification alone is not sufficient for most software engineering jobs.
That is the reason that professional certification is now being offered by the Institute of Electrical and Electronics Engineers (IEEE) Computer Society. In order for a candidate to be classified as a Certified Software Development Professional, he needs a bachelor's degree as well as work experience which shows a person’s mastery of a relevant body of knowledge, and they must pass a written exam.
The people who are interested in jobs as computer software engineers require strong problem-solving and analytical skills. They must also have good communication skills so that they can efficiently interact with team members, other staff, and the customers they meet. Also, a good deal of concentration as well as an eye for detail is required of these candidates because they often deal with a number of tasks simultaneously.
Like in most occupations, the opportunities for promotions for computer software engineers directly relate to experience. The entry-level computer software engineers are likely to test and verify ongoing designs and as they gain more experience, they may be involved in designing and developing software. Eventually, these engineers may advance to become project managers, managers of information systems, or chief information officers. Some computer software engineers with an experience and expertise of several years may be offered lucrative opportunities to work as systems designers or independent consultants or may start their own computer consultation firms.
These days, because of the rapid technological advances in the computer field, employers always demand new skills. Thus computer software engineers must continually strive to keep abreast of the changes in this dynamic field and upgrade the level of their knowledge and skill. In order to help them keep up-to-date with the advancing technology, continuing education and professional development seminars are offered by employers and software vendors, colleges and universities, private training institutions, and professional computing societies.
Computer Software Engineering Job and Employment Opportunities
Computer software engineers are projected to be one of the fastest growing occupations from 2002 to 2012. Rapid employment growth in the computer systems design and related services industry, which employs the greatest number of computer software engineers, should result in highly favorable opportunities for those college graduates with at least a bachelor’s degree in computer engineering or computer science and practical experience working with computers. Employers will continue to seek computer professionals with strong programming, systems analysis, interpersonal, and business skills.
Despite the recent downturn in information technology, employment of computer software engineers is expected to increase much faster than the average for all occupations, as businesses and other organizations adopt and integrate new technologies and seek to maximize the efficiency of their computer systems. Job growth will not be as rapid as during the previous decade however, as the software industry begins to mature and as routine software engineering work is increasingly outsourced overseas. Competition among businesses will continue to create an incentive for increasingly sophisticated technological innovations, and organizations will need more computer software engineers to implement these changes. In addition to jobs created through employment growth, many job openings will result annually from the need to replace workers who move into managerial positions, transfer to other occupations, or leave the labor force.
Demand for computer software engineers will increase as computer networking continues to grow. For example, the expanding integration of Internet technologies and the explosive growth in electronic commerce—doing business on the Internet—have resulted in rising demand for computer software engineers who can develop Internet, intranet, and World Wide Web applications. Likewise, expanding electronic data-processing systems in business, telecommunications, government, and other settings continue to become more sophisticated and complex. Growing numbers of systems software engineers will be needed to implement, safeguard, and update systems and resolve problems. Consulting opportunities for computer software engineers also should continue to grow as businesses seek help to manage, upgrade, and customize their increasingly complex computer systems.
New growth areas will continue to arise from rapidly evolving technologies. The increasing uses of the Internet, the proliferation of Web sites, and “mobile” technology such as the wireless Internet have created a demand for a wide variety of new products. As individuals and businesses rely more on hand-held computers and wireless networks, it will be necessary to integrate current computer systems with this new, more mobile technology. Also, information security concerns have given rise to new software needs. Concerns over “cyber security” should result in businesses and government continuing to invest heavily in security software that protects their networks and vital electronic infrastructure from attack. The expansion of this technology in the next 10 years will lead to an increased need for computer engineers to design and develop the software and systems to run these new applications and that will allow them to be integrated into older systems.
As with other information technology jobs, employment growth of computer software engineers may be tempered somewhat by an increase in contracting out of software development abroad. Firms may look to cut costs by shifting operations to foreign countries with highly educated workers who have strong technical skills.
Historical Earnings Information
In 2002, the median salaries received by computer applications software engineers annually, who hired as full time workers were around $70,900. The middle 50 percent received salaries that lay between $55,510 and $88,660. The lowest 10 percent earned below $44,830, while the highest 10 percent received above $109,800. In 2002, the median salaries paid by the industries that hired the largest numbers of computer applications software engineers on an annual basis were:
In 2002, the median salaries received by computer systems software engineers annually, who were hired on a full time basis, were around $74,040. The middle 50 percent received salaries that lay between $58,500 and $91,160. The lowest 10 percent received waged which were below $45,890, while the highest 10 percent received wages above 111,600. In 2002, the industries which hired the largest numbers of computer systems software engineers paid median annual salaries like shown below:
In a 2003, salary survey conducted by the National Association of Colleges and Employers, computer engineers with a bachelor’s degree were offered starting wages of $51,343 on an average, and those with a master’s degree earned around $64,200. Graduate students with a bachelor’s degree in computer science received $47,109 as salaries on an average.
In a Robert Half International salary survey in 2003, software engineers in software development received starting offers that lay between $64,250 to $97,000.
Apart from the usual benefits and job perks, computer software engineers may also be given the option of sharing company profits and stock and be provided with a company car with a mileage allowance.